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
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)
$(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]
#undef time //needed because HAVE_AV_CONFIG_H is defined on top
#include <time.h>
+#include "version.h"
#include "cmdutils.h"
#undef NDEBUG
#define HAVE_AV_CONFIG_H
#include "avformat.h"
+#include "version.h"
#include "cmdutils.h"
#include <SDL.h>
#include <dlfcn.h>
#endif
+#include "version.h"
#include "ffserver.h"
/* maximum number of simultaneous HTTP connections */
#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
--- /dev/null
+#!/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