[FFmpeg-trac] #4922(undetermined:new): Regression introduced in probe_cc

FFmpeg trac at avcodec.org
Sun Oct 11 11:55:50 CEST 2015

#4922: Regression introduced in probe_cc
             Reporter:  jyavenard    |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
 A regression was introduced by commit

 "    configure: do not fork off grep subprocess in probe_cc

     grep is not required for the functionality in this instance.
     This avoids an unnecessary fork, and also avoids a duplicated
 dumpversion call.
     Furthermore, it also corrects behavior when no minor version number is
 present, see e.g

     Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
     Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

 It changed from:
         if ! $_cc -dumpversion | grep -q '^2\.'; then
             _depflags='-MMD -MF $(@:.o=.d) -MT $@'

         case $gcc_basever in
             2*) _depflags='-MMD -MF $(@:.o=.d) -MT $@' ;;

 So _depflags_ prior commit 060102389e572abb2beaed3b9f5e1036aeea43f1 was
 set when gcc version was != 2

 following this commit it is set if version is 2.

 This cause to have defined as CCDEP to
 CCDEP=$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< | sed -e "/^\#.*/d"
 -e "s,^[[:space:]]*$(*F)\\.o,$(@D)/$(*F).o," > $(@:.o=.d)
 ASDEP=$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< | sed -e "/^\#.*/d"
 -e "s,^[[:space:]]*$(*F)\\.o,$(@D)/$(*F).o," > $(@:.o=.d)

 Making the generated config.mak unusable in scripts (makefile or qmake
 .pro) dependent on it.

 One could argue that bothering for gcc <= 4.2 is rather pointless.

 It also exposes an issue when the DEPCMD is to be evaluated:
 it is set by default to
 DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< | sed -e "/^\#.*/d"
 -e "s,^[[:space:]]*$(*F)\\.o,$(@D)/$(*F).o," > $(@:.o=.d)'

 this is never evaluated properly if we ever need to.

Ticket URL: <https://trac.ffmpeg.org/ticket/4922>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list