There's no need to guess at the COMPILER_TYPE to pass it down. We
guess wrong for buildkernel when CC=gcc49, say. Eliminate all the guessing. COMPILER_TYPE propigates properly on its own, if specified, and we guess it correctly otherwise lower in the build. Also, fix conditionals for armv6hf when using an external compiler chain. They were broken before, but unused. Also, prefer checking the compiler type over CLANG_IS_CC since the latter is only supposed to be used to determine what symlinks to install (more fixes to follow).
This commit is contained in:
parent
bfbada6ed4
commit
63e4d6f712
@ -240,8 +240,7 @@ BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \
|
||||
PATH=${BPATH}:${PATH} \
|
||||
WORLDTMP=${WORLDTMP} \
|
||||
VERSION="${VERSION}" \
|
||||
MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \
|
||||
COMPILER_TYPE=${COMPILER_TYPE}
|
||||
MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}"
|
||||
BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \
|
||||
${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
|
||||
DESTDIR= \
|
||||
@ -270,8 +269,7 @@ XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
|
||||
KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \
|
||||
PATH=${BPATH}:${PATH} \
|
||||
WORLDTMP=${WORLDTMP} \
|
||||
VERSION="${VERSION}" \
|
||||
COMPILER_TYPE=${COMPILER_TYPE}
|
||||
VERSION="${VERSION}"
|
||||
KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOBJDIRPREFIX=${WORLDTMP} \
|
||||
${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
|
||||
DESTDIR= \
|
||||
@ -324,17 +322,6 @@ WMAKEENV+= CC="${XCC} ${XFLAGS}" CXX="${XCXX} ${XFLAGS}" \
|
||||
AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \
|
||||
OBJDUMP=${XOBJDUMP} RANLIB=${XRANLIB} STRINGS=${XSTRINGS}
|
||||
|
||||
.if ${XCC:T:Mgcc} == "gcc"
|
||||
WMAKE_COMPILER_TYPE= gcc
|
||||
.elif ${XCC:T:Mclang} == "clang"
|
||||
WMAKE_COMPILER_TYPE= clang
|
||||
.elif ${MK_CLANG_IS_CC} == "no"
|
||||
WMAKE_COMPILER_TYPE= gcc
|
||||
.else
|
||||
WMAKE_COMPILER_TYPE= clang
|
||||
.endif
|
||||
IMAKE_COMPILER_TYPE= COMPILER_TYPE=${WMAKE_COMPILER_TYPE}
|
||||
|
||||
.if ${XCC:M/*}
|
||||
XFLAGS= --sysroot=${WORLDTMP}
|
||||
.if defined(CROSS_BINUTILS_PREFIX)
|
||||
@ -347,21 +334,18 @@ XFLAGS+= -B${CROSS_BINUTILS_PREFIX}
|
||||
.else
|
||||
XFLAGS+= -B${WORLDTMP}/usr/bin
|
||||
.endif
|
||||
.if ${TARGET_ARCH} != ${MACHINE_ARCH} && ${WMAKE_COMPILER_TYPE} == "clang"
|
||||
.if (${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "armv6") && \
|
||||
${MK_ARM_EABI} != "no"
|
||||
.if ${TARGET} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${TARGET_ARCH:M*eb*} == ""
|
||||
TARGET_ABI= gnueabi
|
||||
.elif ${TARGET_ARCH} == "armv6hf"
|
||||
TARGET_ABI= gnueabihf
|
||||
.else
|
||||
TARGET_ABI= unknown
|
||||
.endif
|
||||
.endif
|
||||
TARGET_ABI?= unknown
|
||||
TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0
|
||||
XFLAGS+= -target ${TARGET_TRIPLE}
|
||||
.endif
|
||||
.endif
|
||||
|
||||
WMAKEENV+= COMPILER_TYPE=${WMAKE_COMPILER_TYPE}
|
||||
WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}
|
||||
|
||||
.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
|
||||
@ -409,10 +393,8 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \
|
||||
PATH=${TMPPATH} \
|
||||
LIBDIR=/usr/lib32 \
|
||||
SHLIBDIR=/usr/lib32 \
|
||||
LIBPRIVATEDIR=/usr/lib32/private \
|
||||
COMPILER_TYPE=${WMAKE_COMPILER_TYPE}
|
||||
LIB32WMAKEFLAGS+= \
|
||||
CC="${XCC} ${LIB32FLAGS}" \
|
||||
LIBPRIVATEDIR=/usr/lib32/private
|
||||
LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \
|
||||
CXX="${XCXX} ${LIB32FLAGS}" \
|
||||
DESTDIR=${LIB32TMP} \
|
||||
-DCOMPAT_32BIT \
|
||||
@ -430,7 +412,7 @@ LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS \
|
||||
|
||||
IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*}
|
||||
IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \
|
||||
${IMAKE_INSTALL} ${IMAKE_MTREE} ${IMAKE_COMPILER_TYPE}
|
||||
${IMAKE_INSTALL} ${IMAKE_MTREE}
|
||||
.if empty(.MAKEFLAGS:M-n)
|
||||
IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \
|
||||
LD_LIBRARY_PATH=${INSTALLTMP} \
|
||||
|
@ -173,7 +173,7 @@ _EXTRADEPEND:
|
||||
.else
|
||||
echo ${PROG}: ${LIBC} ${DPADD} >> ${DEPENDFILE}
|
||||
.if defined(PROG_CXX) && !defined(EARLY_BUILD)
|
||||
.if ${MK_CLANG_IS_CC} != "no" && empty(CXXFLAGS:M-stdlib=libstdc++)
|
||||
.if ${COMPILER_TYPE} == "clang" && empty(CXXFLAGS:M-stdlib=libstdc++)
|
||||
echo ${PROG}: ${LIBCPLUSPLUS} >> ${DEPENDFILE}
|
||||
.else
|
||||
echo ${PROG}: ${LIBSTDCPLUSPLUS} >> ${DEPENDFILE}
|
||||
|
Loading…
Reference in New Issue
Block a user