On 09/11/2010 01:52 PM, walt wrote:

I don't know how portage chooses between static and dynamic libs while building
a package.

Aha!  Grepping through /usr/portage/eclass/* for 'static' taught me something:

xorg-2.eclass:                  myopts+=" $(use_enable static-libs static)"

So there is a "static" useflag in addition to "static-libs", which I'd never
noticed before.

I haven't actually tried the experiment yet, but I'm speculating that the
difference between 'static' and 'static-libs' is something like this:

Many packages install libraries so that other packages can use them.  The
'static-libs' useflag tells a package to build and install the static version
of its own libraries *in addition to* the dynamic ones.

The 'static' useflag tells portage to build a package and link it against the
static versions of libraries that were installed by *other* packages.

Quiz for sober people:  (That excludes moi ;)

What happens if portage builds a 'static' package that links against a library
that was installed without the 'static-libs' useflag being set?


Reply via email to