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

Reinhard Tartler siretart
Wed Nov 12 11:09:26 CET 2008

Dominik 'Rathann' Mierzejewski <dominik at rangers.eu.org> writes:

>> --- 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)
>> -Conflicts:
>>  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}
>>  EOF
>>  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.
> That's why it should be inserted only if FFmpeg's libraries are compiled
> as static. So your patch is wrong.

please clarify how that comment relates to the patch above. What
specifically is wrong with the patch?

Please keep in mind that the "best" documentation for Requires.private
seems to be

I still don't think that the circumstances it was created for apply in
any way to ffmpeg. I'd suggest to avoid it therefore.

Reinhard Tartler, KeyID 945348A4

More information about the ffmpeg-devel mailing list