1
0
mirror of https://github.com/RPCSX/llvm.git synced 2025-03-03 10:27:09 +00:00

[llvm-config] Fix bug where --libfiles and --names would produce

incorrect output when LLVM is built with `LLVM_BUILD_LLVM_DYLIB`.

`llvm-config` previously produced output like this

```
$ llvm-config --libfiles
/usr/lib/liblibLLVM-4.0svn.so.so
$ llvm-config --libnames
liblibLLVM-4.0svn.so.so
```

The library prefix and shared library extension were added to
the library name twice which was wrong.

I wanted to write a test cases for this but it looks like **all**
`llvm-config` tests were disabled by r260386 so I'll leave this for
now.

Subscribers: llvm-commits, tstellarAMD

Reviewers: beanz, DiamondLovesYou, axw

Differential Revision: https://reviews.llvm.org/D27393

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289488 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Liew 2016-12-12 23:07:22 +00:00
parent c24eb2145a
commit 5340b5b3d9

@ -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();