#!/bin/sh # # Record the version of the source that we are compiling. # We keep a record of the git revision in util/version.cc. This source file # is then built as a regular source file as part of the compilation process. # One can run "strings executable_filename | grep _build_" to find the version of # the source that we used to build the executable file. # # create git version file VFILE=$ROCKSDB_ROOT/util/build_version.cc.tmp trap "rm $VFILE" EXIT # check to see if git is in the path which git > /dev/null if [ "$?" = 0 ]; then env -i git rev-parse HEAD | awk ' BEGIN { print "#include \"build_version.h\"\n" } { print "const char* leveldb_build_git_sha = \"leveldb_build_git_sha:" $0"\";" } ' > ${VFILE} else echo "git not found" | awk ' BEGIN { print "#include \"build_version.h\"" } { print "const char* leveldb_build_git_sha = \"leveldb_build_git_sha:git not found\";" } ' > ${VFILE} fi echo "const char* leveldb_build_git_datetime = \"leveldb_build_git_datetime:$(date)\";" >> ${VFILE} echo "const char* leveldb_build_compile_date = __DATE__;" >> ${VFILE} echo "const char* leveldb_build_compile_time = __TIME__;" >> ${VFILE} OUTFILE=$ROCKSDB_ROOT/util/build_version.cc if [ ! -e $OUTFILE ] || ! cmp -s $VFILE $OUTFILE; then cp $VFILE $OUTFILE fi