Paul Davis wrote:
My apologies if this is redundant info, but .la files are utterly useless on any "modern" *nix system. They fill a hole on some systems where the dynamic linker cannot do what a dynamic/runtime linker should.
.la files are used by libtool to create input to the static linker, but are only really useful for creating static libraries/executables. Libtool adds extra, unneeded libraries to the link line when creating dynamic libraries/executables, in many cases causing problems (and forcing the use of, e.g. GNU ld's --as-needed flag). They (.la files) are also used by libltdl when loading libraries with lt_dlopen, but the only system I have come across where the information is useful to libltdl is Tru64 4.0D. Other dynamic linkers load dependent libraries in the correct order, from the correct rpath, as expected.
The OS X, Unix and even the Windows ones are adequately capable, and .la files serve absolutely no purpose on these platforms. They are also an impediment to debugging and other issues. To be honest, I can't even
Many systems do not install .la files, it was, I think, agreed earlier, that Mac OS X 10.6 would be one of them (at least for the X11 bits).
remember which systems needed .la files, but it mostly old SysV-derived commercial unix systems IIRC. Nobody should be using them (or, frankly, (g)libtool, although it does provide a useful veneer over the shared library building process that really should have been replaced by another tool IMHO. Certainly, there are many people using scons now
You had me mostly agreeing with you until you mentioned scons. Scons is one of the worst tools I have ever come across from the point of view of the user attempting to build software.
which has the same level of portability for major OS platforms and without any .la nonsense).
Although some of the Mac OS X bits are built with xcodebuild, the vast majority of the Xorg code is built with the autotools, that is not likely to change this year. Peter -- Peter O'Gorman http://pogma.com