aboutsummaryrefslogblamecommitdiffstats
path: root/erts/emulator/utils/gen_git_version
blob: ef06a4b8e2ad19f0a04a1bfdbdcec4d27f5f8c12 (plain) (tree)

























                                                                         
 











                                                                              
#!/bin/sh

OUTPUT_FILE=$1

if command -v git 2>&1 >/dev/null &&
    test -d $ERL_TOP/.git -o -f $ERL_TOP/.git
then
    VSN=`git describe --match "OTP_R[0-9][0-9][A-B]*" HEAD`
    case "$VSN" in
	OTP_R*-g*) 
	    VSN=`echo $VSN | sed -e 's/.*-g\\(.*\\)/\\1/g'` ;;
	*)  VSN="na" ;;
    esac
else
    VSN="na"
fi


# Only update the file if there has been a change to
# the version number.
if test -r $OUTPUT_FILE
then
	VC=`sed -n -e 's/^.*"\\\\"\\(.*\\)\\\\"".*/\\1/p' < $OUTPUT_FILE`
else
	VC=unset
fi

if test "$VSN" != "$VC"
then
    echo "# Automatically generated by $0 - DO NOT EDIT." > $OUTPUT_FILE
    if test "$VSN" = "na"
    then
	echo "# GIT_VSN=-DERLANG_GIT_VERSION=\"\\\"$VSN\\\"\"" >> $OUTPUT_FILE
    else
	echo "GIT_VSN=-DERLANG_GIT_VERSION=\"\\\"$VSN\\\"\"" >> $OUTPUT_FILE
    fi
    exit 0
fi
exit 1