use of the Requires.private field

Andreas Metzler ametzler at downhill.at.eu.org
Sat Jun 19 02:16:20 PDT 2010


Dan Nicholson <dbn.lists at gmail.com> wrote:
> On Thu, Jun 17, 2010 at 2:35 PM, Vincent Torri <vincent.torri at gmail.com> 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:

> http://people.freedesktop.org/~dbn/pkg-config-guide.html

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

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

If Evas.h  includes <Eina.h> then evas *does* expose Eina's API to the
application.
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