Murray Cumming wrote:
I think one needs a separate copy of pkg-config for each toolchain you want to build things with. (Or at least its data files)...
No, that makes no sense.
Nevertheless, even after reviewing "man pkg-config", I think it's true. Take a look at the output of "strings /usr/bin/pkg-config | grep /":
/usr/lib/pkgconfig /usr/include -L/usr/lib -L /usr/lib Package %s has -L/usr/lib in Libs Removing -L/usr/lib from libs for %s
And look at some of the files in /usr/lib/pkgconfig:
:::::::::::::: audiofile.pc :::::::::::::: prefix=/usr exec_prefix=/usr libdir=/usr/lib includedir=/usr/include
The only way pkg-config can work is if you have a separate
copy of pkg-config and its data files for each copy of the userland libraries.
This makes perfect sense: for each value of $prefix, you'll
have a separate copy of $prefix/usr/bin/pkg-config and $prefix/usr/lib/pkgconfig.
Unless you're familiar with cross-compiling, you probably won't understand
or care about any of the above. That may change, though, as multiarch systems
become more common. See http://raw.no/debian/amd64-multiarch-2, which
proposes putting libraries and include files not in /usr/include but in
/usr/$(gcc -dumpmachine)/{lib,include}
where gcc is the gcc associated with that copy of userland.
- Dan
Only one pkg-config is needed. Each library supplies its own .pc file. ls /usr/lib/pkg-config:
/usr/lib/pkgconfig/atk.pc /usr/lib/pkgconfig/audiofile.pc /usr/lib/pkgconfig/bonobo-activation-2.0.pc /usr/lib/pkgconfig/directfb-internal.pc /usr/lib/pkgconfig/directfb.pc /usr/lib/pkgconfig/esound.pc /usr/lib/pkgconfig/fontconfig.pc /usr/lib/pkgconfig/freetype2.pc /usr/lib/pkgconfig/gconf-2.0.pc /usr/lib/pkgconfig/gdk-2.0.pc /usr/lib/pkgconfig/gdk-pixbuf-2.0.pc /usr/lib/pkgconfig/gdk-pixbuf-xlib-2.0.pc /usr/lib/pkgconfig/gdk-x11-2.0.pc /usr/lib/pkgconfig/gdk.pc /usr/lib/pkgconfig/glib-2.0.pc /usr/lib/pkgconfig/glib.pc /usr/lib/pkgconfig/gmodule-2.0.pc /usr/lib/pkgconfig/gmodule.pc /usr/lib/pkgconfig/gnome-keyring-1.pc /usr/lib/pkgconfig/gnome-mime-data-2.0.pc /usr/lib/pkgconfig/gnome-vfs-2.0.pc /usr/lib/pkgconfig/gnome-vfs-module-2.0.pc /usr/lib/pkgconfig/gobject-2.0.pc /usr/lib/pkgconfig/gthread-2.0.pc /usr/lib/pkgconfig/gthread.pc /usr/lib/pkgconfig/gtk+-2.0.pc /usr/lib/pkgconfig/gtk+-x11-2.0.pc /usr/lib/pkgconfig/gtk+.pc /usr/lib/pkgconfig/gtk-doc.pc /usr/lib/pkgconfig/gtk-engines-2.pc /usr/lib/pkgconfig/ImageMagick++.pc /usr/lib/pkgconfig/ImageMagick.pc /usr/lib/pkgconfig/imlibgdk.pc /usr/lib/pkgconfig/libart-2.0.pc /usr/lib/pkgconfig/libbonobo-2.0.pc /usr/lib/pkgconfig/libbonoboui-2.0.pc /usr/lib/pkgconfig/libexslt.pc /usr/lib/pkgconfig/libgda.pc /usr/lib/pkgconfig/libgdgeda.pc /usr/lib/pkgconfig/libgeda.pc /usr/lib/pkgconfig/libglade-2.0.pc /usr/lib/pkgconfig/libgnome-2.0.pc /usr/lib/pkgconfig/libgnomecanvas-2.0.pc /usr/lib/pkgconfig/libgnomedb.pc /usr/lib/pkgconfig/libgnomeprint-2.2.pc /usr/lib/pkgconfig/libgnomeprintui-2.2.pc /usr/lib/pkgconfig/libgnomeui-2.0.pc /usr/lib/pkgconfig/libgsf-1.pc /usr/lib/pkgconfig/libgsf-gnome-1.pc /usr/lib/pkgconfig/libIDL-2.0.pc /usr/lib/pkgconfig/libIDL.pc /usr/lib/pkgconfig/libpng.pc /usr/lib/pkgconfig/libpng12.pc /usr/lib/pkgconfig/libxml-2.0.pc /usr/lib/pkgconfig/libxml.pc /usr/lib/pkgconfig/libxslt.pc /usr/lib/pkgconfig/openssl.pc /usr/lib/pkgconfig/ORBit-2.0.pc /usr/lib/pkgconfig/ORBit-CosNaming-2.0.pc /usr/lib/pkgconfig/ORBit-idl-2.0.pc /usr/lib/pkgconfig/ORBit-imodule-2.0.pc /usr/lib/pkgconfig/ORBit.pc /usr/lib/pkgconfig/pango.pc /usr/lib/pkgconfig/pangoft2.pc /usr/lib/pkgconfig/pangox.pc /usr/lib/pkgconfig/pangoxft.pc /usr/lib/pkgconfig/render.pc /usr/lib/pkgconfig/xcursor.pc /usr/lib/pkgconfig/xft.pc /usr/lib/pkgconfig/xrender.pc
dpkg -S /usr/lib/pkgconfig/xrender.pc
libxrender-dev: /usr/lib/pkgconfig/xrender.pc
_______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf