diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-11-08 16:02:07 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-11-11 10:04:34 +0000 |
commit | 228b5a91516cdf9d5a1df3c721ba8e5619b188ab (patch) | |
tree | c59d4c944cdc3640cd8243397e8d85199f140f4e /meta/conf | |
parent | bcb8b6719beaf6625e6b703e91958fe8afba5819 (diff) | |
download | openembedded-core-contrib-228b5a91516cdf9d5a1df3c721ba8e5619b188ab.tar.gz |
lto: Add global LTO distro policy file
Distros which want to enable LTO can utilize this file, it only covers
packages from OE-Core, other layers should include there own exclusion
list for recipe which dont work with LTO
Document the needed changes in local.conf.extended
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf')
-rw-r--r-- | meta/conf/distro/include/lto.inc | 28 | ||||
-rw-r--r-- | meta/conf/local.conf.sample.extended | 6 |
2 files changed, 34 insertions, 0 deletions
diff --git a/meta/conf/distro/include/lto.inc b/meta/conf/distro/include/lto.inc new file mode 100644 index 0000000000..fe0f6c9f44 --- /dev/null +++ b/meta/conf/distro/include/lto.inc @@ -0,0 +1,28 @@ +# To enable LTO, add following in local.conf +# require conf/distro/include/lto.inc +# DISTRO_FEATURES_append = " lto" +# + +# Disable LTO for following packages +LTO_pn-glibc = "" +LTO_pn-gcc-runtime = "" +LTO_pn-libgcc-initial = "" +LTO_pn-libgcc = "" +LTO_pn-libpam = "" +LTO_pn-elfutils = "" +LTO_pn-perl = "" +LTO_pn-busybox = "" +LTO_pn-libxcrypt = "" +LTO_pn-curl = "" +LTO_pn-libcap = "" +LTO_pn-libproxy = "" +LTO_pn-libbsd = "" + +# Override it for additional or different options if needed e.g. +# with clang thin-lto might be better for compile speed +LTO ?= "-flto" + +SELECTED_OPTIMIZATION_append = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}" +TARGET_LDFLAGS_append_class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}" + +SELECTED_OPTIMIZATION[vardeps] += "LTO" diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended index 420b09b7d7..5ece522fa8 100644 --- a/meta/conf/local.conf.sample.extended +++ b/meta/conf/local.conf.sample.extended @@ -396,3 +396,9 @@ #VIRTUAL-RUNTIME_base-utils = "packagegroup-core-base-utils" #VIRTUAL-RUNTIME_base-utils-hwclock = "util-linux-hwclock" #VIRTUAL-RUNTIME_base-utils-syslog = "syslog" + +# +# Enable LTO system-wide +# +#require conf/distro/include/lto.inc +#DISTRO_FEATURES_append = " lto" |