| //===- lib/Config/Version.cpp - LLD Version Number ---------------*- C++-=====// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file defines several version-related utility functions for LLD. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "lld/Config/Version.h" |
| #include "llvm/Support/raw_ostream.h" |
| |
| using namespace llvm; |
| |
| namespace lld { |
| |
| StringRef getLLDRepositoryPath() { |
| #ifdef LLD_REPOSITORY_STRING |
| return LLD_REPOSITORY_STRING; |
| #else |
| return ""; |
| #endif |
| } |
| |
| StringRef getLLDRevision() { |
| #ifdef LLD_REVISION_STRING |
| return LLD_REVISION_STRING; |
| #else |
| return ""; |
| #endif |
| } |
| |
| std::string getLLDRepositoryVersion() { |
| std::string S = getLLDRepositoryPath(); |
| std::string T = getLLDRevision(); |
| if (S.empty() && T.empty()) |
| return ""; |
| if (!S.empty() && !T.empty()) |
| return "(" + S + " " + T + ")"; |
| if (!S.empty()) |
| return "(" + S + ")"; |
| return "(" + T + ")"; |
| } |
| |
| StringRef getLLDVersion() { |
| #ifdef LLD_VERSION_STRING |
| return LLD_VERSION_STRING; |
| #else |
| return ""; |
| #endif |
| } |
| |
| } // end namespace lld |