llvm-project/llvm/lib/ToolDrivers
Nico Weber 75196b99fb [llvm-lib] Add /WX, warn by default on empty inputs, add opt-out
lib.exe by default exits successfully without writing an output
file when no inputs are passed. llvm-lib has the same behavior,
for compatibility.

This behavior interacts poorly with build systems: If a static
library target had no inputs, llvm-lib would not produce an output
file, causing ninja (or make, or a similar system) to successfully
run that step, but then re-run it on the next build.

After this patch, llvm-lib emits a warning in this case, that with
/WX can be turned into an error. That way, ninja (or make, or...)
will mark the initial build as failed.

People who don't like the warning can use /ignore:emptyoutput to
suppress it.

The warning also points out the existing flag /llvmlibempty which
forces creation of an empty .lib file (this is an extension to lib.exe).

Differential Revision: https://reviews.llvm.org/D123517
2022-04-11 13:15:30 -04:00
..
llvm-dlltool [Type] Avoid APFloat.h include (NFC) 2021-10-09 11:29:26 +02:00
llvm-lib [llvm-lib] Add /WX, warn by default on empty inputs, add opt-out 2022-04-11 13:15:30 -04:00
CMakeLists.txt