svn commit: r335782 - head

John Baldwin jhb at FreeBSD.org
Thu Jun 28 21:26:15 UTC 2018


Author: jhb
Date: Thu Jun 28 21:26:14 2018
New Revision: 335782
URL: https://svnweb.freebsd.org/changeset/base/335782

Log:
  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

Modified:
  head/Makefile.inc1
  head/Makefile.libcompat

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Thu Jun 28 21:23:05 2018	(r335781)
+++ head/Makefile.inc1	Thu Jun 28 21:26:14 2018	(r335782)
@@ -750,19 +750,6 @@ BFLAGS+=	-B${WORLDTMP}/usr/bin
 .endif
 .if ${WANT_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 || \
     (defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == clang)
 XCFLAGS+=	-target ${TARGET_TRIPLE}

Modified: head/Makefile.libcompat
==============================================================================
--- head/Makefile.libcompat	Thu Jun 28 21:23:05 2018	(r335781)
+++ head/Makefile.libcompat	Thu Jun 28 21:26:14 2018	(r335782)
@@ -100,22 +100,6 @@ LIBCOMPATCFLAGS+=	${LIBCOMPATCPUFLAGS} \
 # Clang/GCC.
 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.
 LIBCOMPATWMAKEENV+= \
 		INSTALL="sh ${.CURDIR}/tools/install.sh" \


More information about the svn-src-head mailing list