Move building of clang's tblgen tools (and required libraries) from the

bootstrap-tools stage to the cross-tools stage.  These tools are only
needed for generating llvm/clang include files, and are not necessary
for bootstrapping the build itself.

This shaves off some build time, because the required libraries are now
just built twice (during the cross-tools and world stages), instead of
three times.

Also, if you build world using WITHOUT_CLANG= in src.conf(5), no llvm or
clang code will be compiled at all anymore.

MFC after:	1 week
This commit is contained in:
Dimitry Andric 2011-11-09 19:00:27 +00:00
parent b3b1747a98
commit 338f97fe8d

View File

@ -1029,14 +1029,6 @@ _gensnmptree= usr.sbin/bsnmpd/gensnmptree
_crunchgen= usr.sbin/crunch/crunchgen
.endif
.if ${MK_CLANG} != "no"
_clang_tblgen= \
lib/clang/libllvmsupport \
lib/clang/libllvmtablegen \
usr.bin/clang/tblgen \
usr.bin/clang/clang-tblgen
.endif
.if ${MK_CDDL} != "no" && \
${BOOTSTRAPPING} < 800038 && \
!(${BOOTSTRAPPING} >= 700112 && ${BOOTSTRAPPING} < 799999)
@ -1053,7 +1045,6 @@ _dtc= gnu/usr.bin/dtc
# FreeBSD versions that need the tool built at this stage of the build.
bootstrap-tools:
.for _tool in \
${_clang_tblgen} \
${_dtrace_tools} \
${_strfile} \
${_gperf} \
@ -1149,9 +1140,13 @@ _binutils= gnu/usr.bin/binutils
.endif
.if ${MK_CLANG} != "no"
_clang_tblgen= lib/clang/libllvmsupport \
lib/clang/libllvmtablegen \
usr.bin/clang/tblgen \
usr.bin/clang/clang-tblgen
.if ${CC:T:Mclang} == "clang"
_clang= usr.bin/clang
_clang_libs= lib/clang
_clang= usr.bin/clang
.endif
.endif
@ -1161,6 +1156,7 @@ _cc= gnu/usr.bin/cc
cross-tools:
.for _tool in \
${_clang_tblgen} \
${_clang_libs} \
${_clang} \
${_binutils} \