forked from OSchip/llvm-project
67 lines
1.4 KiB
C++
67 lines
1.4 KiB
C++
//===- 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"
|
|
#include <cstdlib>
|
|
#include <cstring>
|
|
|
|
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 buf;
|
|
llvm::raw_string_ostream OS(buf);
|
|
std::string Path = getLLDRepositoryPath();
|
|
std::string Revision = getLLDRevision();
|
|
if (!Path.empty() || !Revision.empty()) {
|
|
OS << '(';
|
|
if (!Path.empty())
|
|
OS << Path;
|
|
if (!Revision.empty()) {
|
|
if (!Path.empty())
|
|
OS << ' ';
|
|
OS << Revision;
|
|
}
|
|
OS << ')';
|
|
}
|
|
return OS.str();
|
|
}
|
|
|
|
StringRef getLLDVersion() {
|
|
#ifdef LLD_VERSION_STRING
|
|
return LLD_VERSION_STRING;
|
|
#else
|
|
return "";
|
|
#endif
|
|
}
|
|
|
|
} // end namespace lld
|