Summary: 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. Test Plan: none Differential Revision: https://reviews.facebook.net/D4785main
parent
6ba1f17789
commit
f4e7febf22
@ -0,0 +1,25 @@ |
|||||||
|
#!/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=util/build_version.cc |
||||||
|
|
||||||
|
# check to see if git is in the path |
||||||
|
which git > /dev/null |
||||||
|
|
||||||
|
if [ "$?" = 0 ]; then |
||||||
|
git rev-parse HEAD | awk ' BEGIN {print "#include \"build_version.h\""} {print "const char * leveldb_build_git_sha = \"leveldb_build_git_sha:" $0"\";"} END {}' > ${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\";"} END {}' > ${VFILE} |
||||||
|
fi |
||||||
|
|
||||||
|
date | awk 'BEGIN {} {print "const char * leveldb_build_git_datetime = \"leveldb_build_git_datetime:"$0"\";"} END {} ' >> ${VFILE} |
||||||
|
echo "const char * leveldb_build_compile_date = __DATE__;" >> ${VFILE} |
||||||
|
echo "const char * leveldb_build_compile_time = __TIME__;" >> ${VFILE} |
||||||
|
|
@ -0,0 +1,14 @@ |
|||||||
|
/*version.h*/ |
||||||
|
#ifndef VERSION_H_ |
||||||
|
#define VERSION_H_ |
||||||
|
|
||||||
|
// these variables tell us about the git config and time
|
||||||
|
extern const char* leveldb_build_git_sha; |
||||||
|
extern const char* leveldb_build_git_datetime; |
||||||
|
|
||||||
|
// these variables tell us when the compilation occured
|
||||||
|
extern const char* leveldb_build_compile_time; |
||||||
|
extern const char* leveldb_build_compile_date; |
||||||
|
|
||||||
|
|
||||||
|
#endif /* VERSION_H_ */ |
Loading…
Reference in new issue