aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorNoam Preil <pleasantatk@gmail.com>2020-02-09 19:52:50 -0500
committerAndrew Kelley <andrew@ziglang.org>2020-02-18 18:59:45 -0500
commit2502cb242a0da5112c2cf9b0974ffd68aa27ecc8 (patch)
tree6bb374c66974e22e020e6f3d4999d1934d2c1286 /lib/std
parentcbc4e59e6805d27f0e889c0a9ff8488376cea5c0 (diff)
downloadzig-2502cb242a0da5112c2cf9b0974ffd68aa27ecc8.tar.gz
zig-2502cb242a0da5112c2cf9b0974ffd68aa27ecc8.zip
Improve support for generating LLVM IR/asm files
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/build.zig10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/std/build.zig b/lib/std/build.zig
index 6cab29eb41..d81b660a5b 100644
--- a/lib/std/build.zig
+++ b/lib/std/build.zig
@@ -1155,6 +1155,9 @@ pub const LibExeObjStep = struct {
frameworks: BufSet,
verbose_link: bool,
verbose_cc: bool,
+ produce_ir: bool,
+ produce_asm: bool,
+ produce_bin: bool,
disable_gen_h: bool,
bundle_compiler_rt: bool,
disable_stack_probing: bool,
@@ -1285,6 +1288,9 @@ pub const LibExeObjStep = struct {
.builder = builder,
.verbose_link = false,
.verbose_cc = false,
+ .produce_ir = false,
+ .produce_asm = false,
+ .produce_bin = true,
.build_mode = builtin.Mode.Debug,
.is_dynamic = is_dynamic,
.kind = kind,
@@ -1941,6 +1947,10 @@ pub const LibExeObjStep = struct {
if (builder.verbose_link or self.verbose_link) zig_args.append("--verbose-link") catch unreachable;
if (builder.verbose_cc or self.verbose_cc) zig_args.append("--verbose-cc") catch unreachable;
+ try zig_args.append(if (self.produce_ir) "-femit-llvm-ir" else "-fno-emit-llvm-ir");
+ try zig_args.append(if (self.produce_asm) "-femit-asm" else "-fno-emit-asm");
+ try zig_args.append(if (self.produce_bin) "-femit-bin" else "-fno-emit-bin");
+
if (self.strip) {
try zig_args.append("--strip");
}