1#!/bin/sh 2set -e 3 4if test "x$GDAL_SHA1SUM" != "x"; then 5 if test -f gdal_version.h; then 6 cp gdal_version.h gdal_version.h.bak 7 else 8 touch gdal_version.h.bak 9 fi 10 echo "/* This is a generated file from gdal_version.h.in. DO NOT MODIFY !!!! */" > gdal_version.h.new 11 echo "" >> gdal_version.h.new 12 cat gdal_version.h.in >> gdal_version.h.new 13 if grep dev gdal_version.h.in >/dev/null; then 14 sed -i.bak "s/dev/dev\\-$GDAL_SHA1SUM/" gdal_version.h.new && rm gdal_version.h.new.bak 15 else 16 sed -i.bak "s/\(GDAL_RELEASE_NAME\)\(.*\"\)\(.*\)\"/\1\2\3-$GDAL_SHA1SUM\"/" gdal_version.h.new && rm gdal_version.h.new.bak 17 fi 18 if test "x$GDAL_RELEASE_DATE" != "x"; then 19 sed -i.bak "s/define GDAL_RELEASE_DATE.*/define GDAL_RELEASE_DATE $GDAL_RELEASE_DATE/" gdal_version.h.new && rm gdal_version.h.new.bak 20 fi 21 diff -u gdal_version.h.new gdal_version.h.bak >/dev/null || \ 22 (echo "Update gdal_version.h"; \ 23 cp gdal_version.h.new gdal_version.h) 24 rm -f gdal_version.h.bak 25 rm -f gdal_version.h.new 26elif git log -1 >/dev/null 2>/dev/null && grep dev gdal_version.h.in >/dev/null; then 27 REV=$(git log -1 --format="%h") 28 DATE=$(git log -1 --date=format:'%Y%m%d' --format="%ad" 2>/dev/null) || DATE="" 29 if git status --porcelain -uno | grep . >/dev/null; then REV="$REV-dirty"; fi 30 if test -f gdal_version.h; then 31 cp gdal_version.h gdal_version.h.bak 32 else 33 touch gdal_version.h.bak 34 fi 35 echo "/* This is a generated file from gdal_version.h.in. DO NOT MODIFY !!!! */" > gdal_version.h.new 36 echo "" >> gdal_version.h.new 37 cat gdal_version.h.in >> gdal_version.h.new 38 sed -i.bak "s/dev/dev\\-$REV/" gdal_version.h.new && rm gdal_version.h.new.bak 39 if test "$DATE" != ""; then 40 sed -i.bak "s/define GDAL_RELEASE_DATE.*/define GDAL_RELEASE_DATE $DATE/" gdal_version.h.new && rm gdal_version.h.new.bak 41 fi 42 diff -u gdal_version.h.new gdal_version.h.bak >/dev/null || \ 43 (echo "Update gdal_version.h"; \ 44 cp gdal_version.h.new gdal_version.h) 45 rm -f gdal_version.h.bak 46 rm -f gdal_version.h.new 47else 48 echo "/* This is a generated file from gdal_version.h.in. DO NOT MODIFY !!!! */" > gdal_version.h.new 49 echo "" >> gdal_version.h.new 50 cat gdal_version.h.in >> gdal_version.h.new 51 diff -u gdal_version.h.new gdal_version.h 2>/dev/null >/dev/null || \ 52 (echo "Update gdal_version.h"; \ 53 cp gdal_version.h.new gdal_version.h) 54 rm -f gdal_version.h.new 55fi 56