Remove the various build flag hacks for GCC cross-compile.
The xtoolchain GCC packages have not required these flags since ports commits r465416 and r466701. The in-tree GCC 4.2.1 has also been patched in r335716 and r335717 to correctly honor --sysroot when looking for includes and libraries. Reviewed by: bdrewery Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D16055
This commit is contained in:
parent
9e28e9855f
commit
151578dc5f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=335782
@ -750,19 +750,6 @@ BFLAGS+= -B${WORLDTMP}/usr/bin
|
|||||||
.endif
|
.endif
|
||||||
.if ${WANT_COMPILER_TYPE} == gcc || \
|
.if ${WANT_COMPILER_TYPE} == gcc || \
|
||||||
(defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc)
|
(defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc)
|
||||||
# GCC requires -isystem and -L when using a cross-compiler. --sysroot
|
|
||||||
# won't set header path and -L is used to ensure the base library path
|
|
||||||
# is added before the port PREFIX library path.
|
|
||||||
XCFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib
|
|
||||||
# GCC requires -B to find /usr/lib/crti.o when using a cross-compiler
|
|
||||||
# combined with --sysroot.
|
|
||||||
XCFLAGS+= -B${WORLDTMP}/usr/lib
|
|
||||||
# Force using libc++ for external GCC.
|
|
||||||
.if defined(X_COMPILER_TYPE) && \
|
|
||||||
${X_COMPILER_TYPE} == gcc && ${X_COMPILER_VERSION} >= 40800
|
|
||||||
XCXXFLAGS+= -isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \
|
|
||||||
-nostdinc++
|
|
||||||
.endif
|
|
||||||
.elif ${WANT_COMPILER_TYPE} == clang || \
|
.elif ${WANT_COMPILER_TYPE} == clang || \
|
||||||
(defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == clang)
|
(defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == clang)
|
||||||
XCFLAGS+= -target ${TARGET_TRIPLE}
|
XCFLAGS+= -target ${TARGET_TRIPLE}
|
||||||
|
@ -100,22 +100,6 @@ LIBCOMPATCFLAGS+= ${LIBCOMPATCPUFLAGS} \
|
|||||||
# Clang/GCC.
|
# Clang/GCC.
|
||||||
LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat}
|
LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat}
|
||||||
|
|
||||||
.if ${WANT_COMPILER_TYPE} == gcc || \
|
|
||||||
(defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc)
|
|
||||||
# GCC requires -isystem when using a cross-compiler and --sysroot. Note that
|
|
||||||
# Makefile.inc1 only applies this with an external compiler but libcompat
|
|
||||||
# always does since even in-tree GCC 4.2 needs this to override the built-in
|
|
||||||
# sysroot path which --sysroot does not actually do for headers.
|
|
||||||
LIBCOMPATCFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include
|
|
||||||
# Force using libc++ for external GCC.
|
|
||||||
.if defined(X_COMPILER_TYPE) && \
|
|
||||||
${X_COMPILER_TYPE} == gcc && ${X_COMPILER_VERSION} >= 40800 && \
|
|
||||||
(${MK_CLANG_BOOTSTRAP} == "no" && ${MK_GCC_BOOTSTRAP} == "no")
|
|
||||||
LIBCOMPATCXXFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include/c++/v1 -std=c++11 \
|
|
||||||
-nostdinc++
|
|
||||||
.endif
|
|
||||||
.endif
|
|
||||||
|
|
||||||
# Yes, the flags are redundant.
|
# Yes, the flags are redundant.
|
||||||
LIBCOMPATWMAKEENV+= \
|
LIBCOMPATWMAKEENV+= \
|
||||||
INSTALL="sh ${.CURDIR}/tools/install.sh" \
|
INSTALL="sh ${.CURDIR}/tools/install.sh" \
|
||||||
|
Loading…
Reference in New Issue
Block a user