freebsd-skq/share/mk
dim 6ee1d5b597 Add support for selectively enabling LLVM targets
This makes it possible, through src.conf(5) settings, to select which
LLVM targets you want to build during buildworld.  The current list is:

* (WITH|WITHOUT)_LLVM_TARGET_AARCH64
* (WITH|WITHOUT)_LLVM_TARGET_ARM
* (WITH|WITHOUT)_LLVM_TARGET_MIPS
* (WITH|WITHOUT)_LLVM_TARGET_POWERPC
* (WITH|WITHOUT)_LLVM_TARGET_SPARC
* (WITH|WITHOUT)_LLVM_TARGET_X86

To not influence anything right now, all of these are on by default, in
situations where clang is enabled.

Selectively turning a few targets off manually should work.  Turning on
only one target should work too, even if that target does not correspond
to the build architecture.  (In that case, LLVM_NATIVE_ARCH will not be
defined, and you can only use the resulting clang executable for
cross-compiling.)

I performed a few measurements on one of the FreeBSD.org reference
machines, building clang from scratch, with all targets enabled, and
with only the x86 target enabled.  The latter was ~12% faster in real
time (on a 32-core box), and ~14% faster in user time.  For a full
buildworld the difference will probably be less pronounced, though.

Reviewed by:	bdrewery
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D11077
2018-06-22 15:00:00 +00:00
..
atf.test.mk tests: require ksh93 in the Kyuafiles for all atf-ksh93 test programs 2018-02-24 15:13:20 +00:00
auto.obj.mk Ensure .OBJDIR has known value 2017-11-04 21:02:26 +00:00
bsd.arch.inc.mk
bsd.clang-analyze.mk Add some missed OBJS_SRCS_FILTER from r323637. 2017-11-10 08:00:09 +00:00
bsd.compiler.mk Reduce exec and fstat overhead for non-build targets. 2018-06-20 17:20:39 +00:00
bsd.confs.mk
bsd.cpu.mk Don't use TARGET_ARCH in this file, use MACHINE_ARCH instead. 2018-06-19 13:28:02 +00:00
bsd.crunchgen.mk rescue: Restore 'make depend' call to fix WITH_META_MODE after r334008. 2018-05-24 18:49:19 +00:00
bsd.dep.mk Created static libc PIC/no-SSP library to be used by rtld. 2018-05-09 10:28:24 +00:00
bsd.doc.mk
bsd.dtb.mk Use known SRCTOP if possible to determine SYSDIR. 2018-04-12 20:48:17 +00:00
bsd.endian.mk
bsd.files.mk Enable directory creation with FILESDIR. 2018-05-09 13:44:54 +00:00
bsd.incs.mk Reapply r295227: Stop hiding link install commands. 2017-11-06 19:33:50 +00:00
bsd.info.mk
bsd.init.mk Reduce exec and fstat overhead for non-build targets. 2018-06-20 17:20:39 +00:00
bsd.kmod.mk Use known SRCTOP if possible to determine SYSDIR. 2018-04-12 20:48:17 +00:00
bsd.lib.mk Created static libc PIC/no-SSP library to be used by rtld. 2018-05-09 10:28:24 +00:00
bsd.libnames.mk Fix stale dependencies on libcasper libraries. 2018-05-15 23:46:49 +00:00
bsd.linker.mk Add WITH_SYSTEM_LINKER, on by default, that avoids building lld when possible. 2018-06-20 16:10:14 +00:00
bsd.links.mk Reapply r295227: Stop hiding link install commands. 2017-11-06 19:33:50 +00:00
bsd.man.mk
bsd.mkopt.mk
bsd.nls.mk Move all of the directory path into the DIR part of the component and make the 2018-05-31 13:26:12 +00:00
bsd.obj.mk AUTO_OBJ: Don't create nested OBJDIRS with print-dir or make -n. 2017-12-06 21:00:41 +00:00
bsd.opts.mk Add limited sandbox capability to "make check" 2017-08-14 19:03:05 +00:00
bsd.own.mk Enable directory creation with FILESDIR. 2018-05-09 13:44:54 +00:00
bsd.port.mk
bsd.port.options.mk
bsd.port.post.mk
bsd.port.pre.mk
bsd.port.subdir.mk
bsd.prog.mk Remove accidentally committed debug statement that induced the following 2018-05-05 18:39:54 +00:00
bsd.progs.mk Add some missed OBJS_SRCS_FILTER from r323637. 2017-11-10 08:00:09 +00:00
bsd.README Created static libc PIC/no-SSP library to be used by rtld. 2018-05-09 10:28:24 +00:00
bsd.snmpmod.mk
bsd.subdir.mk Remove build system support for lint. 2017-11-17 18:16:46 +00:00
bsd.suffixes-posix.mk
bsd.suffixes.mk Remove build system support for lint. 2017-11-17 18:16:46 +00:00
bsd.symver.mk
bsd.sys.mk Sort GCC warning flags and remove duplicates. 2018-06-04 16:21:18 +00:00
bsd.test.mk Sort the tests alphabetically before adding them to the Kyuafiles 2017-07-17 18:20:54 +00:00
dirdeps.mk
gendirdeps.mk
host-target.mk
install-new.mk
local.autodep.mk
local.dirdeps.mk DIRDEPS_BUILD: Cleanup leftover WORLDTMP files. 2017-11-02 20:45:04 +00:00
local.gendirdeps.mk DIRDEPS_BUILD: libgcc now depends on MK_LLVM_LIBUNWIND 2017-10-31 00:03:36 +00:00
local.init.mk
local.meta.sys.mk Reduce exec and fstat overhead for non-build targets. 2018-06-20 17:20:39 +00:00
local.sys.env.mk AUTO_OBJ: Hide 'creating dirs' output with 'make -s'. 2017-11-08 16:03:58 +00:00
local.sys.mk Follow-up r320061: Need to respect make.conf/env LIBDIR overrides. 2017-06-19 18:08:02 +00:00
Makefile Add basic bsd.linker.mk auto included from bsd.compiler.mk. 2017-06-22 21:03:20 +00:00
meta2deps.py Fix syntax error in parse_path after r316952. 2017-05-08 20:44:21 +00:00
meta2deps.sh
meta.autodep.mk Created static libc PIC/no-SSP library to be used by rtld. 2018-05-09 10:28:24 +00:00
meta.stage.mk
meta.subdir.mk
meta.sys.mk
netbsd-tests.test.mk
plain.test.mk
src.init.mk
src.libnames.mk Rework ofed build. 2018-06-16 15:05:05 +00:00
src.opts.mk Add support for selectively enabling LLVM targets 2018-06-22 15:00:00 +00:00
src.sys.env.mk Ignore MAKEOBJDIRPREFIX from src-env.conf in sub-makes. 2018-03-03 23:23:01 +00:00
src.sys.mk Enable AUTO_OBJ by default if the OBJDIR is writable, only for in-tree builds. 2017-11-02 18:09:07 +00:00
src.sys.obj.mk Reduce exec and fstat overhead for non-build targets. 2018-06-20 17:20:39 +00:00
stage-install.sh
suite.test.mk Avoid trying to remove a fullpath directory in CLEANDIRS. 2017-11-05 00:26:28 +00:00
sys.dependfile.mk
sys.mk Reduce exec and fstat overhead for non-build targets. 2018-06-20 17:20:39 +00:00
tap.test.mk
version_gen.awk share and pc-sysinstall: adoption of SPDX licensing ID tags. 2017-11-27 15:28:26 +00:00