summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsbruno <sbruno@FreeBSD.org>2015-04-30 00:17:32 +0000
committersbruno <sbruno@FreeBSD.org>2015-04-30 00:17:32 +0000
commitdc27e6168c15836ae0386a33a225b5d85f0eb8c2 (patch)
tree712692ea39997ea7aaa21b067ac96c2bd3f34240
parentacc3b0bbd77ece8e20571e1d41bd04574c3b8c07 (diff)
downloadFreeBSD-src-dc27e6168c15836ae0386a33a225b5d85f0eb8c2.zip
FreeBSD-src-dc27e6168c15836ae0386a33a225b5d85f0eb8c2.tar.gz
Fix native-xtools breakage when building a gcc enabled target on a clang
enabled host. Build a one-off gperf and put it in the PATH for the rest of the target so the ONE call to gperf by the gcc build picks it up and DTRT. Reviewed by: imp
-rw-r--r--Makefile.inc115
1 files changed, 15 insertions, 0 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 039c7e2..a904bfd 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1535,7 +1535,22 @@ NXBMAKE= ${NXBENV} ${MAKE} \
MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \
MK_LLDB=no
+# native-xtools is the current target for qemu-user cross builds of ports
+# via poudriere and the imgact_binmisc kernel module.
+# For non-clang enabled targets that are still using the in tree gcc
+# we must build a gperf binary for one instance of its Makefiles. On
+# clang-enabled systems, the gperf binary is obsolete.
native-xtools: .MAKE
+.if ${MK_GCC_BOOTSTRAP} != "no"
+ mkdir -p ${OBJTREE}/gperf_for_gcc/usr/bin
+ ${_+_}@${ECHODIR} "===> ${_gperf} (obj,depend,all,install)"; \
+ cd ${.CURDIR}/${_gperf} && \
+ ${NXBMAKE} DIRPRFX=${_gperf}/ obj && \
+ ${NXBMAKE} DIRPRFX=${_gperf}/ depend && \
+ ${NXBMAKE} DIRPRFX=${_gperf}/ all && \
+ ${NXBMAKE} DIRPRFX=${_gperf}/ DESTDIR=${OBJTREE}/gperf_for_gcc install
+ PATH=${PATH}:${OBJTREE}/gperf_for_gcc/usr/bin
+.endif
mkdir -p ${OBJTREE}/nxb-bin/bin
mkdir -p ${OBJTREE}/nxb-bin/sbin
mkdir -p ${OBJTREE}/nxb-bin/usr
OpenPOWER on IntegriCloud