Don't disallow loading a subtitle in Win32 GUI when playback is stopped.
[mplayer.git] / version.sh
index 6bcc841..35e41a8 100755 (executable)
@@ -1,32 +1,30 @@
 #!/bin/sh
 
-OS=`uname -s`
-case "$OS" in
-  CYGWIN*|Linux)
-    last_cvs_update=`date -r CVS/Entries +%y%m%d-%H:%M 2>/dev/null`
-    ;;
-  Darwin|*BSD*)
-    # BSD 'date -r' does not print modification time
-    # LC_ALL=C sets month/day order and English language in the date string
-    # The if in the awk call works around wrong day/month order.
-    last_cvs_update=`LC_ALL=C ls -lT CVS/Entries | \
-      awk '{ \
-        day=$7; \
-        month=index(" JanFebMarAprMayJunJulAugSepOctNovDec", $6); \
-        if(month==0) { \
-          day=$6; \
-          month=index(" JanFebMarAprMayJunJulAugSepOctNovDec",$7); } \
-        printf("%s%.02d%.02d-%s", \
-          substr($9, 3, 2), (month+1)/3, day, substr($8, 0, 5)); \
-      }'`
-    ;;
-  *)
-    last_cvs_update=`date +%y%m%d-%H:%M`
-    ;;
-esac
+test "$1" && extra="-$1"
 
-extra=""
-if test "$1" ; then
-  extra="-$1"
+# releases extract the version number from the VERSION file
+version=$(cat VERSION 2> /dev/null)
+
+if test -z $version ; then
+# Extract revision number from file used by daily tarball snapshots
+# or from the places different Subversion versions have it.
+svn_revision=$(cat snapshot_version 2> /dev/null)
+test $svn_revision || svn_revision=$(LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2)
+test $svn_revision || svn_revision=$(grep revision .svn/entries 2>/dev/null | cut -d '"' -f2)
+test $svn_revision || svn_revision=$(sed -n -e '/^dir$/{n;p;q;}' .svn/entries 2>/dev/null)
+test $svn_revision && svn_revision=SVN-r$svn_revision
+test $svn_revision || svn_revision=UNKNOWN
+version=$svn_revision
+fi
+
+NEW_REVISION="#define VERSION \"${version}${extra}\""
+OLD_REVISION=$(head -n 1 version.h 2> /dev/null)
+TITLE='#define MP_TITLE "%s "VERSION" (C) 2000-2018 MPlayer Team\n"'
+
+# Update version.h only on revision changes to avoid spurious rebuilds
+if test "$NEW_REVISION" != "$OLD_REVISION"; then
+    cat <<EOF > version.h
+$NEW_REVISION
+$TITLE
+EOF
 fi
-echo "#define VERSION \"dev-CVS-${last_cvs_update}${extra}\"" >version.h