On 22/06/2013 14:50, Uli Schlachter wrote:
On 22.06.2013 14:44, Quentin Glidic wrote:
And that is exactly the point of Requires.private: provide include
directories -I in CFLAGS without -l in LIBS while Requires add
both.
No, it isn't. Requires.private is about things needed for static
linking. Let me quote "man pkg-config":
Requires.private: A list of packages required by this package. The
difference from Requires is that the packages listed under
Requires.private are not taken into account when a flag list is
computed for dynamically linked executable (i.e., when --static
was not specified). In the situation where each .pc file
corresponds to a library, Requires.private shall be used
exclusively to specify the dependencies between the libraries.
So “Requires.private shall be used exclusively to specify the
dependencies between the libraries” and this is the case here.
From http://people.freedesktop.org/~dbn/pkg-config-guide.html I quote:
“Cflags: The compiler flags specific to this package and any required
libraries that don't support pkg-config. If the required libraries
support pkg-config, they should be added to Requires or Requires.private.”
And with a simple test:
$ tail test1.pc test2.pc
==> test1.pc <==
Cflags: -I/tmp
Libs: -ltest1
==> test2.pc <==
Requires.private: test1
$ pkg-config --cflags --libs test1
-I/tmp -ltest1
$ pkg-config --cflags --libs test2
-I/tmp
$ pkg-config --cflags --libs --static test1
-I/tmp -ltest1
$ pkg-config --cflags --libs --static test2
-I/tmp -ltest1
I think the result is pretty clear.
--
Quentin “Sardem FF7” Glidic
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel