//===- lld/Config/Version.h - 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. // //===----------------------------------------------------------------------===// /// /// \file /// \brief Defines version macros and version-related utility functions /// for lld. /// //===----------------------------------------------------------------------===// #ifndef LLD_VERSION_H #define LLD_VERSION_H #include "lld/Config/Version.inc" #include "llvm/ADT/StringRef.h" #include /// \brief Helper macro for LLD_VERSION_STRING. #define LLD_MAKE_VERSION_STRING2(X) #X /// \brief Helper macro for LLD_VERSION_STRING. #define LLD_MAKE_VERSION_STRING(X, Y) LLD_MAKE_VERSION_STRING2(X.Y) /// \brief A string that describes the lld version number, e.g., "1.0". #define LLD_VERSION_STRING \ LLD_MAKE_VERSION_STRING(LLD_VERSION_MAJOR, LLD_VERSION_MINOR) namespace lld { /// \brief Retrieves the repository path (e.g., Subversion path) that /// identifies the particular lld branch, tag, or trunk from which this /// lld was built. llvm::StringRef getLLDRepositoryPath(); /// \brief Retrieves the repository revision number (or identifer) from which /// this lld was built. llvm::StringRef getLLDRevision(); /// \brief Retrieves the full repository version that is an amalgamation of /// the information in getLLDRepositoryPath() and getLLDRevision(). std::string getLLDRepositoryVersion(); /// \brief Retrieves a string representing the complete lld version. llvm::StringRef getLLDVersion(); } #endif // LLD_VERSION_H