annotate ffmpeg/version.sh @ 13:844d341cf643 tip

Back up before ISMIR
author Yading Song <yading.song@eecs.qmul.ac.uk>
date Thu, 31 Oct 2013 13:17:06 +0000
parents f445c3017523
children
rev   line source
yading@11 1 #!/bin/sh
yading@11 2
yading@11 3 # check for git short hash
yading@11 4 if ! test "$revision"; then
yading@11 5 revision=$(cd "$1" && git describe --tags --match N 2> /dev/null)
yading@11 6 fi
yading@11 7
yading@11 8 # Shallow Git clones (--depth) do not have the N tag:
yading@11 9 # use 'git-YYYY-MM-DD-hhhhhhh'.
yading@11 10 test "$revision" || revision=$(cd "$1" &&
yading@11 11 git log -1 --pretty=format:"git-%cd-%h" --date=short 2> /dev/null)
yading@11 12
yading@11 13 # Snapshots from gitweb are in a directory called ffmpeg-hhhhhhh or
yading@11 14 # ffmpeg-HEAD-hhhhhhh.
yading@11 15 if [ -z "$revision" ]; then
yading@11 16 srcdir=$(cd "$1" && pwd)
yading@11 17 case "$srcdir" in
yading@11 18 */ffmpeg-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])
yading@11 19 git_hash="${srcdir##*-}";;
yading@11 20 */ffmpeg-HEAD-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])
yading@11 21 git_hash="${srcdir##*-}";;
yading@11 22 esac
yading@11 23 fi
yading@11 24
yading@11 25 # no revision number found
yading@11 26 test "$revision" || revision=$(cd "$1" && cat RELEASE 2> /dev/null)
yading@11 27
yading@11 28 # Append the Git hash if we have one
yading@11 29 test "$revision" && test "$git_hash" && revision="$revision-$git_hash"
yading@11 30
yading@11 31 # releases extract the version number from the VERSION file
yading@11 32 version=$(cd "$1" && cat VERSION 2> /dev/null)
yading@11 33 test "$version" || version=$revision
yading@11 34
yading@11 35 test -n "$3" && version=$version-$3
yading@11 36
yading@11 37 if [ -z "$2" ]; then
yading@11 38 echo "$version"
yading@11 39 exit
yading@11 40 fi
yading@11 41
yading@11 42 NEW_REVISION="#define FFMPEG_VERSION \"$version\""
yading@11 43 OLD_REVISION=$(cat version.h 2> /dev/null)
yading@11 44
yading@11 45 # Update version.h only on revision changes to avoid spurious rebuilds
yading@11 46 if test "$NEW_REVISION" != "$OLD_REVISION"; then
yading@11 47 echo "$NEW_REVISION" > "$2"
yading@11 48 fi