From 7608095b4e0138eda9d74edd903c327e581758a5 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:46 +0200 Subject: [PATCH 01/58] config/functions: don't enable LTO by default Packages are only built with LTO if it's explicitly enabled via the lto build flag or if a package enables LTO via configure / cmake options. Enabling LTO via configure / cmake is the preferred way as this gives packages more fine grained control, eg enable parallel LTO linking etc. When doing this packages should respect the LTO_SUPPORT setting so LTO can be disabled globally. To avoid conflicting C/CXX/LDFLAGS no FLAGS are added when the lto build flag is not set. Signed-off-by: Matthias Reichl --- config/functions | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/config/functions b/config/functions index 094cc514af..c20d577ab0 100644 --- a/config/functions +++ b/config/functions @@ -1,13 +1,8 @@ setup_toolchain() { - # lto flag - if flag_enabled "lto" "$LTO_SUPPORT" "only-disable"; then + if [ "$LTO_SUPPORT" = "yes" ] && flag_enabled "lto" "no"; then TARGET_CFLAGS+=" $CFLAGS_OPTIM_LTO" TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_LTO" TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO" - else - TARGET_CFLAGS+=" $CFLAGS_OPTIM_NOLTO" - TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_NOLTO" - TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_NOLTO" fi # gold flag From 090274515abdb53a8865e34aae882ba513d3237a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 02/58] ffmpegx: drop lto build flag Signed-off-by: Matthias Reichl --- packages/addons/addon-depends/ffmpegx/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/addon-depends/ffmpegx/package.mk b/packages/addons/addon-depends/ffmpegx/package.mk index ccb8b8a04e..84bed38668 100644 --- a/packages/addons/addon-depends/ffmpegx/package.mk +++ b/packages/addons/addon-depends/ffmpegx/package.mk @@ -28,7 +28,7 @@ PKG_DEPENDS_TARGET="toolchain bzip2 fdk-aac libvorbis openssl opus x264 x265 zli PKG_SECTION="multimedia" PKG_LONGDESC="FFmpegx is an complete FFmpeg build to support encoding and decoding" # ffmpeg builds better with these options -PKG_BUILD_FLAGS="-gold -lto" +PKG_BUILD_FLAGS="-gold" # Dependencies get_graphicdrivers From 1d03668b3f64853a38e99091699e3fed3952f68e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 03/58] libdvbcsa: drop lto build flag Signed-off-by: Matthias Reichl --- packages/addons/addon-depends/libdvbcsa/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/addon-depends/libdvbcsa/package.mk b/packages/addons/addon-depends/libdvbcsa/package.mk index 81f14fb8ae..e42da774e6 100644 --- a/packages/addons/addon-depends/libdvbcsa/package.mk +++ b/packages/addons/addon-depends/libdvbcsa/package.mk @@ -30,7 +30,7 @@ PKG_SHORTDESC="libdvbcsa is a free implementation of the DVB Common Scrambling A PKG_LONGDESC="libdvbcsa is a free implementation of the DVB Common Scrambling Algorithm - DVB/CSA - with encryption and decryption capabilities" PKG_TOOLCHAIN="autotools" # libdvbcsa is a bit faster without LTO, and tests will fail with gcc-5.x -PKG_BUILD_FLAGS="-lto +pic" +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static --with-sysroot=$SYSROOT_PREFIX" From b445c4ce7f29acc57ef2e57714770cee9868cfe8 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 04/58] iw: drop lto build flag Signed-off-by: Matthias Reichl --- .../addons/addon-depends/network-tools-depends/iw/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/addons/addon-depends/network-tools-depends/iw/package.mk b/packages/addons/addon-depends/network-tools-depends/iw/package.mk index 1e95febf35..e2082d9189 100644 --- a/packages/addons/addon-depends/network-tools-depends/iw/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/iw/package.mk @@ -28,7 +28,6 @@ PKG_SECTION="tools" PKG_SHORTDESC="iw is a new nl80211 based CLI configuration utility for wireless devices" PKG_LONGDESC="iw is a new nl80211 based CLI configuration utility for wireless devices. It supports all new drivers that have been added to the kernel recently." # iw fails at runtime with lto enabled -PKG_BUILD_FLAGS="-lto" pre_configure_target() { export LDFLAGS="$LDFLAGS -pthread" From 80af4027d0aee77fd03de735206f40ec46e7e99f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 05/58] efivar: drop lto build flag Signed-off-by: Matthias Reichl --- .../addon-depends/system-tools-depends/depends/efivar/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/addons/addon-depends/system-tools-depends/depends/efivar/package.mk b/packages/addons/addon-depends/system-tools-depends/depends/efivar/package.mk index dbf3fef531..a7b7329410 100644 --- a/packages/addons/addon-depends/system-tools-depends/depends/efivar/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/depends/efivar/package.mk @@ -29,7 +29,6 @@ PKG_DEPENDS_TARGET="toolchain efivar:host" PKG_SECTION="tools" PKG_SHORTDESC="evivar: maniulate EFI Variables" PKG_LONGDESC="Tools and library to manipulate EFI variables." -PKG_BUILD_FLAGS="-lto" make_host() { make -C src/ makeguids From 8382c250d3cdb608dbc98a3157ffbbba3f5057af Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 06/58] efibootmgr: drop lto build flag Signed-off-by: Matthias Reichl --- .../addon-depends/system-tools-depends/efibootmgr/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/addons/addon-depends/system-tools-depends/efibootmgr/package.mk b/packages/addons/addon-depends/system-tools-depends/efibootmgr/package.mk index 71ec002d1e..f61b0c82c7 100644 --- a/packages/addons/addon-depends/system-tools-depends/efibootmgr/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/efibootmgr/package.mk @@ -28,7 +28,6 @@ PKG_DEPENDS_TARGET="toolchain efivar pciutils zlib" PKG_SECTION="tools" PKG_SHORTDESC="EFI Boot Manager" PKG_LONGDESC="This is a Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager configuration. This application can create and destroy boot entries, change the boot order, change the next running boot option, and more." -PKG_BUILD_FLAGS="-lto" pre_make_target() { export EXTRA_CFLAGS="$CFLAGS -I$SYSROOT_PREFIX/usr/include -I$SYSROOT_PREFIX/usr/include/efivar -fgnu89-inline" From e730bdb6a72f519c5b67dc8401bb667bbb07a635 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 07/58] chromium: drop lto build flag Signed-off-by: Matthias Reichl --- packages/addons/browser/chromium/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/addons/browser/chromium/package.mk b/packages/addons/browser/chromium/package.mk index e1b3f30400..90c9ae84d7 100644 --- a/packages/addons/browser/chromium/package.mk +++ b/packages/addons/browser/chromium/package.mk @@ -32,7 +32,6 @@ PKG_SECTION="browser" PKG_SHORTDESC="Chromium Browser: the open-source web browser from Google" PKG_LONGDESC="Chromium Browser ($PKG_VERSION): the open-source web browser from Google" PKG_TOOLCHAIN="manual" -PKG_BUILD_FLAGS="-lto" PKG_IS_ADDON="yes" PKG_ADDON_NAME="Chromium" From 8f8184f53f24fb7a1564c8d017f897b824c5471a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 08/58] librespot: drop lto build flag Signed-off-by: Matthias Reichl --- packages/addons/service/librespot/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/addons/service/librespot/package.mk b/packages/addons/service/librespot/package.mk index 1305adb896..bd3306f05e 100644 --- a/packages/addons/service/librespot/package.mk +++ b/packages/addons/service/librespot/package.mk @@ -30,7 +30,6 @@ PKG_SECTION="service" PKG_SHORTDESC="Librespot: play Spotify through LibreELEC using a Spotify app as a remote" PKG_LONGDESC="Librespot ($PKG_VERSION) plays Spotify through LibreELEC using the open source librespot library using a Spotify app as a remote." PKG_TOOLCHAIN="manual" -PKG_BUILD_FLAGS="-lto" PKG_IS_ADDON="yes" PKG_ADDON_NAME="Librespot" From 0bcd69f6d966686ecfcbcd32112a94ea530ea53b Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 09/58] mono: drop lto build flag Signed-off-by: Matthias Reichl --- packages/addons/tools/mono/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/addons/tools/mono/package.mk b/packages/addons/tools/mono/package.mk index d441c0071c..f13bfa40bf 100644 --- a/packages/addons/tools/mono/package.mk +++ b/packages/addons/tools/mono/package.mk @@ -30,7 +30,6 @@ PKG_SECTION="tools" PKG_SHORTDESC="Mono: a cross platform, open source .NET framework" PKG_LONGDESC="Mono ($PKG_VERSION) is a software platform designed to allow developers to easily create cross platform applications part of the .NET Foundation" PKG_TOOLCHAIN="autotools" -PKG_BUILD_FLAGS="-lto" PKG_IS_ADDON="yes" PKG_ADDON_NAME="Mono" From c23a16ec7e3286df32c8449021572c4b0106354e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 10/58] alsa-lib: drop lto build flag Signed-off-by: Matthias Reichl --- packages/audio/alsa-lib/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/audio/alsa-lib/package.mk b/packages/audio/alsa-lib/package.mk index ec6a3ae31c..e85fdd82fb 100644 --- a/packages/audio/alsa-lib/package.mk +++ b/packages/audio/alsa-lib/package.mk @@ -28,7 +28,7 @@ PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="audio" PKG_LONGDESC="ALSA (Advanced Linux Sound Architecture) is the next generation Linux Sound API." PKG_TOOLCHAIN="autotools" -PKG_BUILD_FLAGS="-lto +pic" +PKG_BUILD_FLAGS="+pic" if build_with_debug; then PKG_ALSA_DEBUG=--with-debug From a83bc0c08664a06b4ffee3c6581ee878a41feb59 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 11/58] flac: drop lto build flag Signed-off-by: Matthias Reichl --- packages/audio/flac/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/audio/flac/package.mk b/packages/audio/flac/package.mk index 54361a1bba..bf9b8d483b 100644 --- a/packages/audio/flac/package.mk +++ b/packages/audio/flac/package.mk @@ -29,7 +29,7 @@ PKG_SHORTDESC="flac: An Free Lossless Audio Codec" PKG_LONGDESC="Grossly oversimplified, FLAC is similar to MP3, but lossless, meaning that audio is compressed in FLAC without throwing away any information. This is similar to how Zip works, except with FLAC you will get much better compression because it is designed specifically for audio." PKG_TOOLCHAIN="autotools" # flac-1.3.1 dont build with LTO support -PKG_BUILD_FLAGS="-lto +pic" +PKG_BUILD_FLAGS="+pic" # package specific configure options PKG_CONFIGURE_OPTS_TARGET="--enable-static \ From bd2171b6fcc930990223a8e9ae6c1ec9fdb69c46 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 12/58] soxr: drop lto build flag Signed-off-by: Matthias Reichl --- packages/audio/soxr/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/audio/soxr/package.mk b/packages/audio/soxr/package.mk index f72f19db54..130a2c6747 100644 --- a/packages/audio/soxr/package.mk +++ b/packages/audio/soxr/package.mk @@ -28,7 +28,7 @@ PKG_SOURCE_DIR="$PKG_NAME-$PKG_VERSION-Source" PKG_DEPENDS_TARGET="toolchain cmake:host" PKG_SECTION="audio" PKG_LONGDESC="The SoX Resampler library performs one-dimensional sample-rate conversion. It may be used to resample PCM-encoded audio." -PKG_BUILD_FLAGS="-lto +pic" +PKG_BUILD_FLAGS="+pic" PKG_CMAKE_OPTS_TARGET="-DBUILD_EXAMPLES=OFF \ -DBUILD_SHARED_LIBS=OFF \ From a3bf19078b01c978630e05b45d13752bc396461d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 13/58] mysql: drop lto build flag Signed-off-by: Matthias Reichl --- packages/databases/mysql/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/databases/mysql/package.mk b/packages/databases/mysql/package.mk index 7dd380a7a3..ab76e4863d 100644 --- a/packages/databases/mysql/package.mk +++ b/packages/databases/mysql/package.mk @@ -28,7 +28,6 @@ PKG_DEPENDS_TARGET="toolchain zlib ncurses openssl boost mysql:host" PKG_SECTION="database" PKG_SHORTDESC="mysql: A database server" PKG_LONGDESC="MySQL is a SQL (Structured Query Language) database server. SQL is the most popular database language in the world. MySQL is a client server implementation that consists of a server daemon mysqld and many different client programs/libraries." -build_with_debug && [ "$TARGET_ARCH" = "aarch64" ] && PKG_BUILD_FLAGS="-lto" post_unpack() { sed -i 's|GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME libmysql OUTPUT_NAME)|SET(LIBMYSQL_OS_OUTPUT_NAME "mysqlclient")|' $PKG_BUILD/scripts/CMakeLists.txt From d6ba56ef5f1359587405b33423dd61a7aaae4b41 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 14/58] gdb: drop lto build flag Signed-off-by: Matthias Reichl --- packages/debug/gdb/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/debug/gdb/package.mk b/packages/debug/gdb/package.mk index 28ec379e25..3c9c267cb9 100644 --- a/packages/debug/gdb/package.mk +++ b/packages/debug/gdb/package.mk @@ -28,7 +28,6 @@ PKG_SECTION="debug" PKG_SHORTDESC="gdb: The GNU Debugger" PKG_LONGDESC="The purpose of a debugger such as GDB is to allow you to see what is going on ``inside'' another program while it executes--or what another program was doing at the moment it crashed." # gdb could fail on runtime if build with LTO support -PKG_BUILD_FLAGS="-lto" CC_FOR_BUILD="$HOST_CC" CFLAGS_FOR_BUILD="$HOST_CFLAGS" From 4c3e5d330c5f69a021f41e359f2466bd7154778a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 15/58] valgrind: drop lto build flag Signed-off-by: Matthias Reichl --- packages/debug/valgrind/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/debug/valgrind/package.mk b/packages/debug/valgrind/package.mk index 38746cd02a..261f4f5f0b 100644 --- a/packages/debug/valgrind/package.mk +++ b/packages/debug/valgrind/package.mk @@ -27,7 +27,6 @@ PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="debug" PKG_SHORTDESC="A tool to help find memory-management problems in programs" PKG_LONGDESC="A tool to help find memory-management problems in programs" -PKG_BUILD_FLAGS="-lto" if [ "$TARGET_ARCH" = "arm" ]; then PKG_CONFIGURE_OPTS_TARGET="--enable-only32bit" From 16f29e954611c975003b4e9c67229f9044c18cba Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 16/58] glibc: drop lto build flag Signed-off-by: Matthias Reichl --- packages/devel/glibc/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/devel/glibc/package.mk b/packages/devel/glibc/package.mk index eec33cabf9..67b6c5bb5a 100644 --- a/packages/devel/glibc/package.mk +++ b/packages/devel/glibc/package.mk @@ -28,7 +28,7 @@ PKG_DEPENDS_INIT="glibc" PKG_SECTION="toolchain/devel" PKG_SHORTDESC="glibc: The GNU C library" PKG_LONGDESC="The Glibc package contains the main C library. This library provides the basic routines for allocating memory, searching directories, opening and closing files, reading and writing files, string handling, pattern matching, arithmetic, and so on." -PKG_BUILD_FLAGS="-lto -gold" +PKG_BUILD_FLAGS="-gold" PKG_CONFIGURE_OPTS_TARGET="BASH_SHELL=/bin/sh \ ac_cv_path_PERL=no \ From a2b68bb4c63eee068a25cf4ae90f40ef9d2b13b4 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 17/58] ncurses: drop lto build flag Signed-off-by: Matthias Reichl --- packages/devel/ncurses/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/devel/ncurses/package.mk b/packages/devel/ncurses/package.mk index 3dc3cc2c3a..12c5e5166e 100644 --- a/packages/devel/ncurses/package.mk +++ b/packages/devel/ncurses/package.mk @@ -28,7 +28,7 @@ PKG_SECTION="devel" PKG_SHORTDESC="ncurses: The ncurses (new curses) library" PKG_LONGDESC="The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more. It uses terminfo format, supports pads and color and multiple highlights and forms characters and function-key mapping, and has all the other SYSV-curses enhancements over BSD curses." # causes some segmentation fault's (dialog) when compiled with gcc's link time optimization. -PKG_BUILD_FLAGS="-lto +pic" +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--without-ada \ --without-cxx \ From 84d41aa6d575e8a3df6e039928e0a9854216536d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 18/58] libretro-bluemsx: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-bluemsx/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/emulation/libretro-bluemsx/package.mk b/packages/emulation/libretro-bluemsx/package.mk index e5b7567ddb..9a1a469342 100644 --- a/packages/emulation/libretro-bluemsx/package.mk +++ b/packages/emulation/libretro-bluemsx/package.mk @@ -28,7 +28,6 @@ PKG_DEPENDS_TARGET="toolchain kodi-platform" PKG_SECTION="emulation" PKG_SHORTDESC="game.libretro.bluemsx: BlueMSX for Kodi" PKG_LONGDESC="game.libretro.bluemsx: BlueMSX for Kodi" -PKG_BUILD_FLAGS="-lto" PKG_LIBNAME="bluemsx_libretro.so" PKG_LIBPATH="$PKG_LIBNAME" From 7443b5672b6221dc8b2b2bd07d24a176224a459c Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 19/58] libretro-dosbox: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-dosbox/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/emulation/libretro-dosbox/package.mk b/packages/emulation/libretro-dosbox/package.mk index 03cdc8bdd0..66356fd1eb 100644 --- a/packages/emulation/libretro-dosbox/package.mk +++ b/packages/emulation/libretro-dosbox/package.mk @@ -28,7 +28,7 @@ PKG_DEPENDS_TARGET="toolchain kodi-platform" PKG_SECTION="emulation" PKG_SHORTDESC="game.libretro.dosbox: DOSBox for Kodi" PKG_LONGDESC="game.libretro.dosbox: DOSBox for Kodi" -PKG_BUILD_FLAGS="-lto +pic" +PKG_BUILD_FLAGS="+pic" PKG_LIBNAME="dosbox_libretro.so" PKG_LIBPATH="$PKG_LIBNAME" From b4b76c97c668f3cbaebc322d71ebdabf021d2c0f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 20/58] libretro-fbalpha: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-fbalpha/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/emulation/libretro-fbalpha/package.mk b/packages/emulation/libretro-fbalpha/package.mk index a7ed9673d0..b2536f2cfc 100644 --- a/packages/emulation/libretro-fbalpha/package.mk +++ b/packages/emulation/libretro-fbalpha/package.mk @@ -30,7 +30,6 @@ PKG_SHORTDESC="game.libretro.fba: fba for Kodi" PKG_LONGDESC="game.libretro.fba: fba for Kodi" PKG_TOOLCHAIN="manual" # linking takes too long with lto -PKG_BUILD_FLAGS="-lto" PKG_LIBNAME="fbalpha_libretro.so" PKG_LIBPATH="$PKG_LIBNAME" From 660d7862ac13ffc1eade82b82ec905c9a293254e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 21/58] libretro-genplus: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-genplus/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/emulation/libretro-genplus/package.mk b/packages/emulation/libretro-genplus/package.mk index e272ad0907..e797077d48 100644 --- a/packages/emulation/libretro-genplus/package.mk +++ b/packages/emulation/libretro-genplus/package.mk @@ -29,7 +29,6 @@ PKG_SECTION="emulation" PKG_SHORTDESC="game.libretro.genplus: Genesis Plus GX for Kodi" PKG_LONGDESC="game.libretro.genplus: Genesis Plus GX for Kodi" PKG_TOOLCHAIN="manual" -PKG_BUILD_FLAGS="-lto" PKG_LIBNAME="genesis_plus_gx_libretro.so" PKG_LIBPATH="$PKG_LIBNAME" From 347bda0f68eb3c95eace8d77467ea96c02522563 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 22/58] libretro-mame: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-mame/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/emulation/libretro-mame/package.mk b/packages/emulation/libretro-mame/package.mk index 8c7efa42cc..d8cab4911f 100644 --- a/packages/emulation/libretro-mame/package.mk +++ b/packages/emulation/libretro-mame/package.mk @@ -28,7 +28,7 @@ PKG_DEPENDS_TARGET="toolchain kodi-platform" PKG_SECTION="emulation" PKG_SHORTDESC="game.libretro.mame: MAME for Kodi" PKG_LONGDESC="game.libretro.mame: MAME for Kodi" -PKG_BUILD_FLAGS="-gold -lto" +PKG_BUILD_FLAGS="-gold" PKG_LIBNAME="mame_libretro.so" PKG_LIBPATH="$PKG_LIBNAME" From 7ac038b67bd5a8e456dd98c6674b92438c6cf8f3 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 23/58] libretro-mame2000: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-mame2000/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/emulation/libretro-mame2000/package.mk b/packages/emulation/libretro-mame2000/package.mk index d637695b1a..e09ffca09e 100644 --- a/packages/emulation/libretro-mame2000/package.mk +++ b/packages/emulation/libretro-mame2000/package.mk @@ -28,7 +28,6 @@ PKG_DEPENDS_TARGET="toolchain kodi-platform" PKG_SECTION="emulation" PKG_SHORTDESC="2000 version of MAME (0.37b5) for libretro" PKG_LONGDESC="2000 version of MAME (0.37b5) for libretro" -PKG_BUILD_FLAGS="-lto" PKG_LIBNAME="mame2000_libretro.so" PKG_LIBPATH="$PKG_LIBNAME" From d0c42b835f8c4c043e26a892ad72ca2a24b4cb48 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 24/58] libretro-mame2010: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-mame2010/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/emulation/libretro-mame2010/package.mk b/packages/emulation/libretro-mame2010/package.mk index 83575dd5ad..ea81138f07 100644 --- a/packages/emulation/libretro-mame2010/package.mk +++ b/packages/emulation/libretro-mame2010/package.mk @@ -28,7 +28,6 @@ PKG_DEPENDS_TARGET="toolchain kodi-platform" PKG_SECTION="emulation" PKG_SHORTDESC="Late 2010 version of MAME (0.139) for libretro" PKG_LONGDESC="Late 2010 version of MAME (0.139) for libretro" -PKG_BUILD_FLAGS="-lto" PKG_LIBNAME="mame2010_libretro.so" PKG_LIBPATH="$PKG_LIBNAME" From 39ccb9d15553de725ffa4c8d13acc2128440a2a7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 25/58] libretro-mame2014: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-mame2014/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/emulation/libretro-mame2014/package.mk b/packages/emulation/libretro-mame2014/package.mk index 45d272de93..67290b8529 100644 --- a/packages/emulation/libretro-mame2014/package.mk +++ b/packages/emulation/libretro-mame2014/package.mk @@ -28,7 +28,6 @@ PKG_DEPENDS_TARGET="toolchain kodi-platform" PKG_SECTION="emulation" PKG_SHORTDESC="Late 2014/Early 2015 version of MAME (0.159-ish) for libretro" PKG_LONGDESC="Late 2014/Early 2015 version of MAME (0.159-ish) for libretro" -PKG_BUILD_FLAGS="-lto" PKG_LIBNAME="mame2014_libretro.so" PKG_LIBPATH="$PKG_LIBNAME" From 6e39bfac5a696b76e43a833a67d0aa728e1992c4 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 26/58] libretro-ppsspp: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-ppsspp/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/emulation/libretro-ppsspp/package.mk b/packages/emulation/libretro-ppsspp/package.mk index bbb6ad3bda..7961adeb0a 100644 --- a/packages/emulation/libretro-ppsspp/package.mk +++ b/packages/emulation/libretro-ppsspp/package.mk @@ -28,7 +28,6 @@ PKG_SECTION="emulation" PKG_SHORTDESC="A PSP emulator for Android, Windows, Mac, Linux and Blackberry 10, written in C++." PKG_LONGDESC="A PSP emulator for Android, Windows, Mac, Linux and Blackberry 10, written in C++." PKG_TOOLCHAIN="make" -PKG_BUILD_FLAGS="-lto" PKG_LIBNAME="ppsspp_libretro.so" PKG_LIBPATH="libretro/$PKG_LIBNAME" From 699d66fc87355f36ed6aa373efbed0e6812e7edd Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 27/58] libretro-scummvm: drop lto build flag Signed-off-by: Matthias Reichl --- packages/emulation/libretro-scummvm/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/emulation/libretro-scummvm/package.mk b/packages/emulation/libretro-scummvm/package.mk index 5e18dd6c5e..e30a1e3cc2 100644 --- a/packages/emulation/libretro-scummvm/package.mk +++ b/packages/emulation/libretro-scummvm/package.mk @@ -29,7 +29,6 @@ PKG_SECTION="emulation" PKG_SHORTDESC="game.libretro.scummvm: scummvm for Kodi" PKG_LONGDESC="game.libretro.scummvm: scummvm for Kodi" PKG_TOOLCHAIN="manual" -PKG_BUILD_FLAGS="-lto" PKG_LIBNAME="scummvm_libretro.so" PKG_LIBPATH="backends/platform/libretro/build/$PKG_LIBNAME" From bc508824c1d905b7a910976c4d1b53a440e06d13 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 28/58] kodi: drop lto build flag Signed-off-by: Matthias Reichl --- packages/mediacenter/kodi/package.mk | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index f4420f76b8..246860ae71 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -33,8 +33,6 @@ PKG_LONGDESC="Kodi Media Center (which was formerly named Xbox Media Center or X # Single threaded LTO is very slow so rely on Kodi for parallel LTO support if [ "$LTO_SUPPORT" = "yes" ] && ! build_with_debug; then PKG_KODI_USE_LTO="-DUSE_LTO=$CONCURRENCY_MAKE_LEVEL" -else - PKG_BUILD_FLAGS="-lto" fi get_graphicdrivers From bafca3c2754c39e5c7937c9ff2e8376f32c9a78b Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 29/58] ffmpeg: drop lto build flag Signed-off-by: Matthias Reichl --- packages/multimedia/ffmpeg/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/multimedia/ffmpeg/package.mk b/packages/multimedia/ffmpeg/package.mk index 73136814e1..9086882a49 100644 --- a/packages/multimedia/ffmpeg/package.mk +++ b/packages/multimedia/ffmpeg/package.mk @@ -30,7 +30,7 @@ PKG_DEPENDS_TARGET="toolchain yasm:host zlib bzip2 openssl speex" PKG_SECTION="multimedia" PKG_SHORTDESC="FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video." PKG_LONGDESC="FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video." -PKG_BUILD_FLAGS="-gold -lto" +PKG_BUILD_FLAGS="-gold" # Dependencies get_graphicdrivers From 1a8f86130816ba32c833a9fe099251e6c6daecf9 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 30/58] simplejson: drop lto build flag Signed-off-by: Matthias Reichl --- packages/python/system/simplejson/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/python/system/simplejson/package.mk b/packages/python/system/simplejson/package.mk index d72b129daf..8e296de042 100644 --- a/packages/python/system/simplejson/package.mk +++ b/packages/python/system/simplejson/package.mk @@ -28,7 +28,6 @@ PKG_SECTION="python/system" PKG_SHORTDESC="simplejson: a simple, fast, complete, correct and extensible JSON encoder and decoder for Python 2.5+." PKG_LONGDESC="simplejson is a simple, fast, complete, correct and extensible JSON encoder and decoder for Python 2.5+. It is pure Python code with no dependencies, but includes an optional C extension for a serious speed boost." PKG_TOOLCHAIN="manual" -PKG_BUILD_FLAGS="-lto" pre_make_target() { export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr" From ec1c0ee9fefb1775c5d8c9b53e361b36dd755863 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 31/58] libgcrypt: drop lto build flag Signed-off-by: Matthias Reichl --- packages/security/libgcrypt/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/security/libgcrypt/package.mk b/packages/security/libgcrypt/package.mk index 635b475353..518677db73 100644 --- a/packages/security/libgcrypt/package.mk +++ b/packages/security/libgcrypt/package.mk @@ -30,7 +30,6 @@ PKG_LONGDESC="Libgcrypt is a general purpose cryptographic library based on the PKG_TOOLCHAIN="autotools" # libgcrypt-1.7.x fails to build with LTO support # see for example https://bugs.gentoo.org/show_bug.cgi?id=581114 -PKG_BUILD_FLAGS="-lto" PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \ ac_cv_sys_symbol_underscore=no \ From 937d13313e56c98e710de53444778c1020a34bda Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 32/58] grub: drop lto build flag Signed-off-by: Matthias Reichl --- packages/tools/grub/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/tools/grub/package.mk b/packages/tools/grub/package.mk index 994b93b3ea..ae68774dd0 100755 --- a/packages/tools/grub/package.mk +++ b/packages/tools/grub/package.mk @@ -28,7 +28,6 @@ PKG_SECTION="tools" PKG_SHORTDESC="GNU GRUB is a Multiboot boot loader." PKG_LONGDESC="GNU GRUB is a Multiboot boot loader that was derived from GRUB, the GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn" PKG_TOOLCHAIN="configure" -PKG_BUILD_FLAGS="-lto" PKG_CONFIGURE_OPTS_TARGET="--target=i386-pc-linux \ --disable-nls \ From a8cde01f4e28f3765c76274cc462822069c49886 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 33/58] wayland: drop lto build flag Signed-off-by: Matthias Reichl --- packages/wayland/wayland/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/wayland/wayland/package.mk b/packages/wayland/wayland/package.mk index af7b4f7344..086062d45e 100644 --- a/packages/wayland/wayland/package.mk +++ b/packages/wayland/wayland/package.mk @@ -28,7 +28,6 @@ PKG_DEPENDS_HOST="libffi:host expat:host libxml2:host" PKG_SECTION="wayland" PKG_SHORTDESC="a display server protocol" PKG_LONGDESC="a display server protocol" -PKG_BUILD_FLAGS="-lto" PKG_CONFIGURE_OPTS_HOST="--enable-shared \ --disable-static \ From 984ed011d35da49b401702c5e6df2fcdccea6b70 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 34/58] weston: drop lto build flag Signed-off-by: Matthias Reichl --- packages/wayland/weston/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/wayland/weston/package.mk b/packages/wayland/weston/package.mk index 14301478e9..e84dd0e6d2 100644 --- a/packages/wayland/weston/package.mk +++ b/packages/wayland/weston/package.mk @@ -27,7 +27,6 @@ PKG_DEPENDS_TARGET="toolchain wayland-protocols libdrm libxkbcommon libinput cai PKG_SECTION="wayland" PKG_SHORTDESC="Reference implementation of a Wayland compositor" PKG_LONGDESC="Reference implementation of a Wayland compositor" -PKG_BUILD_FLAGS="-lto" PKG_CONFIGURE_OPTS_TARGET="CFLAGS=-DMESA_EGL_NO_X11_HEADERS \ LIBS=-lturbojpeg \ From 034d192b4b025caf119894c959b5b9b250cde807 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 29 May 2018 21:50:47 +0200 Subject: [PATCH 35/58] xf86-video-intel: drop lto build flag Signed-off-by: Matthias Reichl --- packages/x11/driver/xf86-video-intel/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/x11/driver/xf86-video-intel/package.mk b/packages/x11/driver/xf86-video-intel/package.mk index dc55df7900..37d2a914ac 100644 --- a/packages/x11/driver/xf86-video-intel/package.mk +++ b/packages/x11/driver/xf86-video-intel/package.mk @@ -30,7 +30,6 @@ PKG_SHORTDESC="xf86-video-intel: The Xorg driver for Intel video chips" PKG_LONGDESC="The Xorg driver for Intel i810, i815, 830M, 845G, 852GM, 855GM, 865G, 915G, 915GM and 965G video chips." PKG_TOOLCHAIN="autotools" # xf86-video-intel is broken enough. dont link with LTO -PKG_BUILD_FLAGS="-lto" PKG_CONFIGURE_OPTS_TARGET="--disable-backlight \ --disable-backlight-helper \ From 57832185ccd6af84cf06b20488dc462ac4eba65e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 36/58] config/functions: use gcc-ar/gcc-nm/gcc-ranlib when LTO is enabled This is needed to properly create static libs with LTO objects. Signed-off-by: Matthias Reichl --- config/functions | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/config/functions b/config/functions index c20d577ab0..a8eddc287b 100644 --- a/config/functions +++ b/config/functions @@ -1,8 +1,13 @@ setup_toolchain() { + TARGET_AR_NM_RANLIB_PREFIX="" + if [ "$LTO_SUPPORT" = "yes" ] && flag_enabled "lto" "no"; then TARGET_CFLAGS+=" $CFLAGS_OPTIM_LTO" TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_LTO" TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO" + # static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of + # default binutils versions + TARGET_AR_NM_RANLIB_PREFIX="gcc-" fi # gold flag @@ -46,9 +51,9 @@ setup_toolchain() { export CPP="${TARGET_PREFIX}cpp" export LD="${TARGET_PREFIX}ld" export AS="${TARGET_PREFIX}as" - export AR="${TARGET_PREFIX}ar" - export NM="${TARGET_PREFIX}nm" - export RANLIB="${TARGET_PREFIX}ranlib" + export AR="${TARGET_PREFIX}${TARGET_AR_NM_RANLIB_PREFIX}ar" + export NM="${TARGET_PREFIX}${TARGET_AR_NM_RANLIB_PREFIX}nm" + export RANLIB="${TARGET_PREFIX}${TARGET_AR_NM_RANLIB_PREFIX}ranlib" export OBJCOPY="${TARGET_PREFIX}objcopy" export OBJDUMP="${TARGET_PREFIX}objdump" export STRIP="${TARGET_PREFIX}strip" From b03cb4cc2fabba3dd14b57f8ce562465951523d0 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 37/58] config/optimize, config/functions: refactor lto flags Split up the LTO flags in config/optimize and assemble full C/CXX/LDFLAGS in config/functions. Add flags for parallel/single-threaded lto and fat/non-fat lto object creation. Change the default lto build flag to use non-fat lto objects. Signed-off-by: Matthias Reichl --- config/functions | 6 +++--- config/optimize | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/config/functions b/config/functions index a8eddc287b..ced0dbe608 100644 --- a/config/functions +++ b/config/functions @@ -2,9 +2,9 @@ setup_toolchain() { TARGET_AR_NM_RANLIB_PREFIX="" if [ "$LTO_SUPPORT" = "yes" ] && flag_enabled "lto" "no"; then - TARGET_CFLAGS+=" $CFLAGS_OPTIM_LTO" - TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_LTO" - TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO" + TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" + TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" + TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL" # static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of # default binutils versions TARGET_AR_NM_RANLIB_PREFIX="gcc-" diff --git a/config/optimize b/config/optimize index 7d498ee537..5d0b8efab0 100644 --- a/config/optimize +++ b/config/optimize @@ -32,12 +32,12 @@ HOST_CFLAGS="$HOST_CFLAGS -Wno-format-security" HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security" # lto flags -CFLAGS_OPTIM_LTO="-flto -ffat-lto-objects" -CXXFLAGS_OPTIM_LTO="-flto -ffat-lto-objects" -LDFLAGS_OPTIM_LTO="-fuse-linker-plugin -flto" -CFLAGS_OPTIM_NOLTO="-fno-lto" -CXXFLAGS_OPTIM_NOLTO="-fno-lto" -LDFLAGS_OPTIM_NOLTO="-fno-lto" +FLAGS_OPTIM_LTO_NO_PARALLEL="-flto" +FLAGS_OPTIM_LTO_PARALLEL="-flto=${CONCURRENCY_MAKE_LEVEL}" +FLAGS_OPTIM_LTO_NO_FAT="-fno-fat-lto-objects" +FLAGS_OPTIM_LTO_FAT="-ffat-lto-objects" +FLAGS_OPTIM_LTO_OFF="-fno-lto" +LDFLAGS_OPTIM_LTO_COMMON="-fuse-linker-plugin" # gold flags LDFLAGS_OPTIM_GOLD="-fuse-ld=gold" From fc6144ba37262f037b9aa85a6b444445bd291239 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 38/58] config/functions: support lto-parallel, lto-fat and lto-off build flags Signed-off-by: Matthias Reichl --- config/functions | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/config/functions b/config/functions index ced0dbe608..743b979175 100644 --- a/config/functions +++ b/config/functions @@ -1,13 +1,31 @@ setup_toolchain() { TARGET_AR_NM_RANLIB_PREFIX="" - if [ "$LTO_SUPPORT" = "yes" ] && flag_enabled "lto" "no"; then - TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" - TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" - TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL" - # static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of - # default binutils versions - TARGET_AR_NM_RANLIB_PREFIX="gcc-" + if [ "$LTO_SUPPORT" = "yes" ]; then + if flag_enabled "lto-parallel" "no"; then + TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" + TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" + TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_PARALLEL" + # static libs with lto info require gcc-ar/gcc-nm/gcc-ranlib instead of + # default binutils versions + TARGET_AR_NM_RANLIB_PREFIX="gcc-" + elif flag_enabled "lto-fat" "no"; then + TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT" + TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT" + TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL" + TARGET_AR_NM_RANLIB_PREFIX="gcc-" + elif flag_enabled "lto" "no"; then + TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" + TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT" + TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL" + TARGET_AR_NM_RANLIB_PREFIX="gcc-" + fi + fi + + if flag_enabled "lto-off" "no"; then + TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_OFF" + TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_OFF" + TARGET_LDFLAGS+=" $FLAGS_OPTIM_LTO_OFF" fi # gold flag From 836bb36a4c5d4dcd3147811ac6d59cad66e334fe Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 39/58] ntfs-3g_ntfsprogs: enable lto Signed-off-by: Matthias Reichl --- packages/sysutils/ntfs-3g_ntfsprogs/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/sysutils/ntfs-3g_ntfsprogs/package.mk b/packages/sysutils/ntfs-3g_ntfsprogs/package.mk index 71006ca8f2..769d1f8646 100644 --- a/packages/sysutils/ntfs-3g_ntfsprogs/package.mk +++ b/packages/sysutils/ntfs-3g_ntfsprogs/package.mk @@ -28,6 +28,7 @@ PKG_SECTION="system" PKG_SHORTDESC="ntfs-3g_ntfsprogs: NTFS-3G Read/Write userspace driver" PKG_LONGDESC="The NTFS-3G_ntfsprogs driver is an open source, freely available NTFS driver for Linux with read and write support. It provides safe and fast handling of the Windows XP, Windows Server 2003, Windows 2000 and Windows Vista file systems." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="+lto" PKG_CONFIGURE_OPTS_TARGET="--exec-prefix=/usr/ \ --disable-dependency-tracking \ From 94ed1b6cdb00d30400181038c487cd4c311ac8d9 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 40/58] bluez: enable lto --- packages/network/bluez/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/network/bluez/package.mk b/packages/network/bluez/package.mk index 337bbd8e45..d25cbf69d9 100644 --- a/packages/network/bluez/package.mk +++ b/packages/network/bluez/package.mk @@ -28,6 +28,7 @@ PKG_SECTION="network" PKG_SHORTDESC="bluez: Bluetooth Tools and System Daemons for Linux." PKG_LONGDESC="Bluetooth Tools and System Daemons for Linux." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="+lto" if build_with_debug; then BLUEZ_CONFIG="--enable-debug" From 5a2fbf60ef506e1d7dbcb2dc0e6d2df9c481fa49 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 41/58] wpa_supplicant: enable lto-parallel Signed-off-by: Matthias Reichl --- packages/network/wpa_supplicant/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/network/wpa_supplicant/package.mk b/packages/network/wpa_supplicant/package.mk index 7b2583f1af..9c49c9712d 100644 --- a/packages/network/wpa_supplicant/package.mk +++ b/packages/network/wpa_supplicant/package.mk @@ -28,6 +28,7 @@ PKG_SECTION="network" PKG_SHORTDESC="wpa_supplicant: An IEEE 802.11i supplicant implementation" PKG_LONGDESC="The wpa_supplicant is a free software implementation of an IEEE 802.11i supplicant. In addition to being a full-featured WPA2 supplicant, it also has support for WPA and older wireless LAN security protocols." PKG_TOOLCHAIN="make" +PKG_BUILD_FLAGS="+lto-parallel" PKG_MAKE_OPTS_TARGET="-C wpa_supplicant V=1 LIBDIR=/usr/lib BINDIR=/usr/bin" PKG_MAKEINSTALL_OPTS_TARGET="-C wpa_supplicant V=1 LIBDIR=/usr/lib BINDIR=/usr/bin" From 5ac97bd725931b458dd93ab6854c5c3a0201496c Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 42/58] openssh: enable lto Signed-off-by: Matthias Reichl --- packages/network/openssh/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/network/openssh/package.mk b/packages/network/openssh/package.mk index 99218bb139..3fcd67461e 100644 --- a/packages/network/openssh/package.mk +++ b/packages/network/openssh/package.mk @@ -28,6 +28,7 @@ PKG_SECTION="network" PKG_SHORTDESC="openssh: An open re-implementation of the SSH package" PKG_LONGDESC="This is a Linux port of OpenBSD's excellent OpenSSH. OpenSSH is based on the last free version of Tatu Ylonen's SSH with all patent-encumbered algorithms removed, all known security bugs fixed, new features reintroduced, and many other clean-ups. SSH (Secure Shell) is a program to log into another computer over a network, to execute commands in a remote machine, and to move files from one machine to another. It provides strong authentication and secure communications over insecure channels. It is intended as a replacement for rlogin, rsh, rcp, and rdist." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="+lto" PKG_CONFIGURE_OPTS_TARGET="--sysconfdir=/etc/ssh \ --libexecdir=/usr/lib/openssh \ From d7e1d78d6763a89bd3f01994a941c521cd9c4edd Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 43/58] Python2: enable lto-parallel Signed-off-by: Matthias Reichl --- packages/lang/Python2/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lang/Python2/package.mk b/packages/lang/Python2/package.mk index 632cba5aaa..c55df9f0f7 100644 --- a/packages/lang/Python2/package.mk +++ b/packages/lang/Python2/package.mk @@ -31,7 +31,7 @@ PKG_SHORTDESC="python2: The Python2 programming language" PKG_LONGDESC="Python2 is an interpreted object-oriented programming language, and is often compared with Tcl, Perl, Java or Scheme." PKG_TOOLCHAIN="autotools" -PKG_BUILD_FLAGS="-parallel" +PKG_BUILD_FLAGS="-parallel +lto-parallel" PKG_PY_DISABLED_MODULES="_tkinter nis gdbm bsddb ossaudiodev" From 5bf18e2ffa7af542d4d464ba0ff1132352a84d9d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 44/58] dbus-glib: enable lto Signed-off-by: Matthias Reichl --- packages/devel/dbus-glib/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/devel/dbus-glib/package.mk b/packages/devel/dbus-glib/package.mk index 9765978313..29bc6a2997 100644 --- a/packages/devel/dbus-glib/package.mk +++ b/packages/devel/dbus-glib/package.mk @@ -28,7 +28,7 @@ PKG_SECTION="devel" PKG_SHORTDESC="dbus-glib: A message bus system" PKG_LONGDESC="D-BUS is a message bus, used for sending messages between applications. Conceptually, it fits somewhere in between raw sockets and CORBA in terms of complexity." PKG_TOOLCHAIN="autotools" -PKG_BUILD_FLAGS="+pic" +PKG_BUILD_FLAGS="+pic +lto" PKG_CONFIGURE_OPTS_TARGET="ac_cv_have_abstract_sockets=yes \ ac_cv_func_posix_getpwnam_r=yes \ From 67be79b1d3d73c81333ade97cbf157bdb6e91549 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 45/58] dbus-python: enable lto Signed-off-by: Matthias Reichl --- packages/python/system/dbus-python/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/python/system/dbus-python/package.mk b/packages/python/system/dbus-python/package.mk index 2b81dbab5f..5a68fc081b 100644 --- a/packages/python/system/dbus-python/package.mk +++ b/packages/python/system/dbus-python/package.mk @@ -27,6 +27,7 @@ PKG_DEPENDS_TARGET="toolchain Python2 dbus dbus-glib" PKG_SECTION="python/system" PKG_SHORTDESC="dbus-python: A message bus system" PKG_LONGDESC="D-BUS is a message bus, used for sending messages between applications. Conceptually, it fits somewhere in between raw sockets and CORBA in terms of complexity. D-BUS supports broadcast messages, asynchronous messages (thus decreasing latency), authentication, and more. It is designed to be low-overhead; messages are sent using a binary protocol, not using XML. D-BUS also supports a method call mapping for its messages, but it is not required; this makes using the system quite simple." +PKG_BUILD_FLAGS="+lto" pre_configure_target() { export PYTHON_CONFIG="$SYSROOT_PREFIX/usr/bin/python2-config" From b17daf4d2b9b6bda608aecef862ebe9348ed520d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 46/58] peripheral.joystick: enable lto Signed-off-by: Matthias Reichl --- .../kodi-binary-addons/peripheral.joystick/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/mediacenter/kodi-binary-addons/peripheral.joystick/package.mk b/packages/mediacenter/kodi-binary-addons/peripheral.joystick/package.mk index 36f9b75181..711b19a489 100644 --- a/packages/mediacenter/kodi-binary-addons/peripheral.joystick/package.mk +++ b/packages/mediacenter/kodi-binary-addons/peripheral.joystick/package.mk @@ -28,6 +28,7 @@ PKG_DEPENDS_TARGET="toolchain kodi-platform p8-platform" PKG_SECTION="" PKG_SHORTDESC="peripheral.joystick: Joystick support in Kodi" PKG_LONGDESC="peripheral.joystick provides joystick support and button mapping" +PKG_BUILD_FLAGS="+lto" PKG_IS_ADDON="yes" PKG_ADDON_TYPE="kodi.peripheral" From de230e9638ae959b9c162978d377abb8deee1cad Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 30 May 2018 15:54:29 +0200 Subject: [PATCH 47/58] libraw: enable fpic This fixes non-lto build of imagedecoder.raw on Generic Signed-off-by: Matthias Reichl --- packages/graphics/libraw/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/graphics/libraw/package.mk b/packages/graphics/libraw/package.mk index f4bb3b6827..a6c2687743 100644 --- a/packages/graphics/libraw/package.mk +++ b/packages/graphics/libraw/package.mk @@ -28,6 +28,7 @@ PKG_DEPENDS_TARGET="toolchain libjpeg-turbo" PKG_SECTION="graphics" PKG_SHORTDESC="A library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)" PKG_LONGDESC="A library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)" +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --disable-shared \ From dfb65402fa690d8fd47235d8135e7f59eb7d6b7d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 31 May 2018 12:29:28 +0200 Subject: [PATCH 48/58] documentation: document lto build flags Signed-off-by: Matthias Reichl --- packages/readme.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/readme.md b/packages/readme.md index 109dc27014..2ba73b4676 100644 --- a/packages/readme.md +++ b/packages/readme.md @@ -118,7 +118,10 @@ Set the variable `PKG_BUILD_FLAGS` in the `package.mk` to enable/disable the sin |----------|----------|----------------|-------------| | pic | disabled | target/init | [Position Independent Code](https://en.wikipedia.org/wiki/Position-independent_code) | | pic:host | disabled | host/bootstrap | see above | -| lto | depend on `LTO_SUPPORT` | target/init | can only disabled, use of "Link Time Optimisation" of the compiler | +| lto | disabled | target/init | enable LTO (Link Time optimization) in the compiler and linker unless disabled via `LTO_SUPPORT`. Compiles non-fat LTO objects (only bytecode) and performs single-threaded optimization at link stage | +| lto-parallel | disabled | target/init | same as `lto` but enable parallel optimization at link stage. Only enable this if the package build doesn't run multiple linkers in parallel otherwise this can result in lots of parallel processes! | +| lto-fat | disabled | target/init | same as `lto` but compile fat LTO objects (bytecode plus optimized assembly). This increases compile time but can be useful to create static libraries suitable both for LTO and non-LTO linking | +| lto-off | disabled | target/init | explicitly disable LTO in the compiler and linker | | gold | depend on `GOLD_SUPPORT` | target/init | can only disabled, use of the GOLD-Linker | | parallel | enabled | all | `make` or `ninja` builds with multiple threads/processes (or not) | From 4b4c2ecd8d2ece931391adcca42f71366310bd0c Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 49/58] icu: enable pic Signed-off-by: Matthias Reichl --- packages/addons/addon-depends/icu/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/addons/addon-depends/icu/package.mk b/packages/addons/addon-depends/icu/package.mk index 4d3c05ed16..c1acaa318a 100644 --- a/packages/addons/addon-depends/icu/package.mk +++ b/packages/addons/addon-depends/icu/package.mk @@ -28,6 +28,7 @@ PKG_DEPENDS_TARGET="toolchain icu:host" PKG_SECTION="textproc" PKG_SHORTDESC="International Components for Unicode library" PKG_LONGDESC="International Components for Unicode library" +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_HOST="--enable-static --disable-shared" From c7827d606db7c3a3aa1e089ba22223df3fe302d7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 50/58] libugpio: enable pic Signed-off-by: Matthias Reichl --- packages/addons/addon-depends/lcdd-depends/libugpio/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/addons/addon-depends/lcdd-depends/libugpio/package.mk b/packages/addons/addon-depends/lcdd-depends/libugpio/package.mk index 77c596fc49..71c7b04ffd 100644 --- a/packages/addons/addon-depends/lcdd-depends/libugpio/package.mk +++ b/packages/addons/addon-depends/lcdd-depends/libugpio/package.mk @@ -26,5 +26,6 @@ PKG_URL="https://github.com/mhei/$PKG_NAME/archive/v$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain linux" PKG_LONGDESC="A free software library to ease the use of linux kernel's sysfs gpio interface from C programs and/or other libraries" PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared" From 763ff6a9c9db91081927dc83e0610c0ceb40447c Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 51/58] libiconv: enable pic Signed-off-by: Matthias Reichl --- packages/addons/addon-depends/libiconv/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/addons/addon-depends/libiconv/package.mk b/packages/addons/addon-depends/libiconv/package.mk index cc05c6a9a6..c96c10fc33 100644 --- a/packages/addons/addon-depends/libiconv/package.mk +++ b/packages/addons/addon-depends/libiconv/package.mk @@ -27,6 +27,7 @@ PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="devel" PKG_SHORTDESC="Libiconv converts from one character encoding to another through Unicode conversion." PKG_LONGDESC="Libiconv converts from one character encoding to another through Unicode conversion." +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--host=$TARGET_NAME \ --build=$HOST_NAME \ From 5ee6c554391525ea4dfe81011f60b62dd0cc3928 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 52/58] librelp: enable pic Signed-off-by: Matthias Reichl --- packages/addons/addon-depends/rsyslog-depends/librelp/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/addons/addon-depends/rsyslog-depends/librelp/package.mk b/packages/addons/addon-depends/rsyslog-depends/librelp/package.mk index 51cc597a6b..a94733e448 100644 --- a/packages/addons/addon-depends/rsyslog-depends/librelp/package.mk +++ b/packages/addons/addon-depends/rsyslog-depends/librelp/package.mk @@ -27,6 +27,7 @@ PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="rsyslog" PKG_SHORTDESC="librelp" PKG_LONGDESC="librelp" +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--disable-tls \ --enable-static --disable-shared \ From c8dc0bae320381024224ba4c48a6cee6a49ccbd6 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 53/58] fluidsynth: enable pic Signed-off-by: Matthias Reichl --- packages/audio/fluidsynth/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/audio/fluidsynth/package.mk b/packages/audio/fluidsynth/package.mk index 2a59d2c432..248f5c26bd 100644 --- a/packages/audio/fluidsynth/package.mk +++ b/packages/audio/fluidsynth/package.mk @@ -27,6 +27,7 @@ PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="audio" PKG_SHORTDESC="FluidSynth: A SoundFont Synthesizer." PKG_LONGDESC="FluidSynth renders midi music files as raw audio data, for playing or conversion. " +PKG_BUILD_FLAGS="+pic" PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=0 \ -Denable-readline=0 \ From a8f1fe5445e23f63b7f7603ab911c37d5ce7ec5c Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 54/58] lame: enable pic Signed-off-by: Matthias Reichl --- packages/audio/lame/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/audio/lame/package.mk b/packages/audio/lame/package.mk index 11e40e3867..10b9e5be91 100644 --- a/packages/audio/lame/package.mk +++ b/packages/audio/lame/package.mk @@ -27,7 +27,7 @@ PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="audio" PKG_SHORTDESC="lame: LAME Ain't an Mp3 Encoder" PKG_LONGDESC="LAME originally stood for LAME Ain't an Mp3 Encoder. The goal of the LAME project is to use the open source model to improve the psycho acoustics, noise shaping and speed of MP3. Another goal of the LAME project is to use these improvements for the basis of a patent free audio compression codec for the GNU project." -PKG_BUILD_FLAGS="-parallel" +PKG_BUILD_FLAGS="-parallel +pic" # package specific configure options PKG_CONFIGURE_OPTS_TARGET="--enable-static \ From f35dd2729dd54428f7c2078c63f15d28de220522 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 55/58] libmodplug: enable pic Signed-off-by: Matthias Reichl --- packages/audio/libmodplug/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/audio/libmodplug/package.mk b/packages/audio/libmodplug/package.mk index 7c0c178aa4..95915edd73 100644 --- a/packages/audio/libmodplug/package.mk +++ b/packages/audio/libmodplug/package.mk @@ -27,5 +27,6 @@ PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="audio" PKG_SHORTDESC="libmodplug: renders mod music files as raw audio data, for playing or conversion." PKG_LONGDESC="libmodplug renders mod music files as raw audio data, for playing or conversion. libmodplug is based on the fast and high quality mod playing code written and released to the public domain by Olivier Lapicque. mod, .s3m, .it, .xm, and a number of lesser-known formats are supported. Optional features include high-quality resampling, bass expansion, surround and reverb." +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared" From 128a52502f471dda8cea4d3a9a73fbf07feaeae8 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 56/58] libogg: enable pic Signed-off-by: Matthias Reichl --- packages/audio/libogg/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/audio/libogg/package.mk b/packages/audio/libogg/package.mk index 54f0cb9e16..c96d4966ed 100644 --- a/packages/audio/libogg/package.mk +++ b/packages/audio/libogg/package.mk @@ -27,6 +27,7 @@ PKG_URL="http://downloads.xiph.org/releases/ogg/libogg-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="audio" PKG_LONGDESC="Libogg contains necessary functionality to create, decode, and work with Ogg bitstreams." +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --disable-shared" From 3e1da7ae968f67a2ac834c9c2a6aff8144f66a7c Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 57/58] libopenmpt: enable pic Signed-off-by: Matthias Reichl --- packages/audio/libopenmpt/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/audio/libopenmpt/package.mk b/packages/audio/libopenmpt/package.mk index d119fbe57b..dfb3cb95b5 100644 --- a/packages/audio/libopenmpt/package.mk +++ b/packages/audio/libopenmpt/package.mk @@ -27,6 +27,7 @@ PKG_DEPENDS_TARGET="toolchain libogg libvorbis" PKG_SECTION="audio" PKG_SHORTDESC="libopenmpt: renders mod music files as raw audio data, for playing or conversion." PKG_LONGDESC="libopenmpt renders mod music files as raw audio data, for playing or conversion." +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --disable-shared \ From 3c45dd15ebe6195f58815c0a75a6002f52d26799 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 1 Jun 2018 12:24:39 +0200 Subject: [PATCH 58/58] sidplay-libs: enable pic Signed-off-by: Matthias Reichl --- packages/audio/sidplay-libs/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/audio/sidplay-libs/package.mk b/packages/audio/sidplay-libs/package.mk index 413db1fa66..a170684c65 100644 --- a/packages/audio/sidplay-libs/package.mk +++ b/packages/audio/sidplay-libs/package.mk @@ -27,6 +27,7 @@ PKG_DEPENDS_TARGET="toolchain" PKG_SECTION="audio" PKG_SHORTDESC="sidplay-libs" PKG_LONGDESC="sidplay-libs" +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static"