summaryrefslogtreecommitdiffstats
path: root/meta/conf/distro/include/lto.inc
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
commit8c22ff0d8b70d9b12f0487ef696a7e915b9e3173 (patch)
treeefdc32587159d0050a69009bdf2330a531727d95 /meta/conf/distro/include/lto.inc
parentd412d2747595c1cc4a5e3ca975e3adc31b2f7891 (diff)
downloadpoky-8c22ff0d8b70d9b12f0487ef696a7e915b9e3173.tar.gz
The poky repository master branch is no longer being updated.
You can either: a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs b) use the new bitbake-setup You can find information about either approach in our documentation: https://docs.yoctoproject.org/ Note that "poky" the distro setting is still available in meta-yocto as before and we continue to use and maintain that. Long live Poky! Some further information on the background of this change can be found in: https://lists.openembedded.org/g/openembedded-architecture/message/2179 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/distro/include/lto.inc')
-rw-r--r--meta/conf/distro/include/lto.inc51
1 files changed, 0 insertions, 51 deletions
diff --git a/meta/conf/distro/include/lto.inc b/meta/conf/distro/include/lto.inc
deleted file mode 100644
index b8193725a1..0000000000
--- a/meta/conf/distro/include/lto.inc
+++ /dev/null
@@ -1,51 +0,0 @@
1# To enable LTO, add following in local.conf
2# require conf/distro/include/lto.inc
3# DISTRO_FEATURES:append = " lto"
4#
5
6# Disable LTO for following packages
7LTO:pn-glibc = ""
8LTO:pn-gcc-runtime = ""
9LTO:pn-libgcc-initial = ""
10LTO:pn-libgcc = ""
11LTO:pn-libaio = ""
12LTO:pn-libpam = ""
13LTO:pn-elfutils = ""
14LTO:pn-perl = ""
15LTO:pn-busybox = ""
16LTO:pn-libxcrypt = ""
17LTO:pn-curl = ""
18LTO:pn-libcap = ""
19LTO:pn-libproxy = ""
20LTO:pn-libbsd = ""
21LTO:pn-perf = ""
22# webkit is not linking properly with LTO, disable until next time
23LTO:pn-webkitgtk = ""
24LTO:pn-xserver-xorg = ""
25LTO:pn-grub = ""
26LTO:pn-grub-efi = ""
27
28# Custom LTO flags
29# disable partitioning/streaming algorithm since its uses ASM
30# constructs not compatible with lto
31LTOEXTRA:pn-alsa-lib = "-flto-partition=none"
32
33LTOEXTRA ?= ""
34
35# Override it for additional or different options if needed e.g.
36# with clang thin-lto might be better for compile speed
37#
38# ffat-lto-objects
39# object files that contain both the intermediate
40# language and the object code. This makes them
41# usable for both LTO linking and normal linking
42#
43# -fuse-linker-plugin
44# ensures that libraries participate in LTO by supplying intermediate
45# code from .a files to linker
46LTO ?= "-flto -ffat-lto-objects -fuse-linker-plugin ${LTOEXTRA}"
47
48SELECTED_OPTIMIZATION:append = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}"
49TARGET_LDFLAGS:append:class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}"
50
51SELECTED_OPTIMIZATION[vardeps] += "LTO LTOEXTRA"