RFC: Makefile refactoring

Sam Varshavchik <[email protected]> Fri, 09 Dec 2005 21:51:53 -0500
Newsgroups gmane.comp.lib.libwww
Message-ID <[email protected]>
This is a MIME GnuPG-signed message.  If you see this text, it means that
your E-mail or Usenet software does not support MIME signed messages.
The Internet standard for MIME PGP messages, RFC 2015, was published in 1996.
To open this message correctly you will need to install E-mail or Usenet
software that supports modern Internet standards.

--=_mimegpg-commodore.email-scan.com-13112-1134183113-0009
Content-Type: text/plain; format=flowed; charset="US-ASCII"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Right now, apps that build against libwww link against about a whole bunch 
of libs that are listed by "libwww-config --libs".  It's quite a mouthfull.

That's how most apps are built.  Perhaps it's just my personal taste, but I 
always thought that it's much cleaner and simpler just to link a single 
library.

I've modified the Makefile to combine all component libraries into a single 
libtool target, libwww.la.  As far as I can tell, the Makefile correctly 
handles all optionally-built submodules.  That is, if --open-ssl is 
specified, libwww.la will include the SSL-related module, etc.

I'd like to get a feel for what others think about this idea.  If there's 
interest then I can submit the patch -- probably after the currently-pending 
code is released, so that I can resync against the released version.

I should also clarify that my changes aren't really that drastic.  All the 
existing components (libwwwhttp.la, libwwwmime.la, and the rest) get still 
built, they're just noinst_LTLIBRARIES, and don't get installed.  Instead, 
lib_LTLIBRARIES consists of a single libwww.la, which is built by merging 
all the individual component libraries.  So, if someone's working on some 
code outside of the tree that manually links to a subset of all those 
component libraries, that'll continue to work.

The Makefile also builds another consolidated target libwwwconvenience.la, 
which is a libtool convenience library.  libwwwconvenience.la will be very 
useful to apps that include the entire libwww tree into the apps' source 
tarball bundle, instead of requiring an existing libwww install to be made 
prior to building the source (like Amaya).



--=_mimegpg-commodore.email-scan.com-13112-1134183113-0009
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.7 (GNU/Linux)

iD8DBQBDmkLJx9p3GYHlUOIRAt+iAJ43D38vrfxkbUB1ClCMOd5tW/fD8QCfZHzs
8aVk3NfliBAtvTuZpqZrf18=
=hgfZ
-----END PGP SIGNATURE-----

--=_mimegpg-commodore.email-scan.com-13112-1134183113-0009--