Gentoo Archives: gentoo-dev

From: "Gregory M. Turner" <gmt@×××××.us>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] cygwin: gmp/mpc: package.use.mask static-libs? (was: supporting static-libs)
Date: Thu, 30 Aug 2012 07:44:23
Message-Id: 503F193F.2070405@malth.us
In Reply to: Re: [gentoo-dev] supporting static-libs by "Diego Elio Pettenò"
1 On 8/28/2012 4:05 PM, Diego Elio Pettenò wrote:
2 > On 28/08/2012 15:36, Mart Raudsepp wrote:
3 >> static-libs is for installing static libraries IN ADDITION to shared
4 >> libraries, not instead.
5 >> USE=static is for what you have in mind there.
6 > PE is not the same as ELF so on Windows you either build one or the
7 > other for a number of reasons.
8
9 In this case, the issue is purportedly that the headers get generated
10 differently, depending on whether you build static or dynamic.
11
12 I don't think too much, unless I have to, about what kind of
13 libtool/gcc/gentoo magic makes it all possible, but by and large, static
14 and dynamic libraries "just work" in my overlay. So if gentoo-prefix
15 would create both static and dynamic for a given library on elf, the
16 same thing happens in my overlay (I mean that this typically happens
17 without any hand-holding, on my part, to make it work).
18
19 > Now on a different note, this is not even what USE=static is for — but
20 > that's way behind what we were discussing before.
21
22 euse -i says:
23
24 static - !!do not set this during bootstrap!! Causes binaries
25 to be statically linked instead of dynamically
26
27 Pretty sure I've done the right thing in my overlay by masking, but it
28 can't hurt to mention that I'm always happy to hear any suggestions or
29 ideas (although of course I reserve the right to politely decide that
30 your ideas are crap and ignore them :P).
31
32 My reasoning for the flag-mask is that Gentoo always builds the dynamic
33 libs for these packages and therefore so should my overlay. Unless I
34 fix the underlying conflict or implement some kind of side-by-side
35 scheme (a la libncursesw), I really have no choice but to forbid
36 building statically (note that cygports adopts the same solution).
37
38 Masking the use-flag for the affected atoms accomplishes this
39 prohibition exactly, exclusively, and without any kludge (except
40 unfortunately I still have to patch the e-build, as, for some goofy
41 reason, configure doesn't interpret the static/dynamic options the same
42 way after applying the cygports patches -- hopefully I can fix that just
43 by leaving some patches out; I just haven't gotten to it yet).
44
45 -gmt