[Ffmpeg-devel] [patch] add dll version info for mingw32

Ramiro Polla angustia
Thu Dec 21 23:20:59 CET 2006


M?ns Rullg?rd wrote:
> Ramiro Polla <angustia at arrozcru.no-ip.org> writes:
>
>   
>> M?ns Rullg?rd wrote:
>>     
>>> Diego Biurrun <diego at biurrun.de> writes:
>>>
>>>
>>>       
>>>> On Tue, Dec 19, 2006 at 12:57:56PM -0800, Tom Harper wrote:
>>>>
>>>>         
>>>>> The following patch properly adds version information to the ffmpeg
>>>>> dlls for windows.  It would be more ideal obviously if the rc files were
>>>>> generated on the fly.  For now the version info needs to be added
>>>>> manually to the rc, which should be fine for those people building
>>>>> on that platform.
>>>>>
>>>>>           
>>>> System-depended hackery in Makefiles/common.mak is not allowed.  Find
>>>> another way to do this through configure.
>>>>
>>>>         
>>> Seconded.  Furthermore, those version files should be generated with
>>> correct numbers.
>>>
>>>
>>>       
>> Would this patch be appropriate for building? I'm still working on the
>> dllinfo.rc files themselves.
>>
>> Ramiro Polla
>> Index: configure
>> ===================================================================
>> --- configure	(revision 7339)
>> +++ configure	(working copy)
>> @@ -1088,6 +1088,7 @@
>>      SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
>>      SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)'
>>      SLIB_EXTRA_CMD="-lib /machine:i386 /def:\$(@:${SLIBSUF}=.def)"
>> +    SLIB_EXTRA_OBJS="dllinfo.rco"
>>      SHFLAGS="-shared -Wl,--output-def,\$(@:${SLIBSUF}=.def),--out-implib,lib\$(SLIBNAME:\$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc"
>>  fi
>>
>> @@ -1935,6 +1936,7 @@
>>    echo "SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}" >> config.mak
>>    echo "SLIBNAME_WITH_MAJOR=${SLIBNAME_WITH_MAJOR}" >> config.mak
>>    echo "SLIB_EXTRA_CMD=${SLIB_EXTRA_CMD}" >> config.mak
>> +  echo "SLIB_EXTRA_OBJS=${SLIB_EXTRA_OBJS}" >> config.mak
>>  fi
>>  echo "LIB_INSTALL_EXTRA_CMD=${LIB_INSTALL_EXTRA_CMD}" >> config.mak
>>  echo "EXTRALIBS=$extralibs" >> config.mak
>> Index: common.mak
>> ===================================================================
>> --- common.mak	(revision 7339)
>> +++ common.mak	(working copy)
>> @@ -9,7 +9,7 @@
>>            -D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) \
>>            -I$(SRC_PATH)/libavutil $(OPTFLAGS)
>>  SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPPOBJS:.o=.cpp)
>> -OBJS := $(OBJS) $(ASM_OBJS) $(CPPOBJS)
>> +OBJS := $(OBJS) $(ASM_OBJS) $(CPPOBJS) $(SLIB_EXTRA_OBJS)
>>  STATIC_OBJS := $(OBJS) $(STATIC_OBJS)
>>  SHARED_OBJS := $(OBJS) $(SHARED_OBJS)
>>     
>
> SLIB_EXTRA_OBJS should be added to SHARED_OBJS since it's useless
> (possibly even harmful) for static builds.
>
>   

I had thought about that, but SHARED_OBJS is only used by libpostproc, 
and I had the feeling it might be removed somehow in the future 
(depending on how libpostproc will be used in FFmpeg). Also, 
SLIB_EXTRA_OBJS is only being set inside test "$lshared" = "yes".

Ramiro Polla




More information about the ffmpeg-devel mailing list