[FFmpeg-devel] [PATCH] Only install SLIBNAME_WITH_MAJOR for MinGW
Ramiro Ribeiro Polla
Wed Jun 20 00:56:10 CEST 2007
> Ramiro Polla <ramiro at lisha.ufsc.br> writes:
>> Currently, on MinGW, 3 copies of the shared libraries are made on
>> installation. Since Windows doesn't understand symlinks, ln -sf just
>> makes copies.
>> Attached patch specifies which slib to install, and ignores the links
>> on MinGW.
> Does this really work? I was under the impression that the linker
> would only search for the unversioned name when linking an app, while
> encoding the versioned name as a dependency using something akin to
> the DT_SONAME of ELF libs. I could be wrong though.
It does work = installs only the necessary dll to *run* FFmpeg.
The file that gets gcc'd -shared is SLIBNAME_WITH_MAJOR, so that's the
name that goes inside the file. There is a copy at SLIBNAME. The -l*
parameter to link ffmpeg reads SLIBNAME, but links the executable to
SLIBNAME_WITH_MAJOR. So it's SLIBNAME_WITH_MAJOR that's needed to run
But now I see that's not the best solution either. The best solution
would be to install SLIBNAME_WITH_MAJOR to $prefix/bin, and import
libraries (*.dll.a) to $prefix=/lib, like autotools do. As for the
import libraries, it would be ok to have 3 copies. I'll look into how to
make those import libraries when I have more spare time...
More information about the ffmpeg-devel