1 |
On 10/05/2010 02:04 PM, Angelo Arrifano wrote: |
2 |
> You can extract from a .la things like the library name, version and |
3 |
> linking information (lib dependencies and paths). The information is |
4 |
> there and nothing prevented anyone from using it. |
5 |
>> |
6 |
>> Can you provide any specific use case, or are you now arguing for |
7 |
>> "choice for choice's sake"? |
8 |
> |
9 |
> There are a lot of packages that need this information to correctly link |
10 |
> against libtool managed libraries, for example, there are packages that |
11 |
> linked against GL but didn't set -lGL -lGLU because it was relying on |
12 |
> libtool to get that information (guess from where?). Things get worse |
13 |
> when they also expect libtool to also provide libraries path. There are |
14 |
> even packages that expects libtool to provide linker flags for its |
15 |
> direct dependencies and flags for the dependencies of its dependencies. |
16 |
> For example: |
17 |
> foo links with GL (expects libtool to provide -lGL -lGLU) |
18 |
> foo also links with the backend of GL (expects libtool to provide -lX11 |
19 |
> for example, which is a dependency of GL) |
20 |
|
21 |
Yeah, that's called overlinking[1]. There's no need to link to -lX11 if |
22 |
really only -lGL is required. Exactly what we are trying to protect |
23 |
users from. |
24 |
|
25 |
Full stop. |
26 |
|
27 |
[1] http://wiki.mandriva.com/en/Libtool_archives#shared_build |
28 |
|
29 |
"Worse, default libtool causes overlinking when it uses *.la." |
30 |
|
31 |
- Samuli |