forked from OSchip/llvm-project
[ms] Add new option to llvm-lib: /llvmlibempty
Summary: Add a new option (/llvmlibempty). If passed and llvm-lib does not give an error, it will create a valid output archive even if empty. By default, llvm-lib mimicks lib.exe: if given no input files, it doesn't create its output file at all. This is incompatible with some build systems, so we add a command-line option to toggle this compatibility behavior. Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D78894
This commit is contained in:
parent
9ecddde321
commit
e9827f0b82
|
@ -292,8 +292,9 @@ int llvm::libDriverMain(ArrayRef<const char *> ArgsArr) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
// If no input files, silently do nothing to match lib.exe.
|
||||
if (!Args.hasArgNoClaim(OPT_INPUT))
|
||||
// If no input files and not told otherwise, silently do nothing to match
|
||||
// lib.exe
|
||||
if (!Args.hasArgNoClaim(OPT_INPUT) && !Args.hasArg(OPT_llvmlibempty))
|
||||
return 0;
|
||||
|
||||
if (Args.hasArg(OPT_lst)) {
|
||||
|
|
|
@ -18,6 +18,9 @@ def out : P<"out", "Path to file to write output">;
|
|||
def llvmlibthin : F<"llvmlibthin">,
|
||||
HelpText<"Make .lib point to .obj files instead of copying their contents">;
|
||||
|
||||
def llvmlibempty : F<"llvmlibempty">,
|
||||
HelpText<"When given no contents, produce an empty .lib file">;
|
||||
|
||||
def machine: P<"machine", "Specify target platform">;
|
||||
|
||||
def help : F<"help">;
|
||||
|
|
|
@ -1,2 +1,6 @@
|
|||
RUN: llvm-lib -out:%t.a
|
||||
RUN: test ! -e %t.a
|
||||
|
||||
RUN: llvm-lib /llvmlibempty -out:%t.a
|
||||
RUN: FileCheck %s < %t.a
|
||||
CHECK: !<arch>
|
||||
|
|
Loading…
Reference in New Issue