summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-config/llvm-config.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-config/llvm-config.cpp')
-rw-r--r--llvm/tools/llvm-config/llvm-config.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp
index c63733f9a8b..4b4a3ea97ab 100644
--- a/llvm/tools/llvm-config/llvm-config.cpp
+++ b/llvm/tools/llvm-config/llvm-config.cpp
@@ -432,7 +432,15 @@ int main(int argc, char **argv) {
const bool Shared) {
std::string LibFileName;
if (Shared) {
- LibFileName = (SharedPrefix + Lib + "." + SharedExt).str();
+ if (Lib == DyLibName) {
+ // Treat the DyLibName specially. It is not a component library and
+ // already has the necessary prefix and suffix (e.g. `.so`) added so
+ // just return it unmodified.
+ assert(Lib.endswith(SharedExt) && "DyLib is missing suffix");
+ LibFileName = Lib;
+ } else {
+ LibFileName = (SharedPrefix + Lib + "." + SharedExt).str();
+ }
} else {
// default to static
LibFileName = (StaticPrefix + Lib + "." + StaticExt).str();
OpenPOWER on IntegriCloud