Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Nov 2015 19:45:02 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r291324 - head/share/mk
Message-ID:  <201511251945.tAPJj2fR004181@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Wed Nov 25 19:45:01 2015
New Revision: 291324
URL: https://svnweb.freebsd.org/changeset/base/291324

Log:
  META MODE: Fix MACHINE=host builds.
  
  We need to not use -nostdinc since it breaks building of clang itself.  Use
  -isystem rather than -I/usr/include and -nostdinc which gets us using
  the stage include directory before searching the real host headers.
  This allows removing more of the -I hacks to get host headers since the
  headers are no longer excluded.  The -B seemed unneeded.
  
  This fixes building of secure/lib/libcrypto which was looking at the
  /usr/include/openssl/asn1.h header rather than the staged one.
  
  This fixes building of clang which wants to find its own internal
  headers in the STAGEDIR/usr/lib/clang/* path.
  
  Sponsored by:	EMC / Isilon Storage Division

Modified:
  head/share/mk/local.init.mk

Modified: head/share/mk/local.init.mk
==============================================================================
--- head/share/mk/local.init.mk	Wed Nov 25 19:44:58 2015	(r291323)
+++ head/share/mk/local.init.mk	Wed Nov 25 19:45:01 2015	(r291324)
@@ -9,21 +9,20 @@
 .endif
 .endif
 
+# XXX: This should be combined with external compiler support in Makefile.inc1
+# and local.meta.sys.mk (CROSS_TARGET_FLAGS)
 .if ${MK_SYSROOT} == "yes" && !empty(SYSROOT) && ${MACHINE} != "host"
 CFLAGS_LAST+= --sysroot=${SYSROOT}
 CXXFLAGS_LAST+= --sysroot=${SYSROOT}
 LDADD+= --sysroot=${SYSROOT}
 .elif ${MK_STAGING} == "yes"
-CFLAGS+= -nostdinc
-CFLAGS+= -I${STAGE_INCLUDEDIR}
+CFLAGS+= -isystem ${STAGE_INCLUDEDIR}
+# XXX: May be needed for GCC to build with libc++ rather than libstdc++. See Makefile.inc1
+#CXXFLAGS+= -std=gnu++11
+#LDADD+= -L${STAGE_LIBDIR}/libc++
+#CXXFLAGS+= -I${STAGE_INCLUDEDIR}/usr/include/c++/v1
 LDADD+= -L${STAGE_LIBDIR}
 .endif
-.if ${MACHINE} == "host"
-# we cheat?
-LDADD+= -B/usr/lib
-CFLAGS_LAST+= -I/usr/include
-CXXFLAGS_LAST+= -I/usr/include
-.endif
 
 .if ${MACHINE} == "host"
 .if ${.MAKE.DEPENDFILE:E} != "host"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511251945.tAPJj2fR004181>