freebsd-dev/share
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
..
colldef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
ctypedef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
dict Sync with NetBSD's /usr/share/dict/words, with the exception of quim 2017-12-16 20:25:50 +00:00
doc Update several more URLs 2017-10-29 08:17:03 +00:00
dtrace Introduce dwatch(1) as a tool for making DTrace more useful 2018-03-06 23:44:19 +00:00
examples MK_EFI - Add uefisign and friends to this knob and ensure that we don't 2018-06-19 21:07:25 +00:00
i18n share: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:26:40 +00:00
keys META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
man Add support for selectively enabling LLVM targets 2018-06-22 15:00:00 +00:00
misc share/misc/organization.dot: updates 2018-06-19 12:16:19 +00:00
mk Add support for selectively enabling LLVM targets 2018-06-22 15:00:00 +00:00
monetdef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
msgdef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
numericdef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
security META MODE: These need object directories to handle staging. 2015-11-26 01:14:27 +00:00
sendmail share: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:26:40 +00:00
skel Simplify this Makefile. 2018-06-08 15:05:26 +00:00
snmp
syscons - Add us.iso Macbook/Macbook Pro keyboard support 2018-05-03 06:52:47 +00:00
tabset
termcap Add termcap entries for the st terminal (https://st.sucksless.org) 2018-03-15 15:13:17 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
timedef timedef: Update Czech timedef 2018-05-23 10:39:02 +00:00
vt Correct tom-thumb vt font glyphs 2018-04-13 17:37:39 +00:00
zoneinfo We don't actually need env here, so drop it. All shells allow setting 2018-02-09 15:50:32 +00:00
Makefile Convert traditional ${MK_TESTS} conditional idiom for including test 2017-08-02 08:35:51 +00:00
Makefile.inc