2802302e64
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
36 lines
1.0 KiB
Makefile
36 lines
1.0 KiB
Makefile
# $FreeBSD$
|
|
|
|
.if ${.MAKE.MODE:Unormal:Mmeta*} != ""
|
|
.if !empty(SUBDIR) && !defined(LIB) && !defined(PROG) && ${.MAKE.MAKEFILES:M*bsd.prog.mk} == ""
|
|
.if ${.MAKE.MODE:Mleaf*} != ""
|
|
# we only want leaf dirs to build in meta mode... and we are not one
|
|
.MAKE.MODE = normal
|
|
.endif
|
|
.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+= -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"
|
|
.if ${.MAKE.DEPENDFILE:E} != "host"
|
|
UPDATE_DEPENDFILE?= no
|
|
.endif
|
|
HOST_CFLAGS+= -DHOSTPROG
|
|
CFLAGS+= ${HOST_CFLAGS}
|
|
.endif
|
|
|
|
.-include "src.init.mk"
|