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