aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-08-28 16:06:56 +0100
committerMans Rullgard <mans@mansr.com>2012-08-29 14:16:54 +0100
commit8db73c61a7b24bc4f4d3d415bea2990d17d16354 (patch)
tree4b11648bd02bc803797504d4d055f1eb91cc8b7d
parentbbabeb56fac38347b976e7b84639de53306e4bf2 (diff)
downloadffmpeg-8db73c61a7b24bc4f4d3d415bea2990d17d16354.tar.gz
build: allow non-standard variations of linker -l/-L flags
This enables replacing the -l and -L flags used to specify the just-built libraries when linking the tools and shared libs with non-standard syntaxes. System library flags are already handled by the filtering mechanism in configure. Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r--Makefile2
-rw-r--r--common.mak3
-rwxr-xr-xconfigure9
-rw-r--r--libavformat/Makefile2
-rw-r--r--library.mak2
5 files changed, 13 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index b766e6d00d..77d51eb8d5 100644
--- a/Makefile
+++ b/Makefile
@@ -29,7 +29,7 @@ CCFLAGS = $(CPPFLAGS) $(CFLAGS)
ASFLAGS := $(CPPFLAGS) $(ASFLAGS)
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))
diff --git a/common.mak b/common.mak
index 01adfeca41..d866ef1eef 100644
--- a/common.mak
+++ b/common.mak
@@ -11,7 +11,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 32118d0140..5e0d76ef5b 100755
--- a/configure
+++ b/configure
@@ -1785,6 +1785,8 @@ CC_C='-c'
CC_E='-E -o $@'
CC_O='-o $@'
LD_O='-o $@'
+LD_LIB='-l%'
+LD_PATH='-L'
HOSTCC_C='-c'
HOSTCC_O='-o $@'
HOSTLD_O='-o $@'
@@ -2132,7 +2134,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
@@ -2294,6 +2297,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
@@ -3523,6 +3528,8 @@ AS_O=$AS_O
CC_C=$CC_C
CC_O=$CC_O
LD_O=$LD_O
+LD_LIB=$LD_LIB
+LD_PATH=$LD_PATH
DLLTOOL=$dlltool
LDFLAGS=$LDFLAGS
LDFLAGS-avserver=$AVSERVERLDFLAGS
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 82dc1c1470..61e1fa12da 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -379,4 +379,4 @@ TOOLS = aviocat \
pktdumper \
probetest \
-$(SUBDIR)output-example$(EXESUF): ELIBS = -lswscale
+$(SUBDIR)output-example$(EXESUF): ELIBS = $(patsubst %,$(LD_LIB),swscale)
diff --git a/library.mak b/library.mak
index 165a78204f..d89050e84a 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)