|
|
|
@ -5,38 +5,18 @@ |
|
|
|
|
# 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=$PWD/util/build_version.cc.tmp |
|
|
|
|
trap "rm $VFILE" EXIT |
|
|
|
|
|
|
|
|
|
# check to see if git is in the path |
|
|
|
|
which git > /dev/null |
|
|
|
|
OUTFILE="$PWD/util/build_version.cc" |
|
|
|
|
|
|
|
|
|
if [ "$?" = 0 ]; then |
|
|
|
|
env -i git rev-parse HEAD 2>&1 | |
|
|
|
|
awk ' |
|
|
|
|
BEGIN { |
|
|
|
|
print "#include \"build_version.h\"\n" |
|
|
|
|
} |
|
|
|
|
{ print "const char* rocksdb_build_git_sha = \"rocksdb_build_git_sha:" $0"\";" } |
|
|
|
|
' > ${VFILE} |
|
|
|
|
else |
|
|
|
|
echo "git not found" | |
|
|
|
|
awk ' |
|
|
|
|
BEGIN { |
|
|
|
|
print "#include \"build_version.h\"" |
|
|
|
|
} |
|
|
|
|
{ print "const char* rocksdb_build_git_sha = \"rocksdb_build_git_sha:git not found\";" } |
|
|
|
|
' > ${VFILE} |
|
|
|
|
GIT_SHA="" |
|
|
|
|
if command -v git >/dev/null 2>&1; then |
|
|
|
|
GIT_SHA=$(git rev-parse HEAD 2>/dev/null) |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
echo "const char* rocksdb_build_git_datetime = \"rocksdb_build_git_datetime:$(date)\";" >> ${VFILE} |
|
|
|
|
echo "const char* rocksdb_build_compile_date = __DATE__;" >> ${VFILE} |
|
|
|
|
echo "const char* rocksdb_build_compile_time = __TIME__;" >> ${VFILE} |
|
|
|
|
|
|
|
|
|
OUTFILE=$PWD/util/build_version.cc |
|
|
|
|
if [ ! -e $OUTFILE ] || ! cmp -s $VFILE $OUTFILE; then |
|
|
|
|
cp $VFILE $OUTFILE |
|
|
|
|
fi |
|
|
|
|
cat > "${OUTFILE}" <<EOF |
|
|
|
|
#include "build_version.h" |
|
|
|
|
const char* rocksdb_build_git_sha = "rocksdb_build_git_sha:${GIT_SHA}"; |
|
|
|
|
const char* rocksdb_build_git_datetime = "rocksdb_build_git_datetime:$(date)"; |
|
|
|
|
const char* rocksdb_build_compile_date = __DATE__; |
|
|
|
|
const char* rocksdb_build_compile_time = __TIME__; |
|
|
|
|
EOF |
|
|
|
|