mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-09 11:27:28 -03:00
Merge #18616: refactor: Cleanup clientversion.cpp
c269e618cf
Drop unused GIT_COMMIT_DATE macro (Hennadii Stepanov)8f9f4ba5e2
refactor: Remove duplicated code (Hennadii Stepanov)35f1189ea7
build: Rename BUILD_* macros and the code self-descriptive (Hennadii Stepanov)dc1fba9389
scripted-diff: Rename share/genbuild.sh macros to more meaningful ones (Hennadii Stepanov)1e06bb68be
Drop unused CLIENT_VERSION_SUFFIX macro (Hennadii Stepanov) Pull request description: This PR: - removes unused macros and duplicated code - renames macros in a way, that makes the code self-descriptive. ACKs for top commit: dongcarl: Yup! ACKc269e618cf
Tree-SHA512: c469f6269b578ccfae33d960e317eca8efaf27d49638f4c3830948c11b12ef728494d7e18c31e4a410945b7d83af5b246c7b83661b4eca17cf41ee4c4583649b
This commit is contained in:
commit
fc895d7700
2 changed files with 28 additions and 53 deletions
|
@ -18,8 +18,8 @@ else
|
|||
exit 1
|
||||
fi
|
||||
|
||||
DESC=""
|
||||
SUFFIX=""
|
||||
GIT_TAG=""
|
||||
GIT_COMMIT=""
|
||||
if [ "${BITCOIN_GENBUILD_NO_GIT}" != "1" ] && [ -e "$(command -v git)" ] && [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
|
||||
# clean 'dirty' status of touched files that haven't been modified
|
||||
git diff >/dev/null 2>/dev/null
|
||||
|
@ -27,18 +27,18 @@ if [ "${BITCOIN_GENBUILD_NO_GIT}" != "1" ] && [ -e "$(command -v git)" ] && [ "$
|
|||
# if latest commit is tagged and not dirty, then override using the tag name
|
||||
RAWDESC=$(git describe --abbrev=0 2>/dev/null)
|
||||
if [ "$(git rev-parse HEAD)" = "$(git rev-list -1 $RAWDESC 2>/dev/null)" ]; then
|
||||
git diff-index --quiet HEAD -- && DESC=$RAWDESC
|
||||
git diff-index --quiet HEAD -- && GIT_TAG=$RAWDESC
|
||||
fi
|
||||
|
||||
# otherwise generate suffix from git, i.e. string like "59887e8-dirty"
|
||||
SUFFIX=$(git rev-parse --short HEAD)
|
||||
git diff-index --quiet HEAD -- || SUFFIX="$SUFFIX-dirty"
|
||||
GIT_COMMIT=$(git rev-parse --short HEAD)
|
||||
git diff-index --quiet HEAD -- || GIT_COMMIT="$GIT_COMMIT-dirty"
|
||||
fi
|
||||
|
||||
if [ -n "$DESC" ]; then
|
||||
NEWINFO="#define BUILD_DESC \"$DESC\""
|
||||
elif [ -n "$SUFFIX" ]; then
|
||||
NEWINFO="#define BUILD_SUFFIX $SUFFIX"
|
||||
if [ -n "$GIT_TAG" ]; then
|
||||
NEWINFO="#define BUILD_GIT_TAG \"$GIT_TAG\""
|
||||
elif [ -n "$GIT_COMMIT" ]; then
|
||||
NEWINFO="#define BUILD_GIT_COMMIT \"$GIT_COMMIT\""
|
||||
else
|
||||
NEWINFO="// No build information available"
|
||||
fi
|
||||
|
|
|
@ -14,59 +14,34 @@
|
|||
*/
|
||||
const std::string CLIENT_NAME("Satoshi");
|
||||
|
||||
/**
|
||||
* Client version number
|
||||
*/
|
||||
#define CLIENT_VERSION_SUFFIX ""
|
||||
|
||||
|
||||
/**
|
||||
* The following part of the code determines the CLIENT_BUILD variable.
|
||||
* Several mechanisms are used for this:
|
||||
* * first, if HAVE_BUILD_INFO is defined, include build.h, a file that is
|
||||
* generated by the build environment, possibly containing the output
|
||||
* of git-describe in a macro called BUILD_DESC
|
||||
* * secondly, if this is an exported version of the code, GIT_ARCHIVE will
|
||||
* be defined (automatically using the export-subst git attribute), and
|
||||
* GIT_COMMIT will contain the commit id.
|
||||
* * then, three options exist for determining CLIENT_BUILD:
|
||||
* * if BUILD_DESC is defined, use that literally (output of git-describe)
|
||||
* * if not, but GIT_COMMIT is defined, use v[maj].[min].[rev].[build]-g[commit]
|
||||
* * otherwise, use v[maj].[min].[rev].[build]-unk
|
||||
* finally CLIENT_VERSION_SUFFIX is added
|
||||
*/
|
||||
|
||||
//! First, include build.h if requested
|
||||
#ifdef HAVE_BUILD_INFO
|
||||
#include <obj/build.h>
|
||||
// The <obj/build.h>, which is generated by the build environment (share/genbuild.sh),
|
||||
// could contain only one line of the following:
|
||||
// - "#define BUILD_GIT_TAG ...", if the top commit is tagged
|
||||
// - "#define BUILD_GIT_COMMIT ...", if the top commit is not tagged
|
||||
// - "// No build information available", if proper git information is not available
|
||||
#endif
|
||||
|
||||
//! git will put "#define GIT_ARCHIVE 1" on the next line inside archives. $Format:%n#define GIT_ARCHIVE 1$
|
||||
#ifdef GIT_ARCHIVE
|
||||
#define GIT_COMMIT_ID "$Format:%H$"
|
||||
#define GIT_COMMIT_DATE "$Format:%cD$"
|
||||
#endif
|
||||
//! git will put "#define GIT_COMMIT_ID ..." on the next line inside archives. $Format:%n#define GIT_COMMIT_ID "%H"$
|
||||
|
||||
#define BUILD_DESC_WITH_SUFFIX(maj, min, rev, build, suffix) \
|
||||
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-" DO_STRINGIZE(suffix)
|
||||
|
||||
#define BUILD_DESC_FROM_COMMIT(maj, min, rev, build, commit) \
|
||||
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-g" commit
|
||||
|
||||
#define BUILD_DESC_FROM_UNKNOWN(maj, min, rev, build) \
|
||||
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-unk"
|
||||
|
||||
#ifndef BUILD_DESC
|
||||
#ifdef BUILD_SUFFIX
|
||||
#define BUILD_DESC BUILD_DESC_WITH_SUFFIX(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, BUILD_SUFFIX)
|
||||
#elif defined(GIT_COMMIT_ID)
|
||||
#define BUILD_DESC BUILD_DESC_FROM_COMMIT(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, GIT_COMMIT_ID)
|
||||
#ifdef BUILD_GIT_TAG
|
||||
#define BUILD_DESC BUILD_GIT_TAG
|
||||
#define BUILD_SUFFIX ""
|
||||
#else
|
||||
#define BUILD_DESC BUILD_DESC_FROM_UNKNOWN(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD)
|
||||
#endif
|
||||
#define BUILD_DESC "v" STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) \
|
||||
"." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD)
|
||||
#ifdef BUILD_GIT_COMMIT
|
||||
#define BUILD_SUFFIX "-" BUILD_GIT_COMMIT
|
||||
#elif defined(GIT_COMMIT_ID)
|
||||
#define BUILD_SUFFIX "-g" GIT_COMMIT_ID
|
||||
#else
|
||||
#define BUILD_SUFFIX "-unk"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
const std::string CLIENT_BUILD(BUILD_DESC CLIENT_VERSION_SUFFIX);
|
||||
const std::string CLIENT_BUILD(BUILD_DESC BUILD_SUFFIX);
|
||||
|
||||
static std::string FormatVersion(int nVersion)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue