diff --git a/common.mak b/common.mak index 14c6508a6c..172664011c 100644 --- a/common.mak +++ b/common.mak @@ -33,7 +33,7 @@ CXXFLAGS += $(CPPFLAGS) $(CFLAGS) YASMFLAGS += $(IFLAGS:%=%/) -I$(SRC_PATH)/libavutil/x86/ -Pconfig.asm HOSTCCFLAGS = $(IFLAGS) $(HOSTCFLAGS) -LDFLAGS := $(ALLFFLIBS:%=-Llib%) $(LDFLAGS) +LDFLAGS := $(ALLFFLIBS:%=$(LD_PATH)lib%) $(LDFLAGS) define COMPILE $(call $(1)DEP,$(1)) @@ -82,7 +82,8 @@ OBJS += $(OBJS-yes) FFLIBS := $(FFLIBS-yes) $(FFLIBS) TESTPROGS += $(TESTPROGS-yes) -FFEXTRALIBS := $(FFLIBS:%=-l%$(BUILDSUF)) $(EXTRALIBS) +LDLIBS = $(FFLIBS:%=%$(BUILDSUF)) +FFEXTRALIBS := $(LDLIBS:%=$(LD_LIB)) $(EXTRALIBS) EXAMPLES := $(EXAMPLES:%=$(SUBDIR)%-example$(EXESUF)) OBJS := $(sort $(OBJS:%=$(SUBDIR)%)) diff --git a/configure b/configure index 6fc81f4838..46bf736105 100755 --- a/configure +++ b/configure @@ -2050,6 +2050,8 @@ 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 $@' @@ -2411,7 +2413,8 @@ probe_cc(){ pfx=$1 _cc=$2 - unset _type _ident _cc_c _cc_e _cc_o _ld_o _flags _cflags _ldflags + unset _type _ident _cc_c _cc_e _cc_o _flags _cflags + unset _ld_o _ldflags _ld_lib _ld_path unset _depflags _DEPCMD _DEPFLAGS _flags_filter=echo @@ -2573,6 +2576,8 @@ ldflags_filter=$_flags_filter add_ldflags $_flags $_ldflags test "$cc_type" != "$ld_type" && add_ldflags $cc_ldflags LD_O=${_ld_o-$LD_O} +LD_LIB=${_ld_lib-$LD_LIB} +LD_PATH=${_ld_path-$LD_PATH} probe_cc hostld "$host_ld" host_ldflags_filter=$_flags_filter @@ -4018,6 +4023,8 @@ 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-ffserver=$FFSERVERLDFLAGS diff --git a/doc/developer.texi b/doc/developer.texi index 5f374e41f4..cd635a8161 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -394,6 +394,8 @@ send a reminder by email. Your patch should eventually be dealt with. 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}, even if it is only a decoder? diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index c3cde347d3..f4ed8ce2a4 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -90,6 +90,9 @@ * 1. no value of a existing codec ID changes (that would break ABI), * 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 --git a/library.mak b/library.mak index 9c01e34c73..e943615ba7 100644 --- a/library.mak +++ b/library.mak @@ -35,7 +35,7 @@ install-libs-$(CONFIG_SHARED): install-lib$(NAME)-shared define RULES $(EXAMPLES) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o - $$(LD) $(LDFLAGS) $$(LD_O) $$^ -l$(FULLNAME) $(FFEXTRALIBS) $$(ELIBS) + $$(LD) $(LDFLAGS) $$(LD_O) $$^ $(FULLNAME:%=$(LD_LIB)) $(FFEXTRALIBS) $$(ELIBS) $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) $(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME)