aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Dal'Ava Junior <alfredo@FreeBSD.org>2022-05-03 11:09:38 +0000
committerAlfredo Dal'Ava Junior <alfredo@FreeBSD.org>2022-05-03 11:09:38 +0000
commitf9ee4156741a205c93ae947595b5c48717107d9e (patch)
tree8127eb5496f4164d1d4e76a78f4aef684ce0ce55
parentc7904405a8d47f64c3b0e73158572e2dc8ef0217 (diff)
downloadsrc-f9ee4156741a205c93ae947595b5c48717107d9e.tar.gz
src-f9ee4156741a205c93ae947595b5c48717107d9e.zip
build target triple variable from sys/conf/newvers.sh
Retrieve FreeBSD revision number directly from sys/conf/newvers.sh when building the compiler target triple value, avoiding manual intervention on other files every new release. Reviewed by: imp MFC after: 2 months Sponsored by: Instituto de Pesquisas Eldorado (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D34429
-rw-r--r--Makefile.inc14
-rw-r--r--lib/clang/llvm.build.mk9
-rw-r--r--share/mk/bsd.compat.mk4
-rw-r--r--share/mk/src.sys.env.mk5
4 files changed, 15 insertions, 7 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 2b913e4e51f8..e3081594ec77 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -138,9 +138,9 @@ TARGET_ABI= gnueabi
.endif
.endif
MACHINE_ABI?= unknown
-MACHINE_TRIPLE?=${MACHINE_ARCH:S/amd64/x86_64/:C/sf$//}-${MACHINE_ABI}-freebsd14.0
+MACHINE_TRIPLE?=${MACHINE_ARCH:S/amd64/x86_64/:C/sf$//}-${MACHINE_ABI}-freebsd${OS_REVISION}
TARGET_ABI?= unknown
-TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/sf$//}-${TARGET_ABI}-freebsd14.0
+TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/sf$//}-${TARGET_ABI}-freebsd${OS_REVISION}
KNOWN_ARCHES?= aarch64/arm64 \
amd64 \
armv6/arm \
diff --git a/lib/clang/llvm.build.mk b/lib/clang/llvm.build.mk
index 5aff7081fb76..dd54bf7312d9 100644
--- a/lib/clang/llvm.build.mk
+++ b/lib/clang/llvm.build.mk
@@ -14,6 +14,10 @@
.error Please define SRCDIR before including this file
.endif
+.ifndef OS_REVISION
+.error Please define OS_REVISION before including this file
+.endif
+
.PATH: ${LLVM_BASE}/${SRCDIR}
CFLAGS+= -I${SRCTOP}/lib/clang/include
@@ -40,10 +44,9 @@ TARGET_ABI= -gnueabi
TARGET_ABI=
.endif
VENDOR= unknown
-OS_VERSION= freebsd14.0
-LLVM_TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${VENDOR}-${OS_VERSION}${TARGET_ABI}
-LLVM_BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${VENDOR}-${OS_VERSION}
+LLVM_TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${VENDOR}-freebsd${OS_REVISION}${TARGET_ABI}
+LLVM_BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${VENDOR}-freebsd${OS_REVISION}
CFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${LLVM_TARGET_TRIPLE}\"
CFLAGS+= -DLLVM_HOST_TRIPLE=\"${LLVM_BUILD_TRIPLE}\"
diff --git a/share/mk/bsd.compat.mk b/share/mk/bsd.compat.mk
index 6a7d3d3c7e80..e99281775b84 100644
--- a/share/mk/bsd.compat.mk
+++ b/share/mk/bsd.compat.mk
@@ -30,7 +30,7 @@ LIB32CPUFLAGS= -march=${COMPAT_CPUTYPE}
.endif
.if ${COMPAT_COMPILER_TYPE} == gcc
.else
-LIB32CPUFLAGS+= -target x86_64-unknown-freebsd14.0
+LIB32CPUFLAGS+= -target x86_64-unknown-freebsd${OS_REVISION}
.endif
LIB32CPUFLAGS+= -m32
LIB32_MACHINE= i386
@@ -51,7 +51,7 @@ LIB32CPUFLAGS= -mcpu=${COMPAT_CPUTYPE}
.if ${COMPAT_COMPILER_TYPE} == "gcc"
LIB32CPUFLAGS+= -m32
.else
-LIB32CPUFLAGS+= -target powerpc-unknown-freebsd14.0
+LIB32CPUFLAGS+= -target powerpc-unknown-freebsd${OS_REVISION}
.endif
LIB32_MACHINE= powerpc
diff --git a/share/mk/src.sys.env.mk b/share/mk/src.sys.env.mk
index 6f11489bfd2f..86f739414230 100644
--- a/share/mk/src.sys.env.mk
+++ b/share/mk/src.sys.env.mk
@@ -23,6 +23,11 @@ RELTOP?= ${RELDIR:C,[^/]+,..,g}
RELOBJTOP?= ${RELTOP}
RELSRCTOP?= ${RELTOP}
+.if !defined(OS_REVISION)
+OS_REVISION!=eval `sh ${SRCTOP}/sys/conf/newvers.sh -V REVISION` && echo $$REVISION || echo
+.export OS_REVISION
+.endif
+
# site customizations that do not depend on anything!
# Save MAKEOBJDIRPREFIX and don't let src-env.conf modify it.