blob: 2c54b0cf2270de570f37fe96b2b2f8b2c5cc3386 [file] [log] [blame]
package {
default_applicable_licenses: ["external_capstone_license"],
}
// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
//
// large-scale-change included anything that looked like it might be a license
// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
//
// Please consider removing redundant or irrelevant files from 'license_text:'.
// See: http://go/android-license-faq
license {
name: "external_capstone_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-APSL-2.0",
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-MIT",
"SPDX-license-identifier-NCSA",
],
license_text: [
"LICENSE",
"LICENSE.TXT",
"LICENSE_LLVM.TXT",
],
}
arm_flags = ["-DCAPSTONE_HAS_ARM"]
arm_srcs = [
"arch/ARM/ARMDisassembler.c",
"arch/ARM/ARMInstPrinter.c",
"arch/ARM/ARMMapping.c",
"arch/ARM/ARMModule.c",
]
arm64_flags = ["-DCAPSTONE_HAS_ARM64"]
arm64_srcs = [
"arch/AArch64/AArch64BaseInfo.c",
"arch/AArch64/AArch64Disassembler.c",
"arch/AArch64/AArch64InstPrinter.c",
"arch/AArch64/AArch64Mapping.c",
"arch/AArch64/AArch64Module.c",
]
x86_flags = ["-DCAPSTONE_HAS_X86"]
x86_srcs = [
"arch/X86/X86DisassemblerDecoder.c",
"arch/X86/X86Disassembler.c",
"arch/X86/X86IntelInstPrinter.c",
"arch/X86/X86ATTInstPrinter.c",
"arch/X86/X86Mapping.c",
"arch/X86/X86Module.c",
]
cc_defaults {
name: "capstone-defaults",
srcs: [
"cs.c",
"utils.c",
"SStream.c",
"MCInstrDesc.c",
"MCRegisterInfo.c",
"MCInst.c",
],
cflags: [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
"-Wno-missing-field-initializers",
"-DCAPSTONE_USE_SYS_DYN_MEM",
],
export_include_dirs: [".", "include"],
clang: true,
arch: {
arm: {
cflags: arm_flags,
srcs: arm_srcs,
},
x86: {
cflags: arm_flags + arm64_flags + x86_flags,
srcs: arm_srcs + arm64_srcs + x86_srcs,
},
x86_64: {
cflags: arm_flags + arm64_flags + x86_flags,
srcs: arm_srcs + arm64_srcs + x86_srcs,
},
arm64: {
cflags: arm_flags + arm64_flags,
srcs: arm_srcs + arm64_srcs
}
}
}
// For the host and device platform
// =====================================================
cc_library {
name: "libcapstone",
host_supported: true,
defaults: ["capstone-defaults"],
}