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
This commit is contained in:
Alfredo Dal'Ava Junior 2022-05-03 08:09:38 -03:00
parent c7904405a8
commit f9ee415674
4 changed files with 15 additions and 7 deletions

View File

@ -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 \

View File

@ -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}\"

View File

@ -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

View File

@ -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.