[FFmpeg-devel] [PATCH] Only install SLIBNAME_WITH_MAJOR for MinGW

Ramiro Ribeiro Polla ramiro
Wed Jun 20 00:56:10 CEST 2007


 wrote:
> Ramiro Polla <ramiro at lisha.ufsc.br> writes:
>
>   
>> Hello,
>>
>> 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 
FFmpeg.

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

Ramiro Polla




More information about the ffmpeg-devel mailing list