]> git.sesse.net Git - x264/blobdiff - version.sh
x264_vfprintf: use va_copy
[x264] / version.sh
index 37b9908fa9ccae005135c84684de9e6647b7ee64..682bcba63da95dd515712b13c55ce9be66315577 100755 (executable)
@@ -1,19 +1,29 @@
 #!/bin/sh
-git-rev-list HEAD | sort > config.git-hash
+[ -n "$1" ] && cd $1
+
+git_version() {
+trap 'rm -f config.git-hash' EXIT
+git rev-list HEAD | sort > config.git-hash
 LOCALVER=`wc -l config.git-hash | awk '{print $1}'`
 if [ $LOCALVER \> 1 ] ; then
-    VER=`git-rev-list origin/master | sort | join config.git-hash - | wc -l | awk '{print $1}'`
-    if [ $VER != $LOCALVER ] ; then
-        VER="$VER+$(($LOCALVER-$VER))"
-    elif git-status | grep -q "modified:" ; then
+    VER=`git rev-list origin/master | sort | join config.git-hash - | wc -l | awk '{print $1}'`
+    VER_DIFF=$(($LOCALVER-$VER))
+    echo "#define X264_REV $VER"
+    echo "#define X264_REV_DIFF $VER_DIFF"
+    if [ $VER_DIFF != 0 ] ; then
+        VER="$VER+$VER_DIFF"
+    fi
+    if git status | grep -q "modified:" ; then
         VER="${VER}M"
     fi
-    VER="$VER $(git-rev-list HEAD -n 1 | head -c 7)"
-    echo "#define X264_VERSION \" r$VER\"" >> config.h
-else
-    echo "#define X264_VERSION \"\"" >> config.h
-    VER="x"
+    VER="$VER $(git rev-list HEAD -n 1 | cut -c 1-7)"
+    VERSION=" r$VER"
 fi
-rm -f config.git-hash
+}
+
+VER="x"
+VERSION=""
+[ -d .git ] && (type git >/dev/null 2>&1) && git_version
+echo "#define X264_VERSION \"$VERSION\""
 API=`grep '#define X264_BUILD' < x264.h | sed -e 's/.* \([1-9][0-9]*\).*/\1/'`
-echo "#define X264_POINTVER \"0.$API.$VER\"" >> config.h
+echo "#define X264_POINTVER \"0.$API.$VER\""