[Ffmpeg-devel] [PATCH] Build Darwin dynamic/shared libraries

Dan Villiom Podlaski Christiansen danchr
Wed Jul 13 14:06:57 CEST 2005


The attached patch contains the following changes:

1) general changes to allow building dynamic libraries on Darwin
2) some reorganisation of configure to provide e.g. ${version} and 
${libdir} at an earlier time
3) initialise 3 common variables in libavcodec/msmpeg4.c, to not make 
ld(1) complain about common storage. I discussed this with a GCC hacker 
on IRC, and there was a reason why this was necessary, but I didn't 
quite understand what it was ;)
4) make the vhooks Mach-O bundles rather than libraries.
5) add support for a ${DESTDIR} environment variable to force 
installation into another path than the root. I found it quite useful.
6) changes to ensure that the regression tests are run against the 
compiled, but not installed binaries.

I also removed some linker flags which I considered unnecessary and 
possibly harmful, such as -bind_at_load and -undefined suppress. The 
only purpose of these flags is to hide linker errors and postpone them 
until run-time. If such errors occur, it would be better to fix the 
actual problem rather than kill the messenger :)

Another change was to disable the ffserver regression test when it 
wasn't built. I got tired of seeing test failures which weren't failures 
at all. It should be relatively trivial to split this out into another 
patch, if necessary.

With this patch, the generated binary passes the regression tests both 
when configured with '--enable-shared --enable-shared-pp --enable-gpl' 
and without any flags.

- Dan

More information about the ffmpeg-devel mailing list