[FFmpeg-devel] Fix mingw name of .lib files

Gonzalo Garramuño ggarra
Tue Mar 4 22:08:27 CET 2008


Ramiro Ribeiro Polla wrote:
> 
> What "every other library" do you mean?

Pretty much EVERY library built with autotools.  For example:

$ ls /usr/local/bin

/usr/local/bin/libogg-0.dll
/usr/local/bin/libogg-0.lib
/usr/local/bin/libvorbisenc-2.dll
/usr/local/bin/libvorbisenc-2.lib
/usr/local/bin/libvorbis-0.dll
/usr/local/bin/libvorbis-0.lib
...etc...

  I've searched some time around,
> but didn't find any that did the same as FFmpeg (provide MSVC .lib files 
> for the MinGW built libraries).
> 

Agreed.  Nothing does what ffmpeg is doing.

> What I was thinking when I made this change is "in Unix you do -lavutil, 
> in MSVC in you add avutil to the dependencies". But in Unix you can also 
> do -lavutil-xxx, so I agree with you that we should also be able to add 
> avutil-xxx to the dependencies.
> 
> IMO the best would be to install:
> /usr/local/bin/avutil-52.dll
> /usr/local/lib/avutil.lib
> /usr/local/lib/avutil-52.lib
> /usr/local/lib/avutil-52.0.0.lib
> 

Yes.  That's more standard, and more like Unix.
Traditionally, under Linux, the basename with no version is something 
that ldconfig should be building and not the installer.  But I don't 
think mingw has any concept of ldconfig (as windows does not really do 
versioning of DLLs).

> Which involves some deeper changes to the build system. Patches welcome 
> (by me, at least).
> 

It depends on what you want to do.  The .lib files encode what DLL they 
were created for.  Currently, ffmpeg install is just renaming the 
original avutil-52.lib without actually modifying the pointer in the 
.lib file.

That is incorrect, but assuming that behavior is accepted, there's no 
need for a "deep" change to the build system.  The only thing that needs 
to happen is to extend:

SLIB_INSTALL_EXTRA_CMD='-install -m 644 
$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) 
"$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)"'

to become several lines (3 install lines).


-- 
Gonzalo Garramu?o
ggarra at advancedsl.com.ar

AMD4400 - ASUS48N-E
GeForce7300GT
Xubuntu Gutsy




More information about the ffmpeg-devel mailing list