annotate version.sh @ 28349:a42f319f25b3

Use cat instead of echo to generate version.h. Portably echoing backslashes is near impossible.
author diego
date Thu, 29 Jan 2009 00:16:09 +0000
parents fb82979eb1db
children 0b879bbbb432
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
19250
1ba1f19a30e9 Use LC_ALL instead of LANG since the former overrides the latter.
diego
parents: 19247
diff changeset
5 svn_revision=`LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2`
24331
f5edea48bb66 remove cut&paste from ffmpeg mistake. cd "$1" does not make any sense here,
ivo
parents: 23561
diff changeset
6 test $svn_revision || svn_revision=`grep revision .svn/entries 2>/dev/null | cut -d '"' -f2`
24332
012188d367d3 add ; at the end of the sed commands. this fixes operation under cygwin.
ivo
parents: 24331
diff changeset
7 test $svn_revision || svn_revision=`sed -n -e '/^dir$/{n;p;q;}' .svn/entries 2>/dev/null`
18791
72e6908f0347 Produce correct version string even when not run in a Subversion working copy.
diego
parents: 18784
diff changeset
8 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
9
28332
7f31bbff8ddb Drop dev- prefix from printed version number, just SVN-rXXXXX is enough.
diego
parents: 28325
diff changeset
10 NEW_REVISION="#define VERSION \"SVN-r${svn_revision}${extra}\""
18784
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
11 OLD_REVISION=`cat version.h 2> /dev/null`
28348
fb82979eb1db Remove superfluous backslash escapes that caused unintended escapes.
diego
parents: 28341
diff changeset
12 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
13
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
14 # 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
15 if test "$NEW_REVISION" != "$OLD_REVISION"; then
28349
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
16 cat <<EOF > version.h
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
17 $NEW_REVISION
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
18 $TITLE
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
19 EOF
18784
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
20 fi