summaryrefslogtreecommitdiff
authorDiego Biurrun <diego@biurrun.de>2006-06-20 10:24:08 (GMT)
committer Diego Biurrun <diego@biurrun.de>2006-06-20 10:24:08 (GMT)
commitf1cc88a5d65edb26eb63a032f6835008927a02c0 (patch)
tree3648e7ee10d66202a251aa866a90e0bc748ba61f
parentd2845d68c8f7c6bce632bac8e2cee56c73b7db89 (diff)
downloadffmpeg-f1cc88a5d65edb26eb63a032f6835008927a02c0.zip
ffmpeg-f1cc88a5d65edb26eb63a032f6835008927a02c0.tar.gz
ffmpeg-f1cc88a5d65edb26eb63a032f6835008927a02c0.tar.bz2
Use Subversion revision for FFMPEG_VERSION.
based on a patch by Ismail Dönmez ismail$$at$$pardus$$dot$$org$$dot$$tr Originally committed as revision 5502 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat
-rw-r--r--Makefile8
-rw-r--r--ffmpeg.c1
-rw-r--r--ffplay.c1
-rw-r--r--ffserver.c1
-rw-r--r--libavcodec/avcodec.h3
-rwxr-xr-xversion.sh10
6 files changed, 20 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index a3b94a5..8335a87 100644
--- a/Makefile
+++ b/Makefile
@@ -67,7 +67,7 @@ SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s)
FFLIBDIRS = -L./libavformat -L./libavcodec -L./libavutil
FFLIBS = -lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF)
-all: lib $(PROGS_G) $(PROGS) $(PROGTEST) $(VHOOK) $(QTFASTSTART) $(DOC)
+all: version.h lib $(PROGS_G) $(PROGS) $(PROGTEST) $(VHOOK) $(QTFASTSTART) $(DOC)
lib:
$(MAKE) -C libavutil all
@@ -90,6 +90,10 @@ ffplay_g$(EXESUF): ffplay.o cmdutils.o .libs
cp -p $< $@
$(STRIP) $@
+.PHONY: version.h
+version.h:
+ $(SRC_PATH)/version.sh
+
output_example$(EXESUF): output_example.o .libs
$(CC) $(FFLIBDIRS) $(LDFLAGS) -o $@ output_example.o $(FFLIBS) $(EXTRALIBS)
@@ -220,7 +224,7 @@ distclean: clean
$(MAKE) -C libpostproc distclean
$(MAKE) -C tests distclean
$(MAKE) -C vhook distclean
- rm -f .depend config.mak config.h *.pc
+ rm -f .depend config.mak config.h version.h *.pc
TAGS:
etags *.[ch] libavformat/*.[ch] libavcodec/*.[ch]
diff --git a/ffmpeg.c b/ffmpeg.c
index 6653c78..3834ff6 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -40,6 +40,7 @@
#undef time //needed because HAVE_AV_CONFIG_H is defined on top
#include <time.h>
+#include "version.h"
#include "cmdutils.h"
#undef NDEBUG
diff --git a/ffplay.c b/ffplay.c
index 8cffa8f..7dc5c60 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -19,6 +19,7 @@
#define HAVE_AV_CONFIG_H
#include "avformat.h"
+#include "version.h"
#include "cmdutils.h"
#include <SDL.h>
diff --git a/ffserver.c b/ffserver.c
index 4fe7b03..cb44f61 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -39,6 +39,7 @@
#include <dlfcn.h>
#endif
+#include "version.h"
#include "ffserver.h"
/* maximum number of simultaneous HTTP connections */
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index d128cb9..52283aa 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -14,9 +14,8 @@ extern "C" {
#include "avutil.h"
#include <sys/types.h> /* size_t */
-//FIXME the following 2 really dont belong in here
+//FIXME: This really doesn't belong in here..
#define FFMPEG_VERSION_INT 0x000409
-#define FFMPEG_VERSION "HEAD"
#define AV_STRINGIFY(s) AV_TOSTRING(s)
#define AV_TOSTRING(s) #s
diff --git a/version.sh b/version.sh
new file mode 100755
index 0000000..cfed406
--- a/dev/null
+++ b/version.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+svn_revision=`svn info | grep Revision | cut -d' ' -f2 || echo UNKNOWN`
+NEW_REVISION="#define FFMPEG_VERSION \"SVN-r$svn_revision\""
+OLD_REVISION=`cat version.h 2> /dev/null`
+
+# Update version.h only on revision changes to avoid spurious rebuilds
+if test "$NEW_REVISION" != "$OLD_REVISION"; then
+ echo "$NEW_REVISION" > version.h
+fi