summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2016-06-15 23:58:03 +0000
committerbdrewery <bdrewery@FreeBSD.org>2016-06-15 23:58:03 +0000
commit42d9d45fb8f34ef4435a75f575dee6583cf4c909 (patch)
tree4fda9fe592267442bb91a73468aeb9d1dd14876f /share
parentd00ea3e574b447595fa2962290c22eb060990413 (diff)
downloadFreeBSD-src-42d9d45fb8f34ef4435a75f575dee6583cf4c909.zip
FreeBSD-src-42d9d45fb8f34ef4435a75f575dee6583cf4c909.tar.gz
Fix native powerpc64 build of lib32 with in-tree GCC.
- This was broken by r300350 and r300885. - Add some comments around the external GCC logic since it is spread out and in need of some cleanup. - The problem was that X_COMPILER_TYPE is always defined from CC->XCC's default, so if /usr/bin/cc is GCC (as it is on native powerpc64) then X_COMPILER_TYPE was getting GCC and triggering the external logic in Makefile.libcompat. It was intended to always provide -isystem with GCC since --sysroot is used into the lib32 sysroot which won't modify the header path without the -isystem. The use of the libc++/std=c++11 override was only intended to be used for external compilers though (more accurately GCC 4.8+ but that's a separate assumption to cleanup). Apply the same logic from Makefile.inc1 to Makefile.libcompat to only add the libc++ override when needed for external compilers. Pointyhat to: bdrewery Tested with: native ppc64 (swills), universe, ppc64 xtoolchain, amd64 xtoolchain, sparc64 cross-build of ppc64 (host GCC 4.2) Reported by: andreast, swills Approved by: re (gjb) Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'share')
-rw-r--r--share/mk/src.opts.mk3
1 files changed, 3 insertions, 0 deletions
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index e3ef419..790a466 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -419,6 +419,9 @@ MK_LLDB:= no
# gcc 4.8 and newer supports libc++, so suppress gnuc++ in that case.
# while in theory we could build it with that, we don't want to do
# that since it creates too much confusion for too little gain.
+# XXX: This is incomplete and needs X_COMPILER_TYPE/VERSION checks too
+# to prevent Makefile.inc1 from bootstrapping unneeded dependencies
+# and to support 'make delete-old' when supplying an external toolchain.
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 40800
MK_GNUCXX:=no
MK_GCC:=no
OpenPOWER on IntegriCloud