llvm-config: Print SYSTEM_LIBS with --libs, instead of --ldflags.
authorNAKAMURA Takumi <geek4civic@gmail.com>
Mon, 16 Dec 2013 11:22:22 +0000 (11:22 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Mon, 16 Dec 2013 11:22:22 +0000 (11:22 +0000)
LLVM libs are printed in the first line, and system libs are printed in the next line.

  $ bin/llvm-config --libs object
  -lLLVMObject -lLLVMSupport
  -lrt -ldl -ltinfo -lpthread -lz

It is workaround for PR3347 and PR8449.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197380 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-config/llvm-config.cpp

index f7b643e6f21c7f5e59767df0e277066141ab056f..63f099f1dacb078d2e2bbff6bbda94a97f84beeb 100644 (file)
@@ -278,8 +278,7 @@ int main(int argc, char **argv) {
       } else if (Arg == "--cxxflags") {
         OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n';
       } else if (Arg == "--ldflags") {
-        OS << "-L" << ActiveLibDir << ' ' << LLVM_LDFLAGS
-           << ' ' << LLVM_SYSTEM_LIBS << '\n';
+        OS << "-L" << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n';
       } else if (Arg == "--libs") {
         PrintLibs = true;
       } else if (Arg == "--libnames") {
@@ -358,6 +357,13 @@ int main(int argc, char **argv) {
         OS << ActiveLibDir << '/' << Lib;
       }
     }
+
+    // Print system libs in the next line.
+    // Assume LLVMSupport depends on system_libs.
+    // FIXME: LLVMBuild may take care of dependencies to system_libs.
+    if (PrintLibs)
+      OS << '\n' << LLVM_SYSTEM_LIBS;
+
     OS << '\n';
   } else if (!Components.empty()) {
     errs() << "llvm-config: error: components given, but unused\n\n";