A specification for pkg-config

Tollef Fog Heen tfheen at err.no
Wed Sep 19 02:15:24 PDT 2012

]] Dan Nicholson 

> I think that's really great that you did that work. I've always wanted
> a formal spec for pkg-config. The best we have is buried in
> pkg-config(1). I'd love to carry a spec in the pkg-config repo and
> publish it on the website. This seems like a great start. There are
> certain bugs that I don't think can be fixed without small extensions
> of the syntax, and without a spec it's difficult to roll those out.
> Now to the specifics.

I don't particularly care about having a spec, but if people want to
write one, I'm not particularly opposed to having it.  Though, it does
mean that we suddenly need to have a process for extending it too,
including formal version numbers and such.

Do we actually want that?

> 1. Most of the introduction is complaints about how the reference
> implementation has been designed. I don't think that belongs in a
> specification.

Yeah, that should go.

> 2. The specification seems to cover both the package file format and
> the implementation. The file format I'm definitely interested in
> specifying, but I'm not so interested in specing the implementation. I
> understand you're trying to create a drop-in replacement for
> pkg-config. I have no issue with that. However, I'm really not
> interested in constraining the reference implementation in a spec. I
> wouldn't want to have to bump a spec if I added a command line switch
> or autoconf macro that someone found useful. I can't speak for Tollef,
> but I'd only be interested in defining the package format and the
> parts of the implementation that are vital to interpreting that
> format. I hope you understand.

FWIW, I agree with this: If people want to implement compatible
implementations, that's fine, but I don't want to be restrained by it.

If we are going to have a spec, it should have a version number and .pc
files should tell which spec version they are written against so
implementations can complain if the pc file is written against something
that's too new.

Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are

More information about the pkg-config mailing list