pkg-config-lite

Anders F Björklund afb at users.sourceforge.net
Sat Mar 31 03:04:09 PDT 2012


LRN wrote:

> On 19.03.2012 22:51, Oliver Lange wrote:
>> 
>> Howdy,
>> 
>> pkg-config 0.26 without glib dependency:
>> 
>> http://sourceforge.net/projects/pkgconfiglite/
>> 
>> Maybe you want to check this out. It shows how little code from
>> glib is required by pkg-config. It has no dependencies (other than
>> libc).
>> 
>> Changes are minor and maybe you'd like to take over?
>> 
> It sounds cool, but pkg-config-0.26 (or was it 0.25?) actually REMOVED
> a built-in copy of glib-1.2 that was used to avoid circular dependency
> and to make pkg-config self-contained.
> It barely worked on Windows - i was able to fix it up by transplanting
> quite a bit of mangled glib-2.x source code into it, but that just
> shows that pkg-config IS dependent on glib-2, and tapping that
> dependency can bring benefits (again, if the dependency is not used
> extensively at the moment, it's because the transition is still fresh
> enough).
> 
> That is, making pkg-config self-contained that way most likely goes in
> a direction opposite the one pkg-config is moving in.

It is still possible to build pkg-config as self-contained,
by adding an internal glib-2.0 (plus libiconv and libintl)
It did make the binary 10 times (!) bigger, but avoided the
dependencies and made it self-contained (in /opt/pkgconfig).

pkg-config-0.25-1-x86_64:
128K	opt/pkgconfig/bin/pkg-config    # using glib-1.2
pkg-config-0.26-1-x86_64:
1,3M	opt/pkgconfig/bin/pkg-config    # using glib-2.0

The new pkg-config installation process* a lot harder though,
so it would be good if that could be documented / simplified ?

The installable packages for Mac OS X are available from:
http://macpkg.sourceforge.net/ (PkgConfig 0.26 for 10.5+)

--anders


* Installation
1) build dependencies:
 a) internal libiconv
 b) internal libintl (gettext-runtime)
 c) internal gettext (gettext-tools)
 d) internal glib-2.0
2) build pkg-config



More information about the pkg-config mailing list