1 2 arm_flags = ["-DCAPSTONE_HAS_ARM"] 3 arm_srcs = [ 4 "arch/ARM/ARMDisassembler.c", 5 "arch/ARM/ARMInstPrinter.c", 6 "arch/ARM/ARMMapping.c", 7 "arch/ARM/ARMModule.c", 8 ] 9 10 arm64_flags = ["-DCAPSTONE_HAS_ARM64"] 11 arm64_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 19 x86_flags = ["-DCAPSTONE_HAS_X86"] 20 x86_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 29 cc_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", 41 "-Werror", 42 "-Wno-error=unused-parameter", 43 "-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 }, 56 x86_64: { 57 cflags: arm_flags + arm64_flags + x86_flags, 58 srcs: arm_srcs + arm64_srcs + x86_srcs, 59 }, 60 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 70 cc_library { 71 name: "libcapstone", 72 host_supported: true, 73 defaults: ["capstone-defaults"], 74 } 75