[FFmpeg-cvslog] r14143 - in trunk: common.mak configure

Måns Rullgård mans
Sun Jul 27 23:47:24 CEST 2008


Diego Biurrun <diego at biurrun.de> writes:

> On Sat, Jul 12, 2008 at 09:31:01PM +0100, M?ns Rullg?rd wrote:
>> Diego Biurrun <diego at biurrun.de> writes:
>> 
>> > On Sat, Jul 12, 2008 at 05:01:54PM +0100, M?ns Rullg?rd wrote:
>> >> Diego Biurrun <diego at biurrun.de> writes:
>> >> 
>> >> > On Wed, Jul 09, 2008 at 09:09:51PM +0200, mru wrote:
>> >> >> 
>> >> >> Log:
>> >> >> regenerate dependencies when building object files
>> >> >
>> >> > Hmm...
>> >> >
>> >> >> --- trunk/common.mak	(original)
>> >> >> +++ trunk/common.mak	Wed Jul  9 21:09:50 2008
>> >> >> @@ -38,6 +38,8 @@ CFLAGS := -DHAVE_AV_CONFIG_H -D_FILE_OFF
>> >> >>  
>> >> >> +%.o: %.d
>> >> >> +
>> >> >> 
>> >> >> --- trunk/configure	(original)
>> >> >> +++ trunk/configure	Wed Jul  9 21:09:50 2008
>> >> >> @@ -970,7 +970,7 @@ SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMA
>> >> >>  
>> >> >>  # gcc stupidly only outputs the basename of targets with -MM
>> >> >> -DEPEND_CMD='$(CC) $(CFLAGS) -MM -MG $< | sed -e "/^\#.*/d" -e "1s,^,$(@D)/," -e "s,\\([[:space:]]\\)\\(version\\.h\\),\\1\$$(BUILD_ROOT_REL)/\\2," -e "s/\(.*\)\.o/\1.d &/"'
>> >> >> +DEPEND_CMD='$(CC) $(CFLAGS) -MM -MG $< | sed -e "/^\#.*/d" -e "1s,^,$(@D)/," -e "s,\\([[:space:]]\\)\\(version\\.h\\),\\1\$$(BUILD_ROOT_REL)/\\2,"'
>> >> >
>> >> > Uoti just confirmed my initial suspicion after I ported this over
>> >> > to MPlayer: This change is not equivalent.
>> >> >
>> >> > The reason I made this change in the first place was to have .d files
>> >> > updated when any of the files the .c file depends on changes.  This was
>> >> > to reflect changing header inclusions, etc.  This no longer works.  Try
>> >> > touching a header file and running make, .d files will not get updated
>> >> > even though they could be affected.
>> >> 
>> >> I realised this later.  The problem is that, as it was, removing a
>> >> header file totally confused make into not even trying rebuild the
>> >> object file, and people were complaining about that.
>> >
>> > Elaborate, what scenario exactly is causing problems?
>> 
>> Delete any header file, and try to make an object file that depends on
>> it.
>
> I think an explicit error is preferable to a silent miscompilation.  I'm
> in favor of reverting this.

Reverting it gives you silent failures.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-cvslog mailing list