//
// Copyright (C) 2012 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

// TODO We should really separate out those files that are actually needed for both variants of an
// architecture into its own category. Currently we just include all of the 32bit variant in the
// 64bit variant. It also might be good to allow one to compile only the 64bit variant without the
// 32bit one.

package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "art_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["art_license"],
}

// Common dependencies for libart-compiler_deps and libartd-compiler_deps.
cc_defaults {
    name: "libart-compiler_common_deps",
    shared_libs: [
        "libbase",
        "liblzma", // libelffile(d) dependency; must be repeated here since it's a static lib.
        "libartpalette",
    ],
    header_libs: [
        "libart_generated_headers",
    ],
}

// Dependencies of libart-compiler, used to propagate libart-compiler deps when static linking.
art_cc_defaults {
    name: "libart-compiler_deps",
    defaults: ["libart-compiler_common_deps"],
    shared_libs: [
        "libartbase",
        "libprofile",
        "libdexfile",
    ],
    static_libs: ["libelffile"],
    codegen: {
        arm: {
            // VIXL assembly support for ARM targets.
            static_libs: [
                "libvixl",
            ],
        },
        arm64: {
            // VIXL assembly support for ARM64 targets.
            static_libs: [
                "libvixl",
            ],
        },
    },
    runtime_libs: [
        // `art::HGraphVisualizerDisassembler::HGraphVisualizerDisassembler` may dynamically load
        // `libart-disassembler.so`.
        "libart-disassembler",
    ],
}

// Dependencies of libartd-compiler, used to propagate libartd-compiler deps when static linking.
art_cc_defaults {
    name: "libartd-compiler_deps",
    defaults: ["libart-compiler_common_deps"],
    shared_libs: [
        "libartbased",
        "libprofiled",
        "libdexfiled",
    ],
    static_libs: ["libelffiled"],
    codegen: {
        arm: {
            // VIXL assembly support for ARM targets.
            static_libs: [
                "libvixld",
            ],
        },
        arm64: {
            // VIXL assembly support for ARM64 targets.
            static_libs: [
                "libvixld",
            ],
        },
    },
    runtime_libs: [
        // `art::HGraphVisualizerDisassembler::HGraphVisualizerDisassembler` may dynamically load
        // `libartd-disassembler.so`.
        "libartd-disassembler",
    ],
}

art_cc_defaults {
    name: "libart-compiler-defaults",
    defaults: ["art_defaults"],
    host_supported: true,
    srcs: [
        "debug/elf_debug_writer.cc",
        "dex/inline_method_analyser.cc",
        "driver/compiler_options.cc",
        "driver/dex_compilation_unit.cc",
        "jit/jit_compiler.cc",
        "jit/jit_logger.cc",
        "jni/quick/calling_convention.cc",
        "jni/quick/jni_compiler.cc",
        "optimizing/block_builder.cc",
        "optimizing/block_namer.cc",
        "optimizing/bounds_check_elimination.cc",
        "optimizing/builder.cc",
        "optimizing/cha_guard_optimization.cc",
        "optimizing/code_generation_data.cc",
        "optimizing/code_generator.cc",
        "optimizing/code_generator_utils.cc",
        "optimizing/code_sinking.cc",
        "optimizing/constant_folding.cc",
        "optimizing/constructor_fence_redundancy_elimination.cc",
        "optimizing/data_type.cc",
        "optimizing/dead_code_elimination.cc",
        "optimizing/escape.cc",
        "optimizing/execution_subgraph.cc",
        "optimizing/graph_checker.cc",
        "optimizing/graph_visualizer.cc",
        "optimizing/gvn.cc",
        "optimizing/induction_var_analysis.cc",
        "optimizing/induction_var_range.cc",
        "optimizing/inliner.cc",
        "optimizing/instruction_builder.cc",
        "optimizing/instruction_simplifier.cc",
        "optimizing/intrinsic_objects.cc",
        "optimizing/intrinsics.cc",
        "optimizing/licm.cc",
        "optimizing/linear_order.cc",
        "optimizing/load_store_analysis.cc",
        "optimizing/load_store_elimination.cc",
        "optimizing/locations.cc",
        "optimizing/loop_analysis.cc",
        "optimizing/loop_optimization.cc",
        "optimizing/nodes.cc",
        "optimizing/optimization.cc",
        "optimizing/optimizing_compiler.cc",
        "optimizing/parallel_move_resolver.cc",
        "optimizing/prepare_for_register_allocation.cc",
        "optimizing/reference_type_propagation.cc",
        "optimizing/register_allocation_resolver.cc",
        "optimizing/register_allocator.cc",
        "optimizing/register_allocator_linear_scan.cc",
        "optimizing/select_generator.cc",
        "optimizing/scheduler.cc",
        "optimizing/sharpening.cc",
        "optimizing/side_effects_analysis.cc",
        "optimizing/ssa_builder.cc",
        "optimizing/ssa_liveness_analysis.cc",
        "optimizing/ssa_phi_elimination.cc",
        "optimizing/stack_map_stream.cc",
        "optimizing/superblock_cloner.cc",
        "optimizing/write_barrier_elimination.cc",
        "trampolines/trampoline_compiler.cc",
        "utils/assembler.cc",
        "utils/jni_macro_assembler.cc",
        "compiler.cc",
    ],

    codegen: {
        arm: {
            srcs: [
                "jni/quick/arm/calling_convention_arm.cc",
                "optimizing/code_generator_arm_vixl.cc",
                "optimizing/code_generator_vector_arm_vixl.cc",
                "optimizing/critical_native_abi_fixup_arm.cc",
                "optimizing/instruction_simplifier_arm.cc",
                "optimizing/instruction_simplifier_shared.cc",
                "optimizing/intrinsics_arm_vixl.cc",
                "optimizing/nodes_shared.cc",
                "optimizing/scheduler_arm.cc",
                "utils/arm/assembler_arm_vixl.cc",
                "utils/arm/constants_arm.cc",
                "utils/arm/jni_macro_assembler_arm_vixl.cc",
                "utils/arm/managed_register_arm.cc",
            ],
        },
        arm64: {
            srcs: [
                "jni/quick/arm64/calling_convention_arm64.cc",
                "optimizing/code_generator_arm64.cc",
                "optimizing/code_generator_vector_arm64_neon.cc",
                "optimizing/code_generator_vector_arm64_sve.cc",
                "optimizing/jit_patches_arm64.cc",
                "optimizing/scheduler_arm64.cc",
                "optimizing/instruction_simplifier_arm64.cc",
                "optimizing/intrinsics_arm64.cc",
                "utils/arm64/assembler_arm64.cc",
                "utils/arm64/jni_macro_assembler_arm64.cc",
                "utils/arm64/managed_register_arm64.cc",
            ],
        },
        riscv64: {
            srcs: [
                "jni/quick/riscv64/calling_convention_riscv64.cc",
                "optimizing/code_generator_riscv64.cc",
                "optimizing/intrinsics_riscv64.cc",
                "utils/riscv64/assembler_riscv64.cc",
                "utils/riscv64/jni_macro_assembler_riscv64.cc",
                "utils/riscv64/managed_register_riscv64.cc",
            ],
        },
        x86: {
            srcs: [
                "jni/quick/x86/calling_convention_x86.cc",
                "optimizing/code_generator_x86.cc",
                "optimizing/code_generator_vector_x86.cc",
                "optimizing/intrinsics_x86.cc",
                "optimizing/instruction_simplifier_x86_shared.cc",
                "optimizing/instruction_simplifier_x86.cc",
                "optimizing/pc_relative_fixups_x86.cc",
                "optimizing/x86_memory_gen.cc",
                "utils/x86/assembler_x86.cc",
                "utils/x86/jni_macro_assembler_x86.cc",
                "utils/x86/managed_register_x86.cc",
            ],
        },
        x86_64: {
            srcs: [
                "jni/quick/x86_64/calling_convention_x86_64.cc",
                "optimizing/intrinsics_x86_64.cc",
                "optimizing/instruction_simplifier_x86_64.cc",
                "optimizing/code_generator_x86_64.cc",
                "optimizing/code_generator_vector_x86_64.cc",
                "utils/x86_64/assembler_x86_64.cc",
                "utils/x86_64/jni_macro_assembler_x86_64.cc",
                "utils/x86_64/managed_register_x86_64.cc",
            ],
        },
    },
    static: {
        cflags: ["-DART_STATIC_LIBART_COMPILER"],
    },
    generated_sources: ["art_compiler_operator_srcs"],
    shared_libs: [
        "libbase",
        "liblzma", // libelffile(d) dependency; must be repeated here since it's a static lib.
    ],
    header_libs: [
        "art_cmdlineparser_headers", // For compiler_options.
        "art_disassembler_headers",
        "libnativehelper_header_only",
    ],

    export_include_dirs: ["."],
    // Not using .map.txt because this is an internal API
    version_script: "libart-compiler.map",
}

cc_defaults {
    name: "libart-compiler_static_base_defaults",
    whole_static_libs: [
        "libbase",
    ],
}

gensrcs {
    name: "art_compiler_operator_srcs",
    cmd: "$(location generate_operator_out) art/compiler $(in) > $(out)",
    tools: ["generate_operator_out"],
    srcs: [
        "linker/linker_patch.h",
        "optimizing/locations.h",
        "optimizing/nodes.h",
        "optimizing/optimizing_compiler_stats.h",

        "utils/arm/constants_arm.h",
    ],
    output_extension: "operator_out.cc",
}

art_cc_library {
    name: "libart-compiler",
    defaults: [
        "libart-compiler-defaults",
        "dex2oat-pgo-defaults",
        "art_hugepage_defaults",
        "libart-compiler_deps",
    ],
    shared_libs: [
        // libart is not included in libart-compiler_deps to allow libart-compiler(-for-test)
        // select suitable libart library (either with or without LTO).
        "libart",
    ],
    target: {
        android: {
            lto: {
                thin: true,
            },
        },
    },
    apex_available: [
        "com.android.art",
        "com.android.art.debug",
        "test_broken_com.android.art",
    ],
}

// For static linking with gtests. Same as `libart-compiler`, but without LTO.
// When gtests static link a library with LTO enabled, they are also built with LTO.
// This makes the build process use a lot of memory. b/277207452
art_cc_library_static {
    name: "libart-compiler-for-test",
    defaults: [
        "libart-compiler-defaults",
        "dex2oat-pgo-defaults",
        "art_hugepage_defaults",
        "libart-compiler_deps",
    ],
    header_libs: [
        "libart_headers",
    ],
}

cc_defaults {
    name: "libart-compiler_static_defaults",
    defaults: [
        "libart-compiler_static_base_defaults",
        "libart-disassembler_static_defaults",
        "libart_static_defaults",
        "libartbase_static_defaults",
        "libdexfile_static_defaults",
        "libprofile_static_defaults",
    ],
    whole_static_libs: ["libart-compiler"],
}

// libart-compiler_static_defaults for standalone gtests.
// Uses libart-for-test_static_defaults instead of libart_static_defaults.
// Uses libart-compiler-for-test instead of libart-compiler.
cc_defaults {
    name: "libart-compiler-for-test_static_defaults",
    defaults: [
        "libart-compiler_static_base_defaults",
        "libart-disassembler_static_defaults",
        "libart-for-test_static_defaults",
        "libartbase_static_defaults",
        "libdexfile_static_defaults",
        "libprofile_static_defaults",
    ],
    whole_static_libs: ["libart-compiler-for-test"],
}

art_cc_library {
    name: "libartd-compiler",
    defaults: [
        "art_debug_defaults",
        "libart-compiler-defaults",
        "libartd-compiler_deps",
    ],
    shared_libs: [
        "libartd",
    ],
    apex_available: [
        "com.android.art.debug",
        // TODO(b/183882457): This lib doesn't go into com.android.art, but
        // apex_available lists need to be the same for internal libs to avoid
        // stubs, and this depends on libdexfiled.
        "com.android.art",
    ],
}

cc_defaults {
    name: "libartd-compiler_static_defaults",
    defaults: [
        "libart-compiler_static_base_defaults",
        "libartbased_static_defaults",
        "libartd-disassembler_static_defaults",
        "libartd_static_defaults",
        "libdexfiled_static_defaults",
        "libprofiled_static_defaults",
    ],
    whole_static_libs: ["libartd-compiler"],
}

// libartd-compiler_static_defaults for gtests.
// Uses libartd-for-test_static_defaults instead of libart_static_defaults.
// Note that `libartd-compiler-for-test` is not required here, because `libartd-compiler`
// doesn't use LTO.
cc_defaults {
    name: "libartd-compiler-for-test_static_defaults",
    defaults: [
        "libart-compiler_static_base_defaults",
        "libartbased_static_defaults",
        "libartd-disassembler_static_defaults",
        "libartd-for-test_static_defaults",
        "libdexfiled_static_defaults",
        "libprofiled_static_defaults",
    ],
    whole_static_libs: ["libartd-compiler"],
}

// Properties common to `libart-compiler-gtest` and `libartd-compiler-gtest`.
art_cc_defaults {
    name: "libart-compiler-gtest-common",
    srcs: [
        "common_compiler_test.cc",
    ],
}

art_cc_library_static {
    name: "libart-compiler-gtest",
    defaults: [
        "libart-gtest-defaults",
        "libart-compiler-gtest-common",
        "libart-compiler-for-test_static_defaults",
    ],
}

art_cc_library_static {
    name: "libartd-compiler-gtest",
    defaults: [
        "art_debug_defaults",
        "libart-gtest-defaults",
        "libart-compiler-gtest-common",
        "libartd-compiler-for-test_static_defaults",
    ],
}

art_cc_defaults {
    name: "art_compiler_tests_defaults",
    data: [
        ":art-gtest-jars-ExceptionHandle",
        ":art-gtest-jars-Interfaces",
        ":art-gtest-jars-Main",
        ":art-gtest-jars-MyClassNatives",
    ],
    tidy_timeout_srcs: [
        "jni/jni_compiler_test.cc",
        "optimizing/codegen_test.cc",
        "optimizing/constant_folding_test.cc",
        "optimizing/execution_subgraph_test.cc",
        "optimizing/induction_var_range_test.cc",
        "optimizing/load_store_elimination_test.cc",
        "optimizing/ssa_test.cc",
    ],
    srcs: [
        "compiler_reflection_test.cc",
        "debug/dwarf/dwarf_test.cc",
        "debug/src_map_elem_test.cc",
        "exception_test.cc",
        "jni/jni_compiler_test.cc",
        "linker/linker_patch_test.cc",
        "linker/output_stream_test.cc",
        "optimizing/bounds_check_elimination_test.cc",
        "optimizing/constant_folding_test.cc",
        "optimizing/data_type_test.cc",
        "optimizing/dead_code_elimination_test.cc",
        "optimizing/dominator_test.cc",
        "optimizing/find_loops_test.cc",
        "optimizing/graph_checker_test.cc",
        "optimizing/graph_test.cc",
        "optimizing/gvn_test.cc",
        "optimizing/induction_var_analysis_test.cc",
        "optimizing/induction_var_range_test.cc",
        "optimizing/licm_test.cc",
        "optimizing/linearize_test.cc",
        "optimizing/live_interval_test.cc",
        "optimizing/live_ranges_test.cc",
        "optimizing/liveness_test.cc",
        "optimizing/loop_optimization_test.cc",
        "optimizing/nodes_test.cc",
        "optimizing/nodes_vector_test.cc",
        "optimizing/parallel_move_test.cc",
        "optimizing/pretty_printer_test.cc",
        "optimizing/reference_type_propagation_test.cc",
        "optimizing/select_generator_test.cc",
        "optimizing/side_effects_test.cc",
        "optimizing/ssa_liveness_analysis_test.cc",
        "optimizing/ssa_test.cc",
        "optimizing/stack_map_test.cc",
        "optimizing/superblock_cloner_test.cc",
        "optimizing/suspend_check_test.cc",
        "utils/atomic_dex_ref_map_test.cc",
        "utils/dedupe_set_test.cc",

        "jni/jni_cfi_test.cc",
        "optimizing/codegen_test.cc",
        "optimizing/execution_subgraph_test.cc",
        "optimizing/instruction_simplifier_test.cc",
        "optimizing/load_store_analysis_test.cc",
        "optimizing/load_store_elimination_test.cc",
        "optimizing/optimizing_cfi_test.cc",
        "optimizing/scheduler_test.cc",
    ],

    codegen: {
        arm: {
            srcs: [
                "utils/arm/managed_register_arm_test.cc",
            ],
        },
        arm64: {
            srcs: [
                "utils/arm64/managed_register_arm64_test.cc",
            ],
        },
        riscv64: {
            srcs: [
                "utils/riscv64/managed_register_riscv64_test.cc",
            ],
        },
        x86: {
            srcs: [
                "utils/x86/managed_register_x86_test.cc",

                // This test is testing architecture-independent functionality,
                // but happens to use x86 codegen as part of the test.
                "optimizing/register_allocator_test.cc",
            ],
        },
        x86_64: {
            srcs: [
                // Is this test a bit-rotten copy of the x86 test? b/77951326
                // "utils/x86_64/managed_register_x86_64_test.cc",
            ],
        },
    },

    header_libs: [
        "libart_simulator_headers",
        "libnativehelper_header_only",
    ],

    target: {
        host: {
            shared_libs: [
                "libartd-simulator",
            ],
        },
    },
}

// Version of ART gtest `art_compiler_tests` bundled with the ART APEX on target.
// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete.
art_cc_test {
    name: "art_compiler_tests",
    defaults: [
        "art_gtest_defaults",
        "art_compiler_tests_defaults",
    ],
    static_libs: [
        "libartd-simulator-container",
    ],
}

// Standalone version of ART gtest `art_compiler_tests`, not bundled with the ART APEX on target.
art_cc_test {
    name: "art_standalone_compiler_tests",
    defaults: [
        "art_standalone_gtest_defaults",
        "art_compiler_tests_defaults",
    ],
    data: [":generate-boot-image"],
    static_libs: [
        "libart-simulator-container",
    ],
    test_config: "art_standalone_compiler_tests.xml",
}

art_cc_test {
    name: "art_compiler_host_tests",
    device_supported: false,
    defaults: [
        "art_gtest_defaults",
    ],
    tidy_timeout_srcs: [
        "utils/x86/assembler_x86_test.cc",
        "utils/x86_64/assembler_x86_64_test.cc",
    ],
    codegen: {
        arm: {
            srcs: [
                "utils/assembler_thumb_test.cc",
            ],
        },
        riscv64: {
            srcs: [
                "utils/riscv64/assembler_riscv64_test.cc",
                "utils/riscv64/jni_macro_assembler_riscv64_test.cc",
            ],
        },
        x86: {
            srcs: [
                "utils/x86/assembler_x86_test.cc",
            ],
        },
        x86_64: {
            srcs: [
                "utils/x86_64/assembler_x86_64_test.cc",
            ],
        },
    },
    static_libs: [
        "libvixld",
    ],
}
