diff options
| author | Noam Preil <pleasantatk@gmail.com> | 2020-02-09 19:52:50 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-02-18 18:59:45 -0500 |
| commit | 2502cb242a0da5112c2cf9b0974ffd68aa27ecc8 (patch) | |
| tree | 6bb374c66974e22e020e6f3d4999d1934d2c1286 /lib/std | |
| parent | cbc4e59e6805d27f0e889c0a9ff8488376cea5c0 (diff) | |
| download | zig-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.zig | 10 |
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"); } |
