1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "external_llvm_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-NCSA
7    default_applicable_licenses: ["external_llvm_license"],
8}
9
10cc_library_static {
11    name: "libLLVMAArch64CodeGen",
12    defaults: [
13        "llvm-lib-defaults",
14        "llvm-aarch64-defaults",
15    ],
16    srcs: ["*.cpp"],
17
18    // Global ISEL is an experimental feature.  If LLVM_BUILD_GLOBAL_ISEL is not
19    // set, these files fail compilation based on a macro check.
20    exclude_srcs: [
21        "AArch64CallLowering.cpp",
22        "AArch64RegisterBankInfo.cpp",
23    ],
24}
25
26cc_defaults {
27    name: "llvm-aarch64-defaults",
28    generated_headers: ["llvm-gen-aarch64"],
29    static_libs: ["llvm-aarch64-headers"],
30}
31
32cc_library_static {
33    name: "llvm-aarch64-headers",
34    vendor_available: true,
35    product_available: true,
36    host_supported: true,
37    // TODO(b/153609531): remove when no longer needed.
38    native_bridge_supported: true,
39    target: {
40        windows: {
41            enabled: true,
42        },
43    },
44    export_include_dirs: ["."],
45}
46
47llvm_tblgen {
48    name: "llvm-gen-aarch64",
49    in: "AArch64.td",
50    outs: [
51        "AArch64GenRegisterInfo.inc",
52        "AArch64GenInstrInfo.inc",
53        "AArch64GenAsmWriter.inc",
54        "AArch64GenAsmWriter1.inc",
55        "AArch64GenDAGISel.inc",
56        "AArch64GenCallingConv.inc",
57        "AArch64GenAsmMatcher.inc",
58        "AArch64GenSubtargetInfo.inc",
59        "AArch64GenMCCodeEmitter.inc",
60        "AArch64GenFastISel.inc",
61        "AArch64GenDisassemblerTables.inc",
62        "AArch64GenMCPseudoLowering.inc",
63        "AArch64GenSystemOperands.inc",
64    ],
65}
66
67subdirs = ["*"]
68