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

Måns Rullgård mans
Wed Nov 12 11:28:49 CET 2008

Reinhard Tartler wrote:
> 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)
> -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.

It was added by this commit:

The submitter of that patch was quite adamant this was the One True Way,
quoting the very same bit of scripture as you to prove it.  Discussion
here: http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/67866

I am still in favour of dropping this mess entirely.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list