diff --git a/CHANGELOG.md b/CHANGELOG.md index 6258e817..5118a2c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -89,12 +89,6 @@ Versioning](https://semver.org/spec/v2.0.0.html). library to replace Boost.Asio. - Fixed a deprecation warning in the Meson build, causing the minimum supported Meson version to be bumped up to **Meson 0.56** from 0.55. -- LTO has been explicitly enabled for all of the library targets. LTO doesn't - work with the plugin host Winelib binaries because of the way winegcc works, - but it's still useful for the plugin libraries so the option is now explicitly - enabled in the Meson build file for those targets. This is especially - important for the new chainloader libraries as they will otherwise pull in a - lot of code they don't actually need. ## [3.8.1] - 2022-03-08 diff --git a/meson.build b/meson.build index 8d800ce6..6099b535 100644 --- a/meson.build +++ b/meson.build @@ -268,12 +268,11 @@ shared_library( threads_dep, tomlplusplus_dep, ], + # NOTE: LTO does not support Winelibs, and it seems to break + # `libyabridge-vst2.so` in Bitwig for some reason. It should be left + # turned off for the time being except for on the chainloader + # libraries. cpp_args : compiler_options, - # LTO currently doesn't work with winelibs, so instead we'll explicitly enable - # it for all other targets (which is extra important for the chainloaders as - # they'd otherwise pull in a bunch of unused symbols) without affecting the - # Wine plugin host binaries - override_options : ['b_lto=true'], ) shared_library( 'yabridge-chainloader-vst2', @@ -287,10 +286,7 @@ shared_library( rt_dep, ], cpp_args : compiler_options + chainloader_compiler_options, - # LTO currently doesn't work with winelibs, so instead we'll explicitly enable - # it for all other targets (which is extra important for the chainloaders as - # they'd otherwise pull in a bunch of unused symbols) without affecting the - # Wine plugin host binaries + # LTO is useful here to get rid of unused code override_options : ['b_lto=true'], ) @@ -316,11 +312,6 @@ if with_vst3 vst3_sdk_native_dep, ], cpp_args : compiler_options, - # LTO currently doesn't work with winelibs, so instead we'll explicitly - # enable it for all other targets (which is extra important for the - # chainloaders as they'd otherwise pull in a bunch of unused symbols) - # without affecting the Wine plugin host binaries - override_options : ['b_lto=true'], ) shared_library( 'yabridge-chainloader-vst3', @@ -334,10 +325,7 @@ if with_vst3 rt_dep, ], cpp_args : compiler_options + chainloader_compiler_options, - # LTO currently doesn't work with winelibs, so instead we'll explicitly - # enable it for all other targets (which is extra important for the - # chainloaders as they'd otherwise pull in a bunch of unused symbols) - # without affecting the Wine plugin host binaries + # See above override_options : ['b_lto=true'], ) endif