diff options
author | Andre Heider <a.heider@gmail.com> | 2023-01-28 15:24:37 +0100 |
---|---|---|
committer | Christian Marangi <ansuelsmth@gmail.com> | 2023-03-21 18:28:24 +0100 |
commit | 9ea7019ffd60ab3ef5a5654116fbc339f856482c (patch) | |
tree | 637b7f409612aa228caa7faa6f2003af3d5ff8c7 | |
parent | 1342afcd27ebc142caf859e3acb3671c0378dea0 (diff) | |
download | upstream-9ea7019ffd60ab3ef5a5654116fbc339f856482c.tar.gz upstream-9ea7019ffd60ab3ef5a5654116fbc339f856482c.tar.bz2 upstream-9ea7019ffd60ab3ef5a5654116fbc339f856482c.zip |
build: add a config knob to enable LTO for all packages
This enables LTO for all packages which haven't opted-out.
Signed-off-by: Andre Heider <a.heider@gmail.com>
-rw-r--r-- | config/Config-build.in | 7 | ||||
-rw-r--r-- | include/package.mk | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/config/Config-build.in b/config/Config-build.in index f93ad37586..df2d9101ca 100644 --- a/config/Config-build.in +++ b/config/Config-build.in @@ -152,6 +152,13 @@ menu "Global build settings" garbage collection capabilites. Packages can choose to opt-out via setting PKG_BUILD_FLAGS:=no-gc-sections + config USE_LTO + bool + prompt "Use the link-time optimizer for all packages (EXPERIMENTAL)" + help + Adds LTO flags to the CFLAGS and LDFLAGS. + Packages can choose to opt-out via setting PKG_BUILD_FLAGS:=no-lto + config IPV6 def_bool y diff --git a/include/package.mk b/include/package.mk index 687f74edc1..d80f3bce49 100644 --- a/include/package.mk +++ b/include/package.mk @@ -56,7 +56,7 @@ ifeq ($(call pkg_build_flag,gc-sections,$(if $(CONFIG_USE_GC_SECTIONS),1,0)),1) TARGET_CXXFLAGS+= -ffunction-sections -fdata-sections TARGET_LDFLAGS+= -Wl,--gc-sections endif -ifeq ($(call pkg_build_flag,lto,0),1) +ifeq ($(call pkg_build_flag,lto,$(if $(CONFIG_USE_LTO),1,0)),1) TARGET_CFLAGS+= -flto=auto -fno-fat-lto-objects TARGET_CXXFLAGS+= -flto=auto -fno-fat-lto-objects TARGET_LDFLAGS+= -flto=auto -fuse-linker-plugin |