[FFmpeg-devel] [RFC] MinGW and shlibdir and pkg-config

Ramiro Polla ramiro.polla
Mon Jun 21 14:37:05 CEST 2010


On Mon, Jun 21, 2010 at 7:33 AM, Stefano Sabatini
<stefano.sabatini-lala at poste.it> wrote:
> in these days I'm playing at compiling FFmpeg on Windows using MinGW.

Great!

> One strangeness which I noticed is that the DLL install path is set by
> default to the default bindir:
>
> ? ?mingw32*)
> ? ? ? ?target_os=mingw32
> ? ? ? ?LIBTARGET=i386
> ? ? ? ?if test $arch = x86_64; then
> ? ? ? ? ? ?disable need_memalign
> ? ? ? ? ? ?LIBTARGET=x64
> ? ? ? ?fi
> ? ? ? ?shlibdir_default="$bindir_default"
> ? ? ? ?...
>
> On the other hand in the generated pkg-config files the libdir is
> always set to $libdir even when shared libs compilation is
> enabled. Result is that when the FFmpeg DLLs are linked using the
> pkg-config --libs flags the DLLs are not found (as they are installed
> in $bindir rather than in $libdir, which is the path specified by the
> .pc files).
>
> Can you say why by default $bindir is used for installing the DLLs
> rather than $libdir?

bin is set in the PATH, libdir isn't. dlls go to bin/, import
libraries (.dll.a) should go to lib/. That's probably not what FFmpeg
does though.

> Also should the .pc files be fixed in order to make them point to the
> correct location?

If the .pc files point to lib/, they're fine. The import libraries
should be properly installed. But that involves going through Mans'
lovely review (?) process, so I've given up a few times in the past
couple of years...



More information about the ffmpeg-devel mailing list