Files
llvm/lldb/source/lldb.cpp
Chris Bieneman 1778f69f44 Fixing the Xcode build that I broke in r286479
Since Xcode can't seem to handle quotes in preprocessor definitions, I've changed the build to assume that the define is unquoted. This should fix the failing Darwin bots.

llvm-svn: 286504
2016-11-10 21:30:16 +00:00

83 lines
2.0 KiB
C++

//===-- lldb.cpp ------------------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "lldb/lldb-private.h"
using namespace lldb;
using namespace lldb_private;
#include "clang/Basic/Version.h"
#ifdef HAVE_SVN_VERSION_INC
# include "SVNVersion.inc"
#endif
#ifdef HAVE_APPLE_VERSION_INC
# include "AppleVersion.inc"
#endif
static const char *GetLLDBRevision() {
#ifdef LLDB_REVISION
return LLDB_REVISION;
#else
return NULL;
#endif
}
static const char *GetLLDBRepository() {
#ifdef LLDB_REPOSITORY
return LLDB_REPOSITORY;
#else
return NULL;
#endif
}
#define QUOTE(str) #str
#define EXPAND_AND_QUOTE(str) QUOTE(str)
const char *lldb_private::GetVersion() {
// On platforms other than Darwin, report a version number in the same style
// as the clang tool.
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_repo = GetLLDBRepository();
if (lldb_repo) {
g_version_str += " (";
g_version_str += lldb_repo;
}
const char *lldb_rev = GetLLDBRevision();
if (lldb_rev) {
g_version_str += " revision ";
g_version_str += lldb_rev;
g_version_str += ")";
}
#ifdef LLDB_VERSION_STRING
g_version_str += " (";
g_version_str += EXPAND_AND_QUOTE(LLDB_VERSION_STRING);
g_version_str += ")";
#endif
std::string clang_rev(clang::getClangRevision());
if (clang_rev.length() > 0) {
g_version_str += "\n clang revision ";
g_version_str += clang_rev;
}
std::string llvm_rev(clang::getLLVMRevision());
if (llvm_rev.length() > 0) {
g_version_str += "\n llvm revision ";
g_version_str += llvm_rev;
}
}
return g_version_str.c_str();
}