Subject: Re: libtool *.la files vs. pkg-config *.pc files
To: Greg Troxel <gdt@ir.bbn.com>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 11/08/2004 12:50:48
[ On , November 5, 2004 at 19:37:41 (-0500), Greg Troxel wrote: ]
> Subject: Re: libtool *.la files vs. pkg-config *.pc files
>
> I think this is just a pango bug in generating its .pc file.  I've
> written .pc.in files, and included all the libs that the library being
> built is linked against.
> 
> This is all messy, but pkg-config done right seems sane.  Of course,
> that's not the question on the table for pkgsrc.   So fixing up the
> .pc file seems like the right thing.

Indeed if I include the following two new patches in the devel/pango
pkgsrc module then subsequent users of pango will build and run fine.

I suppose I should send-pr them....  (but I have so many other even more
critical pkgsrc fixes mixed up with my own local changes in pkgsrc! ;-)

> <don-asbestos>
> tiff obviously needs a .pc file, so users don't have to know about
> -lm.  really.
> </>

Yes, I suppose given the state of the art that's the best quick fix!

(but I would dread having to hack all the configure.in files that would
need to know to use pkg-config for libtiff!)

(i.e. the easier fix is just to add '-lm' in those far fewer places
where it's necessary)


> Perhaps, but pkg-config seems pretty based on reading .pc files, and
> no more, at runtime.  I can see how using .la files to link with at
> library build time can lead to this desire, however.

Well, as much as I hate libtool it seems to me that pkg-config would be
totally redunant (and in a very bad way since it requires duplication of
critical information) if libtool were just slightly enhanced.  :-)

>  I don't want to
> discourage you from fixing pkg-config in this direction, but that's
> out of scope for pkgsrc.

Indeed!  ;-)

-- 
						Greg A. Woods

+1 416 218-0098                  VE3TCP            RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>          Secrets of the Weird <woods@weird.com>


12:42 [257] $ cat patches/patch-z*
--- pangoxft-uninstalled.pc.in.orig     Tue Feb 17 05:18:03 2004
+++ pangoxft-uninstalled.pc.in  Fri Nov  5 17:48:28 2004
@@ -2,6 +2,6 @@
 Description: X Window System font support for Pango, Not Installed
 Version: @VERSION@
 Requires: pango
-Libs: ${pc_top_builddir}/${pcfiledir}/pango/libpangoxft-@PANGO_API_VERSION@.la @XFT_LIBS@
+Libs: ${pc_top_builddir}/${pcfiledir}/pango/libpangoxft-@PANGO_API_VERSION@.la ${pc_top_builddir}/${pcfiledir}/pango/libpangoft2-@PANGO_API_VERSION@.la @XFT_LIBS@
 Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ @X_CFLAGS@ @FREETYPE_CFLAGS@
 
--- pangoxft.pc.in.orig Fri Nov  5 17:22:06 2004
+++ pangoxft.pc.in      Fri Nov  5 17:49:30 2004
@@ -7,5 +7,5 @@
 Description: Xft font support for Pango
 Version: @VERSION@
 Requires: pango
-Libs: -Wl,-R${libdir} -L${libdir} -lpangoxft-@PANGO_API_VERSION@ @PKGCONFIG_XFT_LIBS@
+Libs: -Wl,-R${libdir} -L${libdir} -lpangoxft-@PANGO_API_VERSION@ -lpangoft2-@PANGO_API_VERSION@ @PKGCONFIG_XFT_LIBS@
 Cflags: -I${includedir}/pango-1.0 @XFT_CFLAGS@