[FFmpeg-devel] [PATCH] Use pkgconfig for dirac libs

Stefano Sabatini stefano.sabatini-lala
Thu Oct 23 11:27:25 CEST 2008


On date Wednesday 2008-10-22 21:49:10 +0200, Michael Niedermayer encoded:
> On Wed, Oct 22, 2008 at 05:41:56PM -0200, Ramiro Polla wrote:
> > On Wed, Oct 22, 2008 at 5:27 PM, M?ns Rullg?rd <mans at mansr.com> wrote:
> > > "Ramiro Polla" <ramiro.polla at gmail.com> writes:
> > >> On Wed, Oct 22, 2008 at 4:56 PM, M?ns Rullg?rd <mans at mansr.com> wrote:
> > >>> Luca Barbato <lu_zero at gentoo.org> writes:
> > >> [...]
> > >>>> - cflags and ldflags needed to properly link to the package
> > >>> In a proper installation, to use libfoo, one would typically pass
> > >>> -lfoo to the linker.
> > >> And in FFmpeg's case where we need -lz -lwhatever, how can that be
> > >> communicated to the program that's using FFmpeg?
> > >>
> > >> Another example is x264 that might or might not need pthreads...
> > > That's what documentation is for.
> > 
> > Ok, the documentation says: "This library might depend on libz,
> > libbz2, libfaac, libfaad, or any combination of those, and might
> > depend on many more or many less in the future (or not)."
> > 
> > What does the configure check look like and how do you add that to ldflags?
> 
> In an ideal world there should be no check at all.
> The linker should notice that some symbols are missing (hey it does doesnt
> it? :) and then simply look up in some index in /usr/lib which lib has these
> symbols, and last link that in. Failure should only happen if there is
> ambiguity that is 2 libs containing symbols with the same name, but this is
> either a bug in these libs or there are alternative libs doing the same thing.
> Such alternatives could be resolved by a preference file in /etc and ~/.blah
> 
> Back to reality, well we have these "bright" minds at gnu, redhat and all
> the others for the non gnu systems that rather than fix things add layers
> of bloat (pkgconfig, auto*, ...) over everything.

I agree, having the information split in various points rather than
where it should be (in the library itself or in the library dir)
brokes the SPOT principle and adds an unnecessary level of
bloat/complexity.

In this respect the pkg-config system is broken by design, nonetheless
it is *practically* yet the better solution missing that information
in the libs.

I suggest to continue to support pkg-config as best as possible, while
at the same time trying to get things fixed upstream (that is at the
linker/library level).

Thanks all for the very informative comments on the subject.

Regards.
-- 
FFmpeg = Freak and Freak Mind-dumbing Power Elegant Guru




More information about the ffmpeg-devel mailing list