Skip to content

Commit 8c48920

Browse files
committed
Test out options
1 parent 7c02553 commit 8c48920

File tree

2 files changed

+38
-19
lines changed

2 files changed

+38
-19
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
zig-out/**
22
zig-cache/**
3+
.zig-cache/**

build.zig

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,31 @@ pub fn build(b: *std.Build) void {
55
const target = b.standardTargetOptions(.{});
66
const optimize = b.standardOptimizeOption(.{});
77

8+
const arm = b.option(bool, "arm", "Controls -DCAPSTONE_HAS_ARM") orelse false;
9+
const arm64 = b.option(bool, "arm64", "Controls -DCAPSTONE_HAS_ARM64") orelse false;
10+
const mips = b.option(bool, "mips", "Controls -DCAPSTONE_HAS_MIPS") orelse false;
11+
const powerpc = b.option(bool, "powerpc", "Controls -DCAPSTONE_HAS_POWERPC") orelse false;
12+
const x86 = b.option(bool, "x86", "Controls -DCAPSTONE_HAS_X86") orelse false;
13+
const sparc = b.option(bool, "sparc", "Controls -DCAPSTONE_HAS_SPARC") orelse false;
14+
const sysz = b.option(bool, "sysz", "Controls -DCAPSTONE_HAS_SYSZ") orelse false;
15+
const xcore = b.option(bool, "xcore", "Controls -DCAPSTONE_HAS_XCORE") orelse false;
16+
const m68k = b.option(bool, "m68k", "Controls -DCAPSTONE_HAS_M68K") orelse false;
17+
const tms320c64x = b.option(bool, "tms320c64x", "Controls -DCAPSTONE_HAS_TMS320C64X") orelse false;
18+
const m680x = b.option(bool, "m680x", "Controls -DCAPSTONE_HAS_M680X") orelse false;
19+
const evm = b.option(bool, "evm", "Controls -DCAPSTONE_HAS_EVM") orelse false;
20+
const wasm = b.option(bool, "wasm", "Controls -DCAPSTONE_HAS_WASM") orelse false;
21+
const mos65xx = b.option(bool, "mos65xx", "Controls -DCAPSTONE_HAS_MOS65XX") orelse false;
22+
const bpf = b.option(bool, "bpf", "Controls -DCAPSTONE_HAS_BPF") orelse false;
23+
const riscv = b.option(bool, "riscv", "Controls -DCAPSTONE_HAS_RISCV") orelse false;
24+
const sh = b.option(bool, "sh", "Controls -DCAPSTONE_HAS_SH") orelse false;
25+
const tricore = b.option(bool, "tricore", "Controls -DCAPSTONE_HAS_TRICORE") orelse false;
26+
827
const upstream = b.dependency("capstone", .{});
928
const lib = b.addSharedLibrary(.{
1029
.name = "capstone",
1130
.target = target,
1231
.optimize = optimize,
1332
});
14-
1533
lib.linkLibC();
1634
lib.addIncludePath(upstream.path("include"));
1735
lib.addCSourceFiles(.{
@@ -121,24 +139,24 @@ pub fn build(b: *std.Build) void {
121139
},
122140
.flags = &.{
123141
// For now, let's just add all of them lol
124-
"-DCAPSTONE_HAS_ARM",
125-
"-DCAPSTONE_HAS_ARM64",
126-
"-DCAPSTONE_HAS_MIPS",
127-
"-DCAPSTONE_HAS_POWERPC",
128-
"-DCAPSTONE_HAS_X86",
129-
"-DCAPSTONE_HAS_SPARC",
130-
"-DCAPSTONE_HAS_SYSZ",
131-
"-DCAPSTONE_HAS_XCORE",
132-
"-DCAPSTONE_HAS_M68K",
133-
"-DCAPSTONE_HAS_TMS320C64X",
134-
"-DCAPSTONE_HAS_M680X",
135-
"-DCAPSTONE_HAS_EVM",
136-
"-DCAPSTONE_HAS_WASM",
137-
"-DCAPSTONE_HAS_MOS65XX",
138-
"-DCAPSTONE_HAS_BPF",
139-
"-DCAPSTONE_HAS_RISCV",
140-
"-DCAPSTONE_HAS_SH",
141-
"-DCAPSTONE_HAS_TRICORE",
142+
if (arm) "-DCAPSTONE_HAS_ARM" else "",
143+
if (arm64) "-DCAPSTONE_HAS_ARM64" else "",
144+
if (mips) "-DCAPSTONE_HAS_MIPS" else "",
145+
if (powerpc) "-DCAPSTONE_HAS_POWERPC" else "",
146+
if (x86) "-DCAPSTONE_HAS_X86" else "",
147+
if (sparc) "-DCAPSTONE_HAS_SPARC" else "",
148+
if (sysz) "-DCAPSTONE_HAS_SYSZ" else "",
149+
if (xcore) "-DCAPSTONE_HAS_XCORE" else "",
150+
if (m68k) "-DCAPSTONE_HAS_M68K" else "",
151+
if (tms320c64x) "-DCAPSTONE_HAS_TMS320C64X" else "",
152+
if (m680x) "-DCAPSTONE_HAS_M680X" else "",
153+
if (evm) "-DCAPSTONE_HAS_EVM" else "",
154+
if (wasm) "-DCAPSTONE_HAS_WASM" else "",
155+
if (mos65xx) "-DCAPSTONE_HAS_MOS65XX" else "",
156+
if (bpf) "-DCAPSTONE_HAS_BPF" else "",
157+
if (riscv) "-DCAPSTONE_HAS_RISCV" else "",
158+
if (sh) "-DCAPSTONE_HAS_SH" else "",
159+
if (tricore) "-DCAPSTONE_HAS_TRICORE" else "",
142160
},
143161
});
144162

0 commit comments

Comments
 (0)