]> granicus.if.org Git - clang/commitdiff
Correctly handle sysroot prefix in -print-search-dirs. Makes libtool
authorJoerg Sonnenberger <joerg@bec.de>
Sat, 16 Jul 2011 10:50:05 +0000 (10:50 +0000)
committerJoerg Sonnenberger <joerg@bec.de>
Sat, 16 Jul 2011 10:50:05 +0000 (10:50 +0000)
more happy on NetBSD.

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

lib/Driver/Driver.cpp

index 616207bf7616eecc16ff4032ff924f08a53b437a..789f6f7ae9cefb3fb2895f56c9ed52b057613714 100644 (file)
@@ -458,11 +458,20 @@ bool Driver::HandleImmediateArgs(const Compilation &C) {
     }
     llvm::outs() << "\n";
     llvm::outs() << "libraries: =";
+
+    std::string sysroot;
+    if (Arg *A = C.getArgs().getLastArg(options::OPT__sysroot_EQ))
+      sysroot = A->getValue(C.getArgs());
+
     for (ToolChain::path_list::const_iterator it = TC.getFilePaths().begin(),
            ie = TC.getFilePaths().end(); it != ie; ++it) {
       if (it != TC.getFilePaths().begin())
         llvm::outs() << ':';
-      llvm::outs() << *it;
+      const char *path = it->c_str();
+      if (path[0] == '=')
+        llvm::outs() << sysroot << path + 1;
+      else
+        llvm::outs() << path;
     }
     llvm::outs() << "\n";
     return false;