use of the Requires.private field

Andreas Metzler ametzler at
Sat Jun 19 02:16:20 PDT 2010

Dan Nicholson <dbn.lists at> wrote:
> On Thu, Jun 17, 2010 at 2:35 PM, Vincent Torri <vincent.torri at> wrote:
>> Hey,

>> We have 2 libraries, named Eina and Evas. Eina is some kind of data types
>> lib. Evas depends on Eina. Hence, Eina is "public". Its types are used in
>> the API and we have, for example, in Evas.h (the public header)

>> #include <Eina.h>

>> The .pc file of Eina is named eina-0.pc

>> My question is:

>> should I put eina-0 in the Requirements field, or in the
>> Requirements.private field ?

> Requires.private. You need to make sure that users get the Cflags from
> Eina for the datatypes, but they don't need to explicitly link to Eina
> unless they're statically linking. See FAQ #2 here:


> This guide is also in the latest pkg-config release if you have it.

"Requires.private: A list of private packages required by this package
but not exposed to applications."

If Evas.h  includes <Eina.h> then evas *does* expose Eina's API to the
cu andreas
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'

More information about the pkg-config mailing list