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

Dominik 'Rathann' Mierzejewski dominik
Wed Nov 12 09:44:56 CET 2008

On Wednesday, 12 November 2008 at 08:18, 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.

That's why it should be inserted only if FFmpeg's libraries are compiled
as static. So your patch is wrong.

> 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?

It's useful when you want to use FFmpeg's libraries without actually
installing them, i.e. straight from the build directory.


MPlayer http://mplayerhq.hu | RPMFusion http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
	-- from "Collected Sayings of Muad'Dib" by the Princess Irulan

More information about the ffmpeg-devel mailing list