bc8eed12d9
Summary: Previously, RocksDB's build scripts used relative pathnames like ./build_detect_platform. This can cause problems if the user uses CDPATH. Also, it just doesn't seem right to me. Test Plan: make clean make -j32 check Reviewers: MarkCallaghan, dhruba, kailiu Reviewed By: kailiu CC: leveldb Differential Revision: https://reviews.facebook.net/D12459
43 lines
1.3 KiB
Bash
Executable File
43 lines
1.3 KiB
Bash
Executable File
#!/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
|