diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt --- a/lld/CMakeLists.txt +++ b/lld/CMakeLists.txt @@ -142,6 +142,13 @@ set(LLD_INCLUDE_DIR ${LLD_SOURCE_DIR}/include ) set(LLD_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) +set(LLD_VENDOR ${PACKAGE_VENDOR} CACHE STRING + "Vendor-specific text for showing with version information.") + +if(LLD_VENDOR) + add_definitions(-DLLD_VENDOR="${LLD_VENDOR}") +endif() + # Compute the LLD version from the LLVM version. string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" LLD_VERSION ${PACKAGE_VERSION}) diff --git a/lld/Common/Version.cpp b/lld/Common/Version.cpp --- a/lld/Common/Version.cpp +++ b/lld/Common/Version.cpp @@ -19,9 +19,16 @@ // Returns a version string, e.g.: // lld 9.0.0 (https://github.com/llvm/llvm-project.git 9efdd7ac5e914d3c9fa1ef) std::string lld::getLLDVersion() { +#ifdef LLD_VENDOR +#define LLD_VENDOR_DISPLAY LLD_VENDOR " " +#else +#define LLD_VENDOR_DISPLAY +#endif #if defined(LLD_REPOSITORY) && defined(LLD_REVISION) - return "LLD " LLD_VERSION_STRING " (" LLD_REPOSITORY " " LLD_REVISION ")"; + return LLD_VENDOR_DISPLAY "LLD " LLD_VERSION_STRING " (" LLD_REPOSITORY + " " LLD_REVISION ")"; #else - return "LLD " LLD_VERSION_STRING; + return LLD_VENDOR_DISPLAY "LLD " LLD_VERSION_STRING; #endif +#undef LLD_VENDOR_DISPLAY }