On Tue, Mar 5, 2024 at 12:16 PM Michał Górny <mgo...@gentoo.org> 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 <mgo...@gentoo.org> > --- > 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!