blob: c5c43c26d3b4080eabbb75f794904ae0f177eff7 [file] [log] [blame]
Zach Riggle08f78e82017-09-04 19:47:24 -04001
2arm_flags = ["-DCAPSTONE_HAS_ARM"]
3arm_srcs = [
4 "arch/ARM/ARMDisassembler.c",
5 "arch/ARM/ARMInstPrinter.c",
6 "arch/ARM/ARMMapping.c",
7 "arch/ARM/ARMModule.c",
8]
9
10arm64_flags = ["-DCAPSTONE_HAS_ARM64"]
11arm64_srcs = [
12 "arch/AArch64/AArch64BaseInfo.c",
13 "arch/AArch64/AArch64Disassembler.c",
14 "arch/AArch64/AArch64InstPrinter.c",
15 "arch/AArch64/AArch64Mapping.c",
16 "arch/AArch64/AArch64Module.c",
17]
18
19x86_flags = ["-DCAPSTONE_HAS_X86"]
20x86_srcs = [
21 "arch/X86/X86DisassemblerDecoder.c",
22 "arch/X86/X86Disassembler.c",
23 "arch/X86/X86IntelInstPrinter.c",
24 "arch/X86/X86ATTInstPrinter.c",
25 "arch/X86/X86Mapping.c",
26 "arch/X86/X86Module.c",
27]
28
29cc_defaults {
30 name: "capstone-defaults",
31 srcs: [
32 "cs.c",
33 "utils.c",
34 "SStream.c",
35 "MCInstrDesc.c",
36 "MCRegisterInfo.c",
37 "MCInst.c",
38 ],
39 cflags: [
40 "-Wall",
Chih-Hung Hsieh6788a412017-10-30 10:15:43 -070041 "-Werror",
42 "-Wno-error=unused-parameter",
Zach Riggle08f78e82017-09-04 19:47:24 -040043 "-DCAPSTONE_USE_SYS_DYN_MEM",
44 ],
45 export_include_dirs: [".", "include"],
46 clang: true,
47 arch: {
48 arm: {
49 cflags: arm_flags,
50 srcs: arm_srcs,
51 },
52 x86: {
53 cflags: arm_flags + arm64_flags + x86_flags,
54 srcs: arm_srcs + arm64_srcs + x86_srcs,
55 },
Priyanka Bose91d5b072018-11-02 19:27:03 +053056 x86_64: {
57 cflags: arm_flags + arm64_flags + x86_flags,
58 srcs: arm_srcs + arm64_srcs + x86_srcs,
59 },
Zach Riggle08f78e82017-09-04 19:47:24 -040060 arm64: {
61 cflags: arm_flags + arm64_flags,
62 srcs: arm_srcs + arm64_srcs
63 }
64 }
65}
66
67// For the host and device platform
68// =====================================================
69
70cc_library {
71 name: "libcapstone",
Zach Riggle08f78e82017-09-04 19:47:24 -040072 host_supported: true,
73 defaults: ["capstone-defaults"],
74}