Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 30 Aug 2012 15:28:21 +0000 (17:28 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 30 Aug 2012 15:28:21 +0000 (17:28 +0200)
* qatar/master:
  build: allow non-standard variations of linker -l/-L flags
  Add reminders to update the codec descriptor list with new codec IDs.

Conflicts:
Makefile
configure
libavcodec/avcodec.h
libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
common.mak
configure
doc/developer.texi
libavcodec/avcodec.h
library.mak

diff --cc common.mak
@@@ -5,77 -5,6 +5,77 @@@
  # first so "all" becomes default target
  all: all-yes
  
- LDFLAGS    := $(ALLFFLIBS:%=-Llib%) $(LDFLAGS)
 +ifndef SUBDIR
 +
 +ifndef V
 +Q      = @
 +ECHO   = printf "$(1)\t%s\n" $(2)
 +BRIEF  = CC CXX HOSTCC HOSTLD AS YASM AR LD STRIP CP
 +SILENT = DEPCC DEPHOSTCC DEPAS DEPYASM RANLIB RM
 +
 +MSG    = $@
 +M      = @$(call ECHO,$(TAG),$@);
 +$(foreach VAR,$(BRIEF), \
 +    $(eval override $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR))))
 +$(foreach VAR,$(SILENT),$(eval override $(VAR) = @$($(VAR))))
 +$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_DIR)/%=%)); $(INSTALL))
 +endif
 +
 +ALLFFLIBS = avcodec avdevice avfilter avformat avresample avutil postproc swscale swresample
 +
 +# NASM requires -I path terminated with /
 +IFLAGS     := -I. -I$(SRC_PATH)/
 +CPPFLAGS   := $(IFLAGS) $(CPPFLAGS)
 +CFLAGS     += $(ECFLAGS)
 +CCFLAGS     = $(CPPFLAGS) $(CFLAGS)
 +ASFLAGS    := $(CPPFLAGS) $(ASFLAGS)
 +CXXFLAGS   += $(CPPFLAGS) $(CFLAGS)
 +YASMFLAGS  += $(IFLAGS:%=%/) -I$(SRC_PATH)/libavutil/x86/ -Pconfig.asm
 +
 +HOSTCCFLAGS = $(IFLAGS) $(HOSTCFLAGS)
++LDFLAGS    := $(ALLFFLIBS:%=$(LD_PATH)lib%) $(LDFLAGS)
 +
 +define COMPILE
 +       $(call $(1)DEP,$(1))
 +       $($(1)) $($(1)FLAGS) $($(1)_DEPFLAGS) $($(1)_C) $($(1)_O) $<
 +endef
 +
 +COMPILE_C = $(call COMPILE,CC)
 +COMPILE_CXX = $(call COMPILE,CXX)
 +COMPILE_S = $(call COMPILE,AS)
 +
 +%.o: %.c
 +      $(COMPILE_C)
 +
 +%.o: %.cpp
 +      $(COMPILE_CXX)
 +
 +%.s: %.c
 +      $(CC) $(CPPFLAGS) $(CFLAGS) -S -o $@ $<
 +
 +%.o: %.S
 +      $(COMPILE_S)
 +
 +%.h.c:
 +      $(Q)echo '#include "$*.h"' >$@
 +
 +%.ver: %.v
 +      $(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@
 +
 +%.c %.h: TAG = GEN
 +
 +# Dummy rule to stop make trying to rebuild removed or renamed headers
 +%.h:
 +      @:
 +
 +# Disable suffix rules.  Most of the builtin rules are suffix rules,
 +# so this saves some time on slow systems.
 +.SUFFIXES:
 +
 +# Do not delete intermediate files from chains of implicit rules
 +$(OBJS):
 +endif
 +
  include $(SRC_PATH)/arch.mak
  
  OBJS      += $(OBJS-yes)
diff --cc configure
+++ b/configure
@@@ -2046,10 -1784,9 +2046,12 @@@ AS_O='-o $@
  CC_C='-c'
  CC_E='-E -o $@'
  CC_O='-o $@'
 +CXX_C='-c'
 +CXX_O='-o $@'
  LD_O='-o $@'
 +FORCE_INC="-include"
+ LD_LIB='-l%'
+ LD_PATH='-L'
  HOSTCC_C='-c'
  HOSTCC_O='-o $@'
  HOSTLD_O='-o $@'
@@@ -4015,12 -3527,12 +4020,14 @@@ AS_C=$AS_
  AS_O=$AS_O
  CC_C=$CC_C
  CC_O=$CC_O
 +CXX_C=$CXX_C
 +CXX_O=$CXX_O
  LD_O=$LD_O
+ LD_LIB=$LD_LIB
+ LD_PATH=$LD_PATH
  DLLTOOL=$dlltool
  LDFLAGS=$LDFLAGS
 -LDFLAGS-avserver=$AVSERVERLDFLAGS
 +LDFLAGS-ffserver=$FFSERVERLDFLAGS
  SHFLAGS=$SHFLAGS
  YASMFLAGS=$YASMFLAGS
  BUILDSUF=$build_suffix
@@@ -394,8 -404,10 +394,10 @@@ send a reminder by email. Your patch sh
      Did you register it in @file{allcodecs.c} or @file{allformats.c}?
  @item
      Did you add the AVCodecID to @file{avcodec.h}?
+     When adding new codec IDs, also add an entry to the codec descriptor
+     list in @file{libavcodec/codec_desc.c}.
  @item
 -    If it has a fourcc, did you add it to @file{libavformat/riff.c},
 +    If it has a fourCC, did you add it to @file{libavformat/riff.c},
      even if it is only a decoder?
  @item
      Did you add a rule to compile the appropriate files in the Makefile?
   *
   * If you add a codec ID to this list, add it so that
   * 1. no value of a existing codec ID changes (that would break ABI),
 - * 2. it is as close as possible to similar codecs.
 + * 2. Give it a value which when taken as ASCII is recognized uniquely by a human as this specific codec.
 + *    This ensures that 2 forks can independently add AVCodecIDs without producing conflicts.
+  *
+  * After adding new codec IDs, do not forget to add an entry to the codec
+  * descriptor list and bump libavcodec minor version.
   */
  enum AVCodecID {
      AV_CODEC_ID_NONE,
diff --cc library.mak
Simple merge