diff options
author | Alp Toker <alp@nuanti.com> | 2014-06-06 06:58:25 +0000 |
---|---|---|
committer | Alp Toker <alp@nuanti.com> | 2014-06-06 06:58:25 +0000 |
commit | 420d7ccbac0f499a6ff9595bdbfa99cd3376df22 (patch) | |
tree | f77dbd93138c02409ada2f543d37932b17fb6a57 /clang | |
parent | 3217b6c66195ba593c9caa428c1c911f85998f00 (diff) | |
download | llvm-420d7ccbac0f499a6ff9595bdbfa99cd3376df22.zip llvm-420d7ccbac0f499a6ff9595bdbfa99cd3376df22.tar.gz llvm-420d7ccbac0f499a6ff9595bdbfa99cd3376df22.tar.bz2 |
Devise a package-private means to determine the LLVM version string
This will unbreak clang vendor builds as a follow-up to r210238, now that we
can't poke into LLVM's private config.h (nor should the string be exposed by
llvm-config.h).
This hopefully removes for good the last include of LLVM's config.h.
llvm-svn: 210313
Diffstat (limited to 'clang')
-rw-r--r-- | clang/CMakeLists.txt | 3 | ||||
-rw-r--r-- | clang/include/clang/Config/config.h.cmake | 3 | ||||
-rw-r--r-- | clang/include/clang/Config/config.h.in | 5 | ||||
-rw-r--r-- | clang/lib/Basic/Version.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Frontend/CompilerInstance.cpp | 5 |
5 files changed, 15 insertions, 5 deletions
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index ece6bf8..28f4e3f 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -156,6 +156,9 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) endif() set( CLANG_BUILT_STANDALONE 1 ) + set(BACKEND_PACKAGE_STRING "LLVM ${LLVM_PACKAGE_VERSION}") +else() + set(BACKEND_PACKAGE_STRING "${PACKAGE_STRING}") endif() find_package(LibXml2) diff --git a/clang/include/clang/Config/config.h.cmake b/clang/include/clang/Config/config.h.cmake index 8fa7a52..40a6cb3 100644 --- a/clang/include/clang/Config/config.h.cmake +++ b/clang/include/clang/Config/config.h.cmake @@ -19,4 +19,7 @@ /* Define if we have libxml2 */ #cmakedefine CLANG_HAVE_LIBXML ${CLANG_HAVE_LIBXML} +/* The LLVM product name and version */ +#define BACKEND_PACKAGE_STRING "${BACKEND_PACKAGE_STRING}" + #endif diff --git a/clang/include/clang/Config/config.h.in b/clang/include/clang/Config/config.h.in index d66b4cf..450ea9b 100644 --- a/clang/include/clang/Config/config.h.in +++ b/clang/include/clang/Config/config.h.in @@ -22,4 +22,9 @@ /* Define if we have libxml2 */ #undef CLANG_HAVE_LIBXML +#undef PACKAGE_STRING + +/* The LLVM product name and version */ +#define BACKEND_PACKAGE_STRING PACKAGE_STRING + #endif diff --git a/clang/lib/Basic/Version.cpp b/clang/lib/Basic/Version.cpp index ae32c01..c2b7753 100644 --- a/clang/lib/Basic/Version.cpp +++ b/clang/lib/Basic/Version.cpp @@ -13,7 +13,7 @@ #include "clang/Basic/Version.h" #include "clang/Basic/LLVM.h" -#include "llvm/Config/config.h" +#include "clang/Config/config.h" #include "llvm/Support/raw_ostream.h" #include <cstdlib> #include <cstring> @@ -130,7 +130,7 @@ std::string getClangToolFullVersion(StringRef ToolName) { // If vendor supplied, include the base LLVM version as well. #ifdef CLANG_VENDOR - OS << " (based on LLVM " << PACKAGE_VERSION << ")"; + OS << " (based on " << BACKEND_PACKAGE_STRING << ")"; #endif return OS.str(); diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp index a967c0a..f5e2749 100644 --- a/clang/lib/Frontend/CompilerInstance.cpp +++ b/clang/lib/Frontend/CompilerInstance.cpp @@ -16,6 +16,7 @@ #include "clang/Basic/SourceManager.h" #include "clang/Basic/TargetInfo.h" #include "clang/Basic/Version.h" +#include "clang/Config/config.h" #include "clang/Frontend/ChainedDiagnosticConsumer.h" #include "clang/Frontend/FrontendAction.h" #include "clang/Frontend/FrontendActions.h" @@ -709,9 +710,7 @@ bool CompilerInstance::ExecuteAction(FrontendAction &Act) { // Validate/process some options. if (getHeaderSearchOpts().Verbose) OS << "clang -cc1 version " CLANG_VERSION_STRING -#ifdef PACKAGE_STRING - << " based upon " << PACKAGE_STRING -#endif + << " based upon " << BACKEND_PACKAGE_STRING << " default target " << llvm::sys::getDefaultTargetTriple() << "\n"; if (getFrontendOpts().ShowTimers) |