PERF-VERSION-GEN 791 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/sh
  2. if [ $# -eq 1 ] ; then
  3. OUTPUT=$1
  4. fi
  5. GVF=${OUTPUT}PERF-VERSION-FILE
  6. DEF_VER=v0.0.2.PERF
  7. LF='
  8. '
  9. # First see if there is a version file (included in release tarballs),
  10. # then try git-describe, then default.
  11. if test -f version
  12. then
  13. VN=$(cat version) || VN="$DEF_VER"
  14. elif test -d .git -o -f .git &&
  15. VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
  16. case "$VN" in
  17. *$LF*) (exit 1) ;;
  18. v[0-9]*)
  19. git update-index -q --refresh
  20. test -z "$(git diff-index --name-only HEAD --)" ||
  21. VN="$VN-dirty" ;;
  22. esac
  23. then
  24. VN=$(echo "$VN" | sed -e 's/-/./g');
  25. else
  26. VN="$DEF_VER"
  27. fi
  28. VN=$(expr "$VN" : v*'\(.*\)')
  29. if test -r $GVF
  30. then
  31. VC=$(sed -e 's/^PERF_VERSION = //' <$GVF)
  32. else
  33. VC=unset
  34. fi
  35. test "$VN" = "$VC" || {
  36. echo >&2 "PERF_VERSION = $VN"
  37. echo "PERF_VERSION = $VN" >$GVF
  38. }