From cab7c2a50aa22564ed379d5c27d6f8af75cdb8fd Mon Sep 17 00:00:00 2001 From: Eric Petit Date: Mon, 29 May 2006 21:58:22 +0000 Subject: [PATCH] Get revision at build time --- .gitignore | 1 + Makefile | 15 +++++++++++---- cli/Makefile | 1 + configure | 3 --- macosx/Makefile | 3 ++- version.sh | 21 +++++++++++++++++++++ 6 files changed, 36 insertions(+), 8 deletions(-) create mode 100755 version.sh diff --git a/.gitignore b/.gitignore index 7bd49e7f0..d0c379a30 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /.depend /Makefile.config +/Makefile.version Transmission.xcodeproj/*.mode1 Transmission.xcodeproj/*.pbxuser beos/.depend diff --git a/Makefile b/Makefile index 9c8f22c7f..eedb7fd9c 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,13 @@ # $Id$ -include Makefile.config -include Makefile.common - ifndef CONFIGURE_RUN $(error You must run ./configure first) endif +-include Makefile.version +include Makefile.common + ifneq ($(SYSTEM),Darwin) TARGETS = .cli @@ -19,7 +20,7 @@ endif all: $(TARGETS) -.lib: +.lib: .version @echo "* Building libtransmission" @$(MAKE) -C libtransmission @@ -59,7 +60,7 @@ endif else -all: +all: .version @$(MAKE) -C macosx @xcodebuild -alltargets -activeconfiguration | grep -v "^$$" @@ -97,3 +98,9 @@ package-release: $(PACKAGE_RULE2) endif + +Makefile.version: .version + +.version: + @echo "Checking SVN revision..." + @./version.sh diff --git a/cli/Makefile b/cli/Makefile index dfd2864bc..4d59bb9b4 100644 --- a/cli/Makefile +++ b/cli/Makefile @@ -1,6 +1,7 @@ # $Id$ include ../Makefile.config +include ../Makefile.version include ../Makefile.common SRCS = transmissioncli.c diff --git a/configure b/configure index 4a1cfe2da..79554817f 100755 --- a/configure +++ b/configure @@ -18,8 +18,6 @@ CXX="${CXX-c++}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" -SVNREV="`echo '$Rev$' | sed 's/[^0-9]*//g'`" - # # Functions # @@ -291,7 +289,6 @@ lrintf_test rm -f Makefile.config cat > Makefile.config << EOF CONFIGURE_RUN = yes -SVN_REVISION = $SVNREV SYSTEM = $SYSTEM PREFIX = $PREFIX LOCALEDIR = $LOCALEDIR diff --git a/macosx/Makefile b/macosx/Makefile index 453c4abc7..0b2abb1b9 100644 --- a/macosx/Makefile +++ b/macosx/Makefile @@ -1,9 +1,10 @@ # $Id$ include ../Makefile.config +include ../Makefile.version include ../Makefile.common -Info.plist: Info.plist.in ../Makefile.common +Info.plist: Info.plist.in ../Makefile.version ../Makefile.common $(RM) $@ sed "s/%%VERSION%%/$(VERSION_STRING)/g" < $< > $@ diff --git a/version.sh b/version.sh new file mode 100755 index 000000000..01889e50c --- /dev/null +++ b/version.sh @@ -0,0 +1,21 @@ +#! /bin/sh +# +# $Id$ + +REVMAX=0 + +for pattern in '*.[chm]' '*.cpp' '*.po' 'Makefile*' 'configure' 'version.sh'; do + for f in `find . -name "$pattern"`; do + REV=`grep '\$Id:' $f | sed 's/.*\$Id: [^ ]* \([0-9]*\) .*/\1/'` + if [ -n "$REV" ]; then + if [ "$REV" -gt "$REVMAX" ]; then + REVMAX="$REV" + fi + fi + done +done + +rm -f Makefile.version +echo "SVN_REVISION = $REVMAX" > Makefile.version + +exit 0