On Mon, 12 Sep 2011 17:10:49 -0500
Donnie Berkholz <dberkh...@gentoo.org> wrote:

> On 23:58 Mon 12 Sep     , Michał Górny wrote:
> > On Mon, 12 Sep 2011 16:00:20 -0500
> > Donnie Berkholz <dberkh...@gentoo.org> wrote:
> > > >         local f
> > > >         for f in $(find "${D}" -type f -name '*.la'); do
> > > >                 # Keep only .la files with shouldnotlink=yes -
> > > > likely plugins local shouldnotlink=$(sed -ne
> > > > '/^shouldnotlink=yes$/p' "${f}") if [[  "$1" == 'all' || -z
> > > > ${shouldnotlink} ]]; then
> > > > +                       if [[ "$1" == 'only-not-required' ]];
> > > > then
> > > 
> > > Is there a case where one of those arguments might be $2 but you'd
> > > still want to run this?
> > 
> > Er? What are you referring to?
> 
> Two things.
> 
> 1. This is only reached if shouldnotlink is false. That means it's
> only the things that you are already assuming are plugins, right? If
> so, why is this even done?

That simply means that we're never removing .la files for plugins
(right now) because plugin loaders may need them with shared linking.
The other case are regular libraries where .la files are removed as
described above.

> 2. What happens if I call it with `remove_libtool_files all 
> only-not-required`? Nobody ever does any checking of the # of args.

Will add.

> > > > +                               # remove .la files only
> > > > when .pc files provide the libs
> > > > +                               # already or they don't give
> > > > any information
> > > > +                               ! has $(basename "${f}")
> > > > ${pc_libs} \
> > > > +                                               && [[ -n
> > > > "$(sed -n \
> > > 
> > > The comment says "or" but I see an "and" here.
> > 
> > Because everything's negated here. Boolean magic :D.
> 
> OK, got it. Stop writing confusing logic. =P

It's confusing because of that 'continue', I guess ;P.

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: PGP signature

Reply via email to