cc_library_static {
    name: "libLLVMARMCodeGen",
    defaults: [
        "llvm-lib-defaults",
        "llvm-arm-defaults",
    ],
    srcs: ["*.cpp"],

    // b/31559947, b/31938382 clang-tidy segmentation fault.
    tidy_checks: [
        "-clang-analyzer-*",
        "-readability-*",
    ],
}

cc_defaults {
    name: "llvm-arm-defaults",
    generated_headers: ["llvm-gen-arm"],
    static_libs: ["llvm-arm-headers"],
}

cc_library_static {
    name: "llvm-arm-headers",
    vendor_available: true,
    host_supported: true,
    target: {
        windows: {
            enabled: true,
        },
    },
    export_include_dirs: ["."],
}

llvm_tblgen {
    name: "llvm-gen-arm",
    in: "ARM.td",
    outs: [
        "ARMGenRegisterInfo.inc",
        "ARMGenInstrInfo.inc",
        "ARMGenCodeEmitter.inc",
        "ARMGenMCCodeEmitter.inc",
        "ARMGenMCPseudoLowering.inc",
        "ARMGenAsmWriter.inc",
        "ARMGenAsmMatcher.inc",
        "ARMGenDAGISel.inc",
        "ARMGenFastISel.inc",
        "ARMGenCallingConv.inc",
        "ARMGenSubtargetInfo.inc",
        "ARMGenDisassemblerTables.inc",
    ],
}

subdirs = ["*"]