1*9a0e4156SSadaf Ebrahimipackage { 2*9a0e4156SSadaf Ebrahimi default_applicable_licenses: ["external_capstone_license"], 3*9a0e4156SSadaf Ebrahimi} 4*9a0e4156SSadaf Ebrahimi 5*9a0e4156SSadaf Ebrahimi// Added automatically by a large-scale-change that took the approach of 6*9a0e4156SSadaf Ebrahimi// 'apply every license found to every target'. While this makes sure we respect 7*9a0e4156SSadaf Ebrahimi// every license restriction, it may not be entirely correct. 8*9a0e4156SSadaf Ebrahimi// 9*9a0e4156SSadaf Ebrahimi// e.g. GPL in an MIT project might only apply to the contrib/ directory. 10*9a0e4156SSadaf Ebrahimi// 11*9a0e4156SSadaf Ebrahimi// Please consider splitting the single license below into multiple licenses, 12*9a0e4156SSadaf Ebrahimi// taking care not to lose any license_kind information, and overriding the 13*9a0e4156SSadaf Ebrahimi// default license using the 'licenses: [...]' property on targets as needed. 14*9a0e4156SSadaf Ebrahimi// 15*9a0e4156SSadaf Ebrahimi// For unused files, consider creating a 'fileGroup' with "//visibility:private" 16*9a0e4156SSadaf Ebrahimi// to attach the license to, and including a comment whether the files may be 17*9a0e4156SSadaf Ebrahimi// used in the current project. 18*9a0e4156SSadaf Ebrahimi// 19*9a0e4156SSadaf Ebrahimi// large-scale-change included anything that looked like it might be a license 20*9a0e4156SSadaf Ebrahimi// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. 21*9a0e4156SSadaf Ebrahimi// 22*9a0e4156SSadaf Ebrahimi// Please consider removing redundant or irrelevant files from 'license_text:'. 23*9a0e4156SSadaf Ebrahimi// See: http://go/android-license-faq 24*9a0e4156SSadaf Ebrahimilicense { 25*9a0e4156SSadaf Ebrahimi name: "external_capstone_license", 26*9a0e4156SSadaf Ebrahimi visibility: [":__subpackages__"], 27*9a0e4156SSadaf Ebrahimi license_kinds: [ 28*9a0e4156SSadaf Ebrahimi "SPDX-license-identifier-APSL-2.0", 29*9a0e4156SSadaf Ebrahimi "SPDX-license-identifier-BSD", 30*9a0e4156SSadaf Ebrahimi "SPDX-license-identifier-MIT", 31*9a0e4156SSadaf Ebrahimi "SPDX-license-identifier-NCSA", 32*9a0e4156SSadaf Ebrahimi ], 33*9a0e4156SSadaf Ebrahimi license_text: [ 34*9a0e4156SSadaf Ebrahimi "LICENSE", 35*9a0e4156SSadaf Ebrahimi "LICENSE.TXT", 36*9a0e4156SSadaf Ebrahimi "LICENSE_LLVM.TXT", 37*9a0e4156SSadaf Ebrahimi ], 38*9a0e4156SSadaf Ebrahimi} 39*9a0e4156SSadaf Ebrahimi 40*9a0e4156SSadaf Ebrahimiarm_flags = ["-DCAPSTONE_HAS_ARM"] 41*9a0e4156SSadaf Ebrahimiarm_srcs = [ 42*9a0e4156SSadaf Ebrahimi "arch/ARM/ARMDisassembler.c", 43*9a0e4156SSadaf Ebrahimi "arch/ARM/ARMInstPrinter.c", 44*9a0e4156SSadaf Ebrahimi "arch/ARM/ARMMapping.c", 45*9a0e4156SSadaf Ebrahimi "arch/ARM/ARMModule.c", 46*9a0e4156SSadaf Ebrahimi] 47*9a0e4156SSadaf Ebrahimi 48*9a0e4156SSadaf Ebrahimiarm64_flags = ["-DCAPSTONE_HAS_ARM64"] 49*9a0e4156SSadaf Ebrahimiarm64_srcs = [ 50*9a0e4156SSadaf Ebrahimi "arch/AArch64/AArch64BaseInfo.c", 51*9a0e4156SSadaf Ebrahimi "arch/AArch64/AArch64Disassembler.c", 52*9a0e4156SSadaf Ebrahimi "arch/AArch64/AArch64InstPrinter.c", 53*9a0e4156SSadaf Ebrahimi "arch/AArch64/AArch64Mapping.c", 54*9a0e4156SSadaf Ebrahimi "arch/AArch64/AArch64Module.c", 55*9a0e4156SSadaf Ebrahimi] 56*9a0e4156SSadaf Ebrahimi 57*9a0e4156SSadaf Ebrahimix86_flags = ["-DCAPSTONE_HAS_X86"] 58*9a0e4156SSadaf Ebrahimix86_srcs = [ 59*9a0e4156SSadaf Ebrahimi "arch/X86/X86DisassemblerDecoder.c", 60*9a0e4156SSadaf Ebrahimi "arch/X86/X86Disassembler.c", 61*9a0e4156SSadaf Ebrahimi "arch/X86/X86IntelInstPrinter.c", 62*9a0e4156SSadaf Ebrahimi "arch/X86/X86ATTInstPrinter.c", 63*9a0e4156SSadaf Ebrahimi "arch/X86/X86Mapping.c", 64*9a0e4156SSadaf Ebrahimi "arch/X86/X86Module.c", 65*9a0e4156SSadaf Ebrahimi] 66*9a0e4156SSadaf Ebrahimi 67*9a0e4156SSadaf Ebrahimicc_defaults { 68*9a0e4156SSadaf Ebrahimi name: "capstone-defaults", 69*9a0e4156SSadaf Ebrahimi srcs: [ 70*9a0e4156SSadaf Ebrahimi "cs.c", 71*9a0e4156SSadaf Ebrahimi "utils.c", 72*9a0e4156SSadaf Ebrahimi "SStream.c", 73*9a0e4156SSadaf Ebrahimi "MCInstrDesc.c", 74*9a0e4156SSadaf Ebrahimi "MCRegisterInfo.c", 75*9a0e4156SSadaf Ebrahimi "MCInst.c", 76*9a0e4156SSadaf Ebrahimi ], 77*9a0e4156SSadaf Ebrahimi cflags: [ 78*9a0e4156SSadaf Ebrahimi "-Wall", 79*9a0e4156SSadaf Ebrahimi "-Werror", 80*9a0e4156SSadaf Ebrahimi "-Wno-unused-parameter", 81*9a0e4156SSadaf Ebrahimi "-Wno-missing-field-initializers", 82*9a0e4156SSadaf Ebrahimi "-DCAPSTONE_USE_SYS_DYN_MEM", 83*9a0e4156SSadaf Ebrahimi ], 84*9a0e4156SSadaf Ebrahimi export_include_dirs: [ 85*9a0e4156SSadaf Ebrahimi ".", 86*9a0e4156SSadaf Ebrahimi "include", 87*9a0e4156SSadaf Ebrahimi ], 88*9a0e4156SSadaf Ebrahimi 89*9a0e4156SSadaf Ebrahimi arch: { 90*9a0e4156SSadaf Ebrahimi arm: { 91*9a0e4156SSadaf Ebrahimi cflags: arm_flags, 92*9a0e4156SSadaf Ebrahimi srcs: arm_srcs, 93*9a0e4156SSadaf Ebrahimi }, 94*9a0e4156SSadaf Ebrahimi x86: { 95*9a0e4156SSadaf Ebrahimi cflags: arm_flags + arm64_flags + x86_flags, 96*9a0e4156SSadaf Ebrahimi srcs: arm_srcs + arm64_srcs + x86_srcs, 97*9a0e4156SSadaf Ebrahimi }, 98*9a0e4156SSadaf Ebrahimi x86_64: { 99*9a0e4156SSadaf Ebrahimi cflags: arm_flags + arm64_flags + x86_flags, 100*9a0e4156SSadaf Ebrahimi srcs: arm_srcs + arm64_srcs + x86_srcs, 101*9a0e4156SSadaf Ebrahimi }, 102*9a0e4156SSadaf Ebrahimi arm64: { 103*9a0e4156SSadaf Ebrahimi cflags: arm_flags + arm64_flags, 104*9a0e4156SSadaf Ebrahimi srcs: arm_srcs + arm64_srcs, 105*9a0e4156SSadaf Ebrahimi }, 106*9a0e4156SSadaf Ebrahimi }, 107*9a0e4156SSadaf Ebrahimi} 108*9a0e4156SSadaf Ebrahimi 109*9a0e4156SSadaf Ebrahimi// For the host and device platform 110*9a0e4156SSadaf Ebrahimi// ===================================================== 111*9a0e4156SSadaf Ebrahimi 112*9a0e4156SSadaf Ebrahimicc_library { 113*9a0e4156SSadaf Ebrahimi name: "libcapstone", 114*9a0e4156SSadaf Ebrahimi host_supported: true, 115*9a0e4156SSadaf Ebrahimi defaults: ["capstone-defaults"], 116*9a0e4156SSadaf Ebrahimi} 117