mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
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 (From OE-Core rev: 228b5a91516cdf9d5a1df3c721ba8e5619b188ab) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
28
meta/conf/distro/include/lto.inc
Normal file
28
meta/conf/distro/include/lto.inc
Normal file
@@ -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"
|
||||
Reference in New Issue
Block a user