[FFmpeg-devel] usage of Requires.private in *.pc files

Reinhard Tartler siretart
Wed Nov 12 08:18:48 CET 2008

M?ns Rullg?rd <mans at mansr.com> writes:

> Then send a patch to fix that instead.

Here we go:

--- a/configure
+++ b/configure
@@ -2358,10 +2358,8 @@ Name: $name
 Description: $comment
 Version: $version
 Requires: $(disabled shared && echo $requires)
-Requires.private: $(enabled shared && echo $requires)
 Libs: -L\${libdir} -l${shortname} $(disabled shared && echo $libs)
-Libs.private: $(enabled shared && echo $libs)
+Libs.private: $(enabled shared && echo $libs $requires)
 Cflags: -I\${includedir}
 cat <<EOF > $name/$name-uninstalled.pc

Thinking a bit more about it, it seems to me that Libs.private is rather
pointless. See for reference pkg-config(5):

Libs.private: This line should list any private libraries in use.
         Private libraries are libraries which are not exposed through
         your library, but are needed in the case of static linking.

Static linking is only done when ffmpeg is compiled statically. but the
line is only inserted if ffmpeg is compiled as a shared library.

I don't propose to drop that field yet, mainly because I don't
understand yet why you need the -uninstalled variant of the .pc files
yet. Perhaps someone could enlighten me here?

Reinhard Tartler, KeyID 945348A4

More information about the ffmpeg-devel mailing list