[llvm] r242533 - Add support for producing thin archives in llvm-lib.

Rafael Espindola rafael.espindola at gmail.com
Fri Jul 17 09:01:12 PDT 2015


Author: rafael
Date: Fri Jul 17 11:01:11 2015
New Revision: 242533

URL: http://llvm.org/viewvc/llvm-project?rev=242533&view=rev
Log:
Add support for producing thin archives in llvm-lib.

I will send an entry in docs/CommandGuide for review today.

Added:
    llvm/trunk/test/LibDriver/thin.test
Modified:
    llvm/trunk/lib/LibDriver/LibDriver.cpp
    llvm/trunk/lib/LibDriver/Options.td

Modified: llvm/trunk/lib/LibDriver/LibDriver.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/LibDriver/LibDriver.cpp?rev=242533&r1=242532&r2=242533&view=diff
==============================================================================
--- llvm/trunk/lib/LibDriver/LibDriver.cpp (original)
+++ llvm/trunk/lib/LibDriver/LibDriver.cpp Fri Jul 17 11:01:11 2015
@@ -141,7 +141,7 @@ int llvm::libDriverMain(llvm::ArrayRef<c
   std::pair<StringRef, std::error_code> Result =
       llvm::writeArchive(getOutputPath(&Args, Members[0]), Members,
                          /*WriteSymtab=*/true, object::Archive::K_GNU,
-                         /*Deterministic*/ true, /*Thin*/ false);
+                         /*Deterministic*/ true, Args.hasArg(OPT_llvmlibthin));
 
   if (Result.second) {
     if (Result.first.empty())

Modified: llvm/trunk/lib/LibDriver/Options.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/LibDriver/Options.td?rev=242533&r1=242532&r2=242533&view=diff
==============================================================================
--- llvm/trunk/lib/LibDriver/Options.td (original)
+++ llvm/trunk/lib/LibDriver/Options.td Fri Jul 17 11:01:11 2015
@@ -12,6 +12,8 @@ class P<string name, string help> :
 def libpath: P<"libpath", "Object file search path">;
 def out    : P<"out", "Path to file to write output">;
 
+def llvmlibthin : F<"llvmlibthin">;
+
 //==============================================================================
 // The flags below do nothing. They are defined only for lib.exe compatibility.
 //==============================================================================

Added: llvm/trunk/test/LibDriver/thin.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/LibDriver/thin.test?rev=242533&view=auto
==============================================================================
--- llvm/trunk/test/LibDriver/thin.test (added)
+++ llvm/trunk/test/LibDriver/thin.test Fri Jul 17 11:01:11 2015
@@ -0,0 +1,9 @@
+RUN: echo foo > %t
+
+RUN: llvm-lib  -out:%t.a %t
+RUN: FileCheck --check-prefix=FAT %s < %t.a
+FAT: !<arch>
+
+RUN: llvm-lib  -out:%t.thin.a -llvmlibthin %t
+RUN: FileCheck --check-prefix=THIN %s < %t.thin.a
+THIN: !<thin>





More information about the llvm-commits mailing list