1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-14 14:55:41 +00:00
freebsd/lib/clang
Dimitry Andric cbafd2630b 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
..
headers Merge llvm, clang, lld, lldb, compiler-rt and libc++ trunk r321545, 2017-12-29 00:56:15 +00:00
include Add support for selectively enabling LLVM targets 2018-06-22 15:00:00 +00:00
libclang Next step in updating llvm/clang build glue: make lldb build. 2017-12-22 19:10:19 +00:00
liblldb Build llvm-extract with -lz, and add a few objects to liblldb, both of 2018-01-13 13:53:05 +00:00
libllvm Add support for selectively enabling LLVM targets 2018-06-22 15:00:00 +00:00
libllvmminimal First step in updating llvm/clang build glue: make only the clang 2017-12-21 21:24:52 +00:00
clang.build.mk Completely revamp the way llvm, clang and lldb are built. 2016-08-26 22:44:22 +00:00
clang.pre.mk Add forgotten {llvm,clang}.pre.mk files. 2016-08-26 22:56:23 +00:00
freebsd_cc_version.h Recommit r332501, with an additional upstream fix for "Cannot lower 2018-04-20 18:20:55 +00:00
lldb.pre.mk Centralize where LLVM_SRCS, CLANG_SRCS and LLDB_SRCS are defined. 2016-08-27 10:00:33 +00:00
llvm.build.mk Add support for selectively enabling LLVM targets 2018-06-22 15:00:00 +00:00
llvm.pre.mk Use SRCTOP and OBJTOP throughout the llvm/clang/lldb build. 2016-08-27 09:29:39 +00:00
Makefile Completely revamp the way llvm, clang and lldb are built. 2016-08-26 22:44:22 +00:00
Makefile.inc Improve the coverage of debug symbols for MK_DEBUG_FILES. 2017-08-23 23:30:25 +00:00