aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/lldb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/lldb.cpp')
-rw-r--r--lldb/source/lldb.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/lldb/source/lldb.cpp b/lldb/source/lldb.cpp
index 10fc2d7cf556..371902f6c1b5 100644
--- a/lldb/source/lldb.cpp
+++ b/lldb/source/lldb.cpp
@@ -6,14 +6,25 @@
//
//===----------------------------------------------------------------------===//
+#include "VCSVersion.inc"
#include "lldb/lldb-private.h"
+#include "clang/Basic/Version.h"
using namespace lldb;
using namespace lldb_private;
-#include "clang/Basic/Version.h"
+// LLDB_VERSION_STRING is set through a define so unlike the other defines
+// expanded with CMake, it lacks the double quotes.
+#define QUOTE(str) #str
+#define EXPAND_AND_QUOTE(str) QUOTE(str)
-#include "VCSVersion.inc"
+static const char *GetLLDBVersion() {
+#ifdef LLDB_VERSION_STRING
+ return EXPAND_AND_QUOTE(LLDB_VERSION_STRING);
+#else
+ return "lldb version " CLANG_VERSION_STRING;
+#endif
+}
static const char *GetLLDBRevision() {
#ifdef LLDB_REVISION
@@ -34,11 +45,10 @@ static const char *GetLLDBRepository() {
const char *lldb_private::GetVersion() {
static std::string g_version_str;
if (g_version_str.empty()) {
- g_version_str += "lldb version ";
- g_version_str += CLANG_VERSION_STRING;
-
+ const char *lldb_version = GetLLDBVersion();
const char *lldb_repo = GetLLDBRepository();
const char *lldb_rev = GetLLDBRevision();
+ g_version_str += lldb_version;
if (lldb_repo || lldb_rev) {
g_version_str += " (";
if (lldb_repo)