[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Confusion about Libtool archive (*.la) files in -dev' packages



Hi,
        http://www.debian.org/Bugs/db/37/37338.html

        I am currently working on editing in the policy amendments,
 and I find this amendment quite confusing. Could the rpincipals
 involved in this clarify exactly where the .la files are supposed to
 go? Are they meant for the -dev packages, or the main ones (there was
 a comment about needing the .la files at run time)? Could someone
 also provide a rationale for this? I am not quite upto speed with
 libtool (having never used it -- I program cross platform for non-GNU
 systems ;-()), and I would prefer if I could have the exact wording
 people want to be included in the policy manual.

        
        manoj
 This is what I was able to glean from the bug report itself:
	<p>
	  An ever increasing number of packages are using libtool to
	  do their linking. The latest GNU libtools (>= 1.3a) can take
	  advantage of installed libtool archive files (`*.la'). The
	  main advantage of libtool's .la files is that it allows
	  libtool to store and subsequently access metadata with
	  respect to the libraries it builds.  libtool will search for
	  those files, which contain a lot of useful information about
	  a library (e.g. dependency libraries for static
	  linking). Also, they're essential for programs using
	  libltdl.
	</p>

	<p>
	  Certainly libtool is fully capable of linking against shared
	  libraries which don't have .la files, but being a mere shell
	  script it can add considerably to the build time of a
	  libtool using package if that shellscript has to derive all
	  this infomation from first principles for each library every
	  time it is linked. With the advent of libtool-1.4 (and to a
	  lesser extent libtool-1.3), the .la files will also store
	  information about inter-library dependencies which cannot
	  necessarily be derived after the .la file is deleted.
	</p>

	<p>
	  Packages that use libtool to create shared libraries must
	  include the <em>.la</em> files in the <em>-dev</em>
	  packages. This is a good idea in general, and espescially
	  for static linking issues.
	</p>


-- 
 "You can measure a programmer's perspective by noting his attitude on
 the continuing viability of Fortran." Alan Perlis
Manoj Srivastava   <srivasta@debian.org>  <http://www.debian.org/%7Esrivasta/>
Key C7261095 fingerprint = CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E


Reply to: