| 1 |
#!/bin/sh |
| 2 |
|
| 3 |
# check for SVN revision number |
| 4 |
revision=$(cat snapshot_version 2> /dev/null) |
| 5 |
test $revision || revision=$(cd "$1" && LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2) |
| 6 |
test $revision || revision=$(cd "$1" && grep revision .svn/entries 2>/dev/null | cut -d '"' -f2) |
| 7 |
test $revision || revision=$(cd "$1" && sed -n -e '/^dir$/{n |
| 8 |
p |
| 9 |
q |
| 10 |
}' .svn/entries 2>/dev/null) |
| 11 |
test $revision && revision=SVN-r$revision |
| 12 |
|
| 13 |
# check for git svn revision number |
| 14 |
if ! test $revision; then |
| 15 |
revision=$(cd "$1" && git svn find-rev HEAD) |
| 16 |
test $revision && revision=git-svn-r$revision |
| 17 |
fi |
| 18 |
|
| 19 |
# check for git short hash |
| 20 |
if ! test $revision; then |
| 21 |
revision=$(cd "$1" && git log -1 --pretty=format:%h) |
| 22 |
test $revision && revision=git-$revision |
| 23 |
fi |
| 24 |
|
| 25 |
# no revision number found |
| 26 |
test $revision || revision=UNKNOWN |
| 27 |
|
| 28 |
# releases extract the version number from the VERSION file |
| 29 |
version=$(cat VERSION 2> /dev/null) |
| 30 |
test $version || version=$revision |
| 31 |
|
| 32 |
test -n "$3" && version=$version-$3 |
| 33 |
|
| 34 |
NEW_REVISION="#define FFMPEG_VERSION \"$version\"" |
| 35 |
OLD_REVISION=$(cat version.h 2> /dev/null) |
| 36 |
|
| 37 |
# Update version.h only on revision changes to avoid spurious rebuilds |
| 38 |
if test "$NEW_REVISION" != "$OLD_REVISION"; then |
| 39 |
echo "$NEW_REVISION" > "$2" |
| 40 |
fi |