On Tue, Mar 5, 2024 at 12:16 PM Michał Górny <
[email protected]> wrote:
Make LTO filtering local to the compilation code. This avoids disabling
LTO for non-Python parts of an ebuild.
Signed-off-by: Michał Górny <[email protected]>
---
eclass/distutils-r1.eclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index ee1dcef24ff6..134cb39f276a 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1828,6 +1828,10 @@ distutils-r1_run_phase() {
# Rust extensions are incompatible with C/C++ LTO compiler
# see e.g. https://bugs.gentoo.org/910220
if has cargo ${INHERITED}; then
+ local x
+ for x in $(all-flag-vars); do
+ local -x "${x}=${!x}"
+ done
filter-lto
fi
fi
I had never thought to loop over all-flag-vars like this. Added to my
mental code repo, thanks!
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)