annotate version.sh @ 28795:689a357fdb1b

Add support for extracting the release version number from a VERSION file.
author diego
date Thu, 05 Mar 2009 23:36:28 +0000
parents 406b0b7a6dae
children 1bdda4f68f5f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
420
980bafac238f write cvs date+version into version.h
arpi_esp
parents:
diff changeset
1 #!/bin/sh
980bafac238f write cvs date+version into version.h
arpi_esp
parents:
diff changeset
2
18759
04ed79acda15 simplify
diego
parents: 18624
diff changeset
3 test "$1" && extra="-$1"
18595
c55903d85291 cosmetics
diego
parents: 18594
diff changeset
4
28693
406b0b7a6dae Read revision string from the file snapshot_version if available.
diego
parents: 28691
diff changeset
5 # Extract revision number from file used by daily tarball snapshots
406b0b7a6dae Read revision string from the file snapshot_version if available.
diego
parents: 28691
diff changeset
6 # or from the places different Subversion versions have it.
406b0b7a6dae Read revision string from the file snapshot_version if available.
diego
parents: 28691
diff changeset
7 svn_revision=$(cat snapshot_version 2> /dev/null)
406b0b7a6dae Read revision string from the file snapshot_version if available.
diego
parents: 28691
diff changeset
8 test $svn_revision || svn_revision=$(LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2)
28691
bd49d53e0cdb cosmetics: Use $() instead of ``, the former can be nested more easily.
diego
parents: 28350
diff changeset
9 test $svn_revision || svn_revision=$(grep revision .svn/entries 2>/dev/null | cut -d '"' -f2)
bd49d53e0cdb cosmetics: Use $() instead of ``, the former can be nested more easily.
diego
parents: 28350
diff changeset
10 test $svn_revision || svn_revision=$(sed -n -e '/^dir$/{n;p;q;}' .svn/entries 2>/dev/null)
28795
689a357fdb1b Add support for extracting the release version number from a VERSION file.
diego
parents: 28693
diff changeset
11 test $svn_revision && svn_revision=SVN-r$svn_revision
18791
72e6908f0347 Produce correct version string even when not run in a Subversion working copy.
diego
parents: 18784
diff changeset
12 test $svn_revision || svn_revision=UNKNOWN
72e6908f0347 Produce correct version string even when not run in a Subversion working copy.
diego
parents: 18784
diff changeset
13
28795
689a357fdb1b Add support for extracting the release version number from a VERSION file.
diego
parents: 28693
diff changeset
14 # releases extract the version number from the VERSION file
689a357fdb1b Add support for extracting the release version number from a VERSION file.
diego
parents: 28693
diff changeset
15 version=$(cat VERSION 2> /dev/null)
689a357fdb1b Add support for extracting the release version number from a VERSION file.
diego
parents: 28693
diff changeset
16 test $version || version=$svn_revision
689a357fdb1b Add support for extracting the release version number from a VERSION file.
diego
parents: 28693
diff changeset
17
689a357fdb1b Add support for extracting the release version number from a VERSION file.
diego
parents: 28693
diff changeset
18 NEW_REVISION="#define VERSION \"${version}${extra}\""
28691
bd49d53e0cdb cosmetics: Use $() instead of ``, the former can be nested more easily.
diego
parents: 28350
diff changeset
19 OLD_REVISION=$(cat version.h 2> /dev/null)
28350
0b879bbbb432 Use single quotes to avoid escaping double quotes in a string.
diego
parents: 28349
diff changeset
20 TITLE='#define MP_TITLE "%s "VERSION" (C) 2000-2009 MPlayer Team\n"'
18784
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
21
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
22 # Update version.h only on revision changes to avoid spurious rebuilds
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
23 if test "$NEW_REVISION" != "$OLD_REVISION"; then
28349
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
24 cat <<EOF > version.h
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
25 $NEW_REVISION
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
26 $TITLE
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
27 EOF
18784
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
28 fi