forked from OSchip/llvm-project
[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 llvm-svn: 289488
This commit is contained in:
parent
88458c31e7
commit
197d2f0df3
|
@ -432,7 +432,15 @@ int main(int argc, char **argv) {
|
||||||
const bool Shared) {
|
const bool Shared) {
|
||||||
std::string LibFileName;
|
std::string LibFileName;
|
||||||
if (Shared) {
|
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 {
|
} else {
|
||||||
// default to static
|
// default to static
|
||||||
LibFileName = (StaticPrefix + Lib + "." + StaticExt).str();
|
LibFileName = (StaticPrefix + Lib + "." + StaticExt).str();
|
||||||
|
|
Loading…
Reference in New Issue