[FFmpeg-devel] [PATCH] Add versioning information to dlls

Ramiro Polla ramiro
Thu May 22 20:56:09 CEST 2008


Jeremy Kolb wrote:
> 
> Ramiro Polla wrote:
>>>>>> You can also let the dependency files (.d) check for version.h and 
>>>>>> av*.h. Just add a rule for %.d: %.rc, add the extra objs to DEPS, and 
>>>>>> make a DEPEND_CMD for .rc files that treats them as C files (-xc flag 
>>>>>> for gcc). That way you can avoid SLIB_EXTRA_DEP.
>>>>>>           
>>>>> Can you elaborate?
>>>>>         
>>> I'll try:
>>> Currently you set SLIB_EXTRA_DEP to version.h manually. That means: if 
>>> version.h is changed, recreate whatever files depended on them (in this 
>>> case SLIB_EXTRA_OBJS). When I wrote the first patch, there was no good 
>>> file dependency control like there is now. We can let the current 
>>> dependency control check for whatever files SLIB_EXTRA_OBJS depends on. 
>>> It automatically scans the file for includes or whatever.
>>> To get that for .rc files, add a rule that creates .d files for .rc 
>>> files (just look at all the "%.d: %.*" rules in common.mak).
>>> One problem that arises is that gcc doesn't know .rc files are actually 
>>> .c-like files that can be preprocessed correctly, so you have to find a 
>>> way for DEPEND_CMD (for the "%.d: %.rc" rule) to add the "-xc" flag to 
>>> the gcc invocation.
>>> After that is done, add $(SLIB_EXTRA_OBJS:.o=.d) to DEPS in common.mak 
>>> so that dllinfo.d files are created. Then it should be safe to remove 
>>> SLIB_EXTRA_DEP.
>>>
>> Hmm... It's not as easy as I thought it'd be. -MM assumes missing files 
>> are on the same directory, but version.h is on the src directory. Maybe 
>> create version.h before making the .d files, or drop the whole product 
>> information. After all, FFmpeg is a project, not a product, and maybe 
>> just the version information is enough for the dllinfo, and the revision 
>> number could be dropped.  Or better yet just leave the patch the way it 
>> is =)
> I REALLY like having the svn revision number in there.  It makes it much 
> easier to track.

Then send an updated patch with the simpler license_str and no trailing 
whitespaces and I'll apply it on the weekend if noone objects.

Ramiro Polla




More information about the ffmpeg-devel mailing list