summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsjg <sjg@FreeBSD.org>2014-08-19 06:37:33 +0000
committersjg <sjg@FreeBSD.org>2014-08-19 06:37:33 +0000
commit3c8e37b1d04827f33c0c9a7594bd1b1ef7cdb3d3 (patch)
treeb5b22b30a0c00a9971f9b4516a36226a6cbdecb2
parent03e1e7777ce8bae78958bdbf2c87894aef64036b (diff)
downloadFreeBSD-src-3c8e37b1d04827f33c0c9a7594bd1b1ef7cdb3d3.zip
FreeBSD-src-3c8e37b1d04827f33c0c9a7594bd1b1ef7cdb3d3.tar.gz
After we finish using src/Makefile.inc1 to bootstrap legacy tools
use it to build the toolchain we actually want.
-rw-r--r--pkgs/pseudo/bootstrap-tools/Makefile23
1 files changed, 21 insertions, 2 deletions
diff --git a/pkgs/pseudo/bootstrap-tools/Makefile b/pkgs/pseudo/bootstrap-tools/Makefile
index 67fe13e..49fccde 100644
--- a/pkgs/pseudo/bootstrap-tools/Makefile
+++ b/pkgs/pseudo/bootstrap-tools/Makefile
@@ -1,9 +1,8 @@
# $FreeBSD$
# building clang is particularly tedious - so avoid re-inventing wheels
-# the end result is
-all: cross-tools build-tools
+all: bootstrap-toolchain
UPDATE_DEPENDFILE= no
.export UPDATE_DEPENDFILE
@@ -28,6 +27,7 @@ BSARGS= \
SSP_CFLAGS= \
MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \
-DNO_PIC MK_PROFILE=no -DNO_SHARED \
+ -DWITH_CLANG_BOOTSTRAP \
-DNO_CPU_CFLAGS -DNO_WARNS MK_CTF=no -DEARLY_BUILD MK_TESTS=no
@@ -45,3 +45,22 @@ cross-tools: build-tools
cross-tools build-tools bootstrap-tools: .MAKE .META
${BSENV} ${MAKE} -C ${SRCTOP} -f Makefile.inc1 ${BSARGS} $@
touch $@
+
+# MAKELEVEL=0 so that dirdeps.mk does its thing
+# LEGACY_TOOLS lets us use the bootstaped stuff above
+# TARGET* is so that MK_CLANG gets set correctly.
+BSTCENV= \
+ MAKELEVEL=0 \
+ MACHINE=host \
+ LEGACY_TOOLS=${LEGACY_TOOLS} \
+ TARGET=${HOST_MACHINE} \
+ TARGET_ARCH=${HOST_MACHINE_ARCH}
+
+BSTCARGS= \
+ ${BSARGS} \
+ -DWITH_STAGING \
+ -DWITH_TOOLSDIR
+
+# finally we build toolchain leveraging the above.
+bootstrap-toolchain: .MAKE cross-tools
+ ${BSTCENV} ${MAKE} -C ${.CURDIR:H:H} ${BSTCARGS} toolchain
OpenPOWER on IntegriCloud