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

libtool and building both shared and static libraries



Hi folks,

With the current development version of Gimp-Print (not yet available
in Debian), there are several libraries built:

· libgimpprint (shared and static)
· loadable modules (shared modules, but static copies are built to
  link with the static libgimpprintui)
· libgimpprintui (shared and static)
· libgimpprintui2 (shared and static)

There are a few problems with this:

1. --enable-shared --enable-static builds everything both shared and
   static, but using either --enable=shared=foo,bar or
   --enable-static=foo,bar are mutually exclusive: everything not
   explicitly listed is built the other way; you can't have some built
   both ways.

   What I want is to build /everything/ both shared and static
   /except/ for libgimpprintui and libgimpprintui2.  I want these
   static only.  But I can't find a way to accomplish this with the
   above.  Is this possible?  A fixed list is not desirable--I would
   have to specify every single driver module, and these could vary
   with each release.

2. Some programs linked with libgimpprint are run during the build.
   These generate data such as PPDs (Postscript Printer Definitions)
   for the available printers.  Unfortunately, if building both shared
   and static libraries, the programs will be linked dynamically and
   will use a prior version installed on the system in preference to
   the one just built.  (This is when running through the
   libtool-generated wrapper script--it doesn't set LD_LIBRARY_PATH).

   Is there a portable way of doing this?  This isn't an issue for
   Debian--we run the programs in the postinst and avoid the problems,
   but it's a problem for everyone else.

3. Some of the hassle could be avoided if I didn't insist on being
   able to build dynamic and static libraries during the same build.
   Although I didn't see a /requirement/ for providing a static copy
   in Debian Policy, it does seem to be the status quo.  Does anyone
   actually use them, or are they a waste of space?

   Would anyone object if I ceased to provide a static libgimpprint?


Many thanks,
Roger

-- 
Roger Leigh

                Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.



Reply to: