summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--avbuild/common.mak2
-rw-r--r--avbuild/library.mak5
-rwxr-xr-xavbuild/libversion.sh15
-rwxr-xr-xconfigure13
5 files changed, 22 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index c9fa162d8d..6036e447db 100644
--- a/Makefile
+++ b/Makefile
@@ -67,7 +67,7 @@ COMPILE_HOSTC = $(call COMPILE,HOSTCC)
%.h.c:
$(Q)echo '#include "$*.h"' >$@
-%.c %.h %.ver: TAG = GEN
+%.c %.h %.ver %.version: TAG = GEN
AVPROGS-$(CONFIG_AVCONV) += avconv
AVPROGS-$(CONFIG_AVPLAY) += avplay
diff --git a/avbuild/common.mak b/avbuild/common.mak
index 96762949cc..236380effc 100644
--- a/avbuild/common.mak
+++ b/avbuild/common.mak
@@ -49,7 +49,7 @@ $(TOOLOBJS): | tools
OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOBJS) $(HOSTOBJS) $(TESTOBJS))
-CLEANSUFFIXES = *.d *.o *~ *.h.c *.gcda *.gcno *.map *.ver
+CLEANSUFFIXES = *.d *.o *~ *.h.c *.gcda *.gcno *.map *.ver *.version
DISTCLEANSUFFIXES = *.pc
LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a
diff --git a/avbuild/library.mak b/avbuild/library.mak
index 9215a93a2c..45152bebe8 100644
--- a/avbuild/library.mak
+++ b/avbuild/library.mak
@@ -1,5 +1,7 @@
include $(SRC_PATH)/avbuild/common.mak
+-include $(SUBDIR)lib$(NAME).version
+
LIBVERSION := $(lib$(NAME)_VERSION)
LIBMAJOR := $(lib$(NAME)_VERSION_MAJOR)
LIBMINOR := $(lib$(NAME)_VERSION_MINOR)
@@ -30,6 +32,9 @@ $(TESTPROGS): THISLIB = $(SUBDIR)$(LIBNAME)
$(TESTPROGS) $(TOOLS): %$(EXESUF): %.o
$$(LD) $(LDFLAGS) $(LDEXEFLAGS) $$(LD_O) $$(filter %.o,$$^) $$(THISLIB) $(FFEXTRALIBS) $$(ELIBS)
+$(SUBDIR)lib$(NAME).version: $(SUBDIR)version.h | $(SUBDIR)
+ $$(M) $$(SRC_PATH)/avbuild/libversion.sh $(NAME) $$< > $$@
+
$(SUBDIR)lib$(NAME).ver: $(SUBDIR)lib$(NAME).v $(OBJS)
$$(M)sed 's/MAJOR/$(lib$(NAME)_VERSION_MAJOR)/' $$< | $(VERSION_SCRIPT_POSTPROCESS_CMD) > $$@
diff --git a/avbuild/libversion.sh b/avbuild/libversion.sh
new file mode 100755
index 0000000000..30046b1d25
--- /dev/null
+++ b/avbuild/libversion.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+toupper(){
+ echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+}
+
+name=lib$1
+ucname=$(toupper ${name})
+file=$2
+
+eval $(awk "/#define ${ucname}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file")
+eval ${ucname}_VERSION=\$${ucname}_VERSION_MAJOR.\$${ucname}_VERSION_MINOR.\$${ucname}_VERSION_MICRO
+eval echo "${name}_VERSION=\$${ucname}_VERSION"
+eval echo "${name}_VERSION_MAJOR=\$${ucname}_VERSION_MAJOR"
+eval echo "${name}_VERSION_MINOR=\$${ucname}_VERSION_MINOR"
diff --git a/configure b/configure
index bcc5f6ec72..2671b5a02b 100755
--- a/configure
+++ b/configure
@@ -5318,19 +5318,6 @@ VERSION_SCRIPT_POSTPROCESS_CMD=${VERSION_SCRIPT_POSTPROCESS_CMD}
SAMPLES:=${samples:-\$(LIBAV_SAMPLES)}
EOF
-get_version(){
- lcname=lib${1}
- name=$(toupper $lcname)
- file=$source_path/$lcname/version.h
- eval $(awk "/#define ${name}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file")
- eval ${name}_VERSION=\$${name}_VERSION_MAJOR.\$${name}_VERSION_MINOR.\$${name}_VERSION_MICRO
- eval echo "${lcname}_VERSION=\$${name}_VERSION" >> avbuild/config.mak
- eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> avbuild/config.mak
- eval echo "${lcname}_VERSION_MINOR=\$${name}_VERSION_MINOR" >> avbuild/config.mak
-}
-
-map 'get_version $v' $LIBRARY_LIST
-
map 'eval echo "${v}_FFLIBS=\$${v}_deps" >> avbuild/config.mak' $LIBRARY_LIST
print_program_extralibs(){