//
// Copyright (C) 2011 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.
//

// Keep the __jit_debug_register_code symbol as a unique symbol during ICF for architectures where
// we use gold as the linker (arm, x86, x86_64). The symbol is used by the debuggers to detect when
// new jit code is generated. We don't want it to be called when a different function with the same
// (empty) body is called.
JIT_DEBUG_REGISTER_CODE_LDFLAGS = [
    "-Wl,--keep-unique,__jit_debug_register_code",
    "-Wl,--keep-unique,__dex_debug_register_code"
]

libart_cc_defaults {
    name: "libart_defaults",
    defaults: ["art_defaults"],
    host_supported: true,
    srcs: [
        "aot_class_linker.cc",
        "art_field.cc",
        "art_method.cc",
        "backtrace_helper.cc",
        "barrier.cc",
        "base/locks.cc",
        "base/mem_map_arena_pool.cc",
        "base/mutex.cc",
        "base/quasi_atomic.cc",
        "base/timing_logger.cc",
        "cha.cc",
        "class_linker.cc",
        "class_loader_context.cc",
        "class_root.cc",
        "class_table.cc",
        "common_throws.cc",
        "compiler_filter.cc",
        "debug_print.cc",
        "debugger.cc",
        "dex/dex_file_annotations.cc",
        "dex_register_location.cc",
        "dex_to_dex_decompiler.cc",
        "elf_file.cc",
        "exec_utils.cc",
        "fault_handler.cc",
        "gc/allocation_record.cc",
        "gc/allocator/dlmalloc.cc",
        "gc/allocator/rosalloc.cc",
        "gc/accounting/bitmap.cc",
        "gc/accounting/card_table.cc",
        "gc/accounting/heap_bitmap.cc",
        "gc/accounting/mod_union_table.cc",
        "gc/accounting/remembered_set.cc",
        "gc/accounting/space_bitmap.cc",
        "gc/collector/concurrent_copying.cc",
        "gc/collector/garbage_collector.cc",
        "gc/collector/immune_region.cc",
        "gc/collector/immune_spaces.cc",
        "gc/collector/mark_sweep.cc",
        "gc/collector/partial_mark_sweep.cc",
        "gc/collector/semi_space.cc",
        "gc/collector/sticky_mark_sweep.cc",
        "gc/gc_cause.cc",
        "gc/heap.cc",
        "gc/reference_processor.cc",
        "gc/reference_queue.cc",
        "gc/scoped_gc_critical_section.cc",
        "gc/space/bump_pointer_space.cc",
        "gc/space/dlmalloc_space.cc",
        "gc/space/image_space.cc",
        "gc/space/large_object_space.cc",
        "gc/space/malloc_space.cc",
        "gc/space/region_space.cc",
        "gc/space/rosalloc_space.cc",
        "gc/space/space.cc",
        "gc/space/zygote_space.cc",
        "gc/task_processor.cc",
        "gc/verification.cc",
        "hidden_api.cc",
        "hprof/hprof.cc",
        "image.cc",
        "index_bss_mapping.cc",
        "indirect_reference_table.cc",
        "instrumentation.cc",
        "intern_table.cc",
        "interpreter/interpreter.cc",
        "interpreter/interpreter_cache.cc",
        "interpreter/interpreter_common.cc",
        "interpreter/interpreter_intrinsics.cc",
        "interpreter/interpreter_switch_impl0.cc",
        "interpreter/interpreter_switch_impl1.cc",
        "interpreter/interpreter_switch_impl2.cc",
        "interpreter/interpreter_switch_impl3.cc",
        "interpreter/lock_count_data.cc",
        "interpreter/shadow_frame.cc",
        "interpreter/unstarted_runtime.cc",
        "java_frame_root_info.cc",
        "jdwp/jdwp_event.cc",
        "jdwp/jdwp_expand_buf.cc",
        "jdwp/jdwp_handler.cc",
        "jdwp/jdwp_main.cc",
        "jdwp/jdwp_request.cc",
        "jdwp/jdwp_socket.cc",
        "jdwp/object_registry.cc",
        "jit/debugger_interface.cc",
        "jit/jit.cc",
        "jit/jit_code_cache.cc",
        "jit/profiling_info.cc",
        "jit/profile_saver.cc",
        "jni/check_jni.cc",
        "jni/java_vm_ext.cc",
        "jni/jni_env_ext.cc",
        "jni/jni_internal.cc",
        "linear_alloc.cc",
        "managed_stack.cc",
        "method_handles.cc",
        "mirror/array.cc",
        "mirror/call_site.cc",
        "mirror/class.cc",
        "mirror/class_ext.cc",
        "mirror/dex_cache.cc",
        "mirror/emulated_stack_frame.cc",
        "mirror/executable.cc",
        "mirror/field.cc",
        "mirror/method.cc",
        "mirror/method_handle_impl.cc",
        "mirror/method_handles_lookup.cc",
        "mirror/method_type.cc",
        "mirror/object.cc",
        "mirror/stack_trace_element.cc",
        "mirror/string.cc",
        "mirror/throwable.cc",
        "mirror/var_handle.cc",
        "monitor.cc",
        "native_bridge_art_interface.cc",
        "native_stack_dump.cc",
        "native/dalvik_system_DexFile.cc",
        "native/dalvik_system_VMDebug.cc",
        "native/dalvik_system_VMRuntime.cc",
        "native/dalvik_system_VMStack.cc",
        "native/dalvik_system_ZygoteHooks.cc",
        "native/java_lang_Class.cc",
        "native/java_lang_Object.cc",
        "native/java_lang_String.cc",
        "native/java_lang_StringFactory.cc",
        "native/java_lang_System.cc",
        "native/java_lang_Thread.cc",
        "native/java_lang_Throwable.cc",
        "native/java_lang_VMClassLoader.cc",
        "native/java_lang_invoke_MethodHandleImpl.cc",
        "native/java_lang_ref_FinalizerReference.cc",
        "native/java_lang_ref_Reference.cc",
        "native/java_lang_reflect_Array.cc",
        "native/java_lang_reflect_Constructor.cc",
        "native/java_lang_reflect_Executable.cc",
        "native/java_lang_reflect_Field.cc",
        "native/java_lang_reflect_Method.cc",
        "native/java_lang_reflect_Parameter.cc",
        "native/java_lang_reflect_Proxy.cc",
        "native/java_util_concurrent_atomic_AtomicLong.cc",
        "native/libcore_util_CharsetUtils.cc",
        "native/org_apache_harmony_dalvik_ddmc_DdmServer.cc",
        "native/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc",
        "native/sun_misc_Unsafe.cc",
        "non_debuggable_classes.cc",
        "oat.cc",
        "oat_file.cc",
        "oat_file_assistant.cc",
        "oat_file_manager.cc",
        "oat_quick_method_header.cc",
        "object_lock.cc",
        "offsets.cc",
        "parsed_options.cc",
        "plugin.cc",
        "quick_exception_handler.cc",
        "read_barrier.cc",
        "reference_table.cc",
        "reflection.cc",
        "runtime.cc",
        "runtime_callbacks.cc",
        "runtime_common.cc",
        "runtime_intrinsics.cc",
        "runtime_options.cc",
        "scoped_thread_state_change.cc",
        "signal_catcher.cc",
        "stack.cc",
        "stack_map.cc",
        "thread.cc",
        "thread_list.cc",
        "thread_pool.cc",
        "ti/agent.cc",
        "trace.cc",
        "transaction.cc",
        "var_handles.cc",
        "vdex_file.cc",
        "verifier/instruction_flags.cc",
        "verifier/method_verifier.cc",
        "verifier/reg_type.cc",
        "verifier/reg_type_cache.cc",
        "verifier/register_line.cc",
        "verifier/verifier_deps.cc",
        "verify_object.cc",
        "well_known_classes.cc",

        "arch/context.cc",
        "arch/instruction_set_features.cc",
        "arch/memcmp16.cc",
        "arch/arm/instruction_set_features_arm.cc",
        "arch/arm/registers_arm.cc",
        "arch/arm64/instruction_set_features_arm64.cc",
        "arch/arm64/registers_arm64.cc",
        "arch/mips/instruction_set_features_mips.cc",
        "arch/mips/registers_mips.cc",
        "arch/mips64/instruction_set_features_mips64.cc",
        "arch/mips64/registers_mips64.cc",
        "arch/x86/instruction_set_features_x86.cc",
        "arch/x86/registers_x86.cc",
        "arch/x86_64/registers_x86_64.cc",
        "entrypoints/entrypoint_utils.cc",
        "entrypoints/jni/jni_entrypoints.cc",
        "entrypoints/math_entrypoints.cc",
        "entrypoints/quick/quick_alloc_entrypoints.cc",
        "entrypoints/quick/quick_cast_entrypoints.cc",
        "entrypoints/quick/quick_deoptimization_entrypoints.cc",
        "entrypoints/quick/quick_dexcache_entrypoints.cc",
        "entrypoints/quick/quick_entrypoints_enum.cc",
        "entrypoints/quick/quick_field_entrypoints.cc",
        "entrypoints/quick/quick_fillarray_entrypoints.cc",
        "entrypoints/quick/quick_jni_entrypoints.cc",
        "entrypoints/quick/quick_lock_entrypoints.cc",
        "entrypoints/quick/quick_math_entrypoints.cc",
        "entrypoints/quick/quick_thread_entrypoints.cc",
        "entrypoints/quick/quick_throw_entrypoints.cc",
        "entrypoints/quick/quick_trampoline_entrypoints.cc",
    ],

    arch: {
        arm: {
            srcs: [
                "interpreter/mterp/mterp.cc",
                ":libart_mterp.arm",
                "arch/arm/context_arm.cc",
                "arch/arm/entrypoints_init_arm.cc",
                "arch/arm/instruction_set_features_assembly_tests.S",
                "arch/arm/jni_entrypoints_arm.S",
                "arch/arm/memcmp16_arm.S",
                "arch/arm/quick_entrypoints_arm.S",
                "arch/arm/quick_entrypoints_cc_arm.cc",
                "arch/arm/thread_arm.cc",
                "arch/arm/fault_handler_arm.cc",
            ],
        },
        arm64: {
            srcs: [
                "interpreter/mterp/mterp.cc",
                ":libart_mterp.arm64",
                "arch/arm64/context_arm64.cc",
                "arch/arm64/entrypoints_init_arm64.cc",
                "arch/arm64/jni_entrypoints_arm64.S",
                "arch/arm64/memcmp16_arm64.S",
                "arch/arm64/quick_entrypoints_arm64.S",
                "arch/arm64/thread_arm64.cc",
                "monitor_pool.cc",
                "arch/arm64/fault_handler_arm64.cc",
            ],
        },
        x86: {
            srcs: [
                "interpreter/mterp/mterp.cc",
                ":libart_mterp.x86",
                "arch/x86/context_x86.cc",
                "arch/x86/entrypoints_init_x86.cc",
                "arch/x86/jni_entrypoints_x86.S",
                "arch/x86/memcmp16_x86.S",
                "arch/x86/quick_entrypoints_x86.S",
                "arch/x86/thread_x86.cc",
                "arch/x86/fault_handler_x86.cc",
            ],
        },
        x86_64: {
            srcs: [
                // Note that the fault_handler_x86.cc is not a mistake.  This file is
                // shared between the x86 and x86_64 architectures.
                "interpreter/mterp/mterp.cc",
                ":libart_mterp.x86_64",
                "arch/x86_64/context_x86_64.cc",
                "arch/x86_64/entrypoints_init_x86_64.cc",
                "arch/x86_64/jni_entrypoints_x86_64.S",
                "arch/x86_64/memcmp16_x86_64.S",
                "arch/x86_64/quick_entrypoints_x86_64.S",
                "arch/x86_64/thread_x86_64.cc",
                "monitor_pool.cc",
                "arch/x86/fault_handler_x86.cc",
            ],
        },
        mips: {
            srcs: [
                "interpreter/mterp/mterp.cc",
                ":libart_mterp.mips",
                "arch/mips/context_mips.cc",
                "arch/mips/entrypoints_init_mips.cc",
                "arch/mips/jni_entrypoints_mips.S",
                "arch/mips/memcmp16_mips.S",
                "arch/mips/quick_entrypoints_mips.S",
                "arch/mips/thread_mips.cc",
                "arch/mips/fault_handler_mips.cc",
            ],
        },
        mips64: {
            srcs: [
                "interpreter/mterp/mterp.cc",
                ":libart_mterp.mips64",
                "arch/mips64/context_mips64.cc",
                "arch/mips64/entrypoints_init_mips64.cc",
                "arch/mips64/jni_entrypoints_mips64.S",
                "arch/mips64/memcmp16_mips64.S",
                "arch/mips64/quick_entrypoints_mips64.S",
                "arch/mips64/thread_mips64.cc",
                "monitor_pool.cc",
                "arch/mips64/fault_handler_mips64.cc",
            ],
        },
    },
    target: {
        android: {
            srcs: [
                "jdwp/jdwp_adb.cc",
                "monitor_android.cc",
                "runtime_android.cc",
                "thread_android.cc",
            ],
            shared_libs: [
                "libtombstoned_client",
            ],
            static_libs: [
                "libz",  // For adler32.
            ],
            cflags: [
                // ART is allowed to link to libicuuc directly
                // since they are in the same module
                "-DANDROID_LINK_SHARED_ICU4C",
            ],
        },
        android_arm: {
            ldflags: JIT_DEBUG_REGISTER_CODE_LDFLAGS,
        },
        android_arm64: {
            ldflags: JIT_DEBUG_REGISTER_CODE_LDFLAGS,
        },
        android_x86: {
            ldflags: JIT_DEBUG_REGISTER_CODE_LDFLAGS,
        },
        android_x86_64: {
            ldflags: JIT_DEBUG_REGISTER_CODE_LDFLAGS,
        },
        host: {
            srcs: [
                "monitor_linux.cc",
                "runtime_linux.cc",
                "thread_linux.cc",
            ],
            shared_libs: [
                "libz",  // For adler32.
            ],
        },
    },
    cflags: ["-DBUILDING_LIBART=1"],
    generated_sources: ["art_operator_srcs"],
    // asm_support_gen.h (used by asm_support.h) is generated with cpp-define-generator
    generated_headers: ["cpp-define-generator-asm-support"],
    // export our headers so the libart-gtest targets can use it as well.
    export_generated_headers: ["cpp-define-generator-asm-support"],
    include_dirs: [
        "art/sigchainlib",
        "external/zlib",
    ],
    header_libs: [
        "art_cmdlineparser_headers",
        "cpp-define-generator-definitions",
        "libicuuc_headers",
        "libnativehelper_header_only",
        "jni_platform_headers",
    ],
    shared_libs: [
        "libartpalette",
        "libnativebridge",
        "libnativeloader",
        "libbacktrace",
        "liblog",
        // For common macros.
        "libbase",
    ],
    static: {
        static_libs: ["libsigchain_dummy"],
    },
    shared: {
        shared_libs: ["libsigchain"],
    },
    export_include_dirs: ["."],
    // ART's macros.h depends on libbase's macros.h.
    // Note: runtime_options.h depends on cmdline. But we don't really want to export this
    //       generically. dex2oat takes care of it itself.
    export_shared_lib_headers: ["libbase"],
}

libart_static_cc_defaults {
    name: "libart_static_base_defaults",
    target: {
        android: {
            static_libs: ["libtombstoned_client_static"],
        },
    },
    static_libs: [
        "libartpalette",
        "libbacktrace",
        "libbase",
        "libdexfile_external",  // libunwindstack dependency
        "libdexfile_support",  // libunwindstack dependency
        "liblog",
        "libnativebridge",
        "libnativeloader",
        "libunwindstack",
        "libz",
    ],
}

cc_defaults {
    name: "libart_static_defaults",
    defaults: [
        "libart_static_base_defaults",
        "libartbase_static_defaults",
        "libdexfile_static_defaults",
        "libprofile_static_defaults",
    ],
    static_libs: ["libart"],
}

cc_defaults {
    name: "libartd_static_defaults",
    defaults: [
        "libart_static_base_defaults",
        "libartbased_static_defaults",
        "libdexfiled_static_defaults",
        "libprofiled_static_defaults",
    ],
    static_libs: ["libartd"],
}

gensrcs {
    name: "art_operator_srcs",
    cmd: "$(location generate_operator_out) art/runtime $(in) > $(out)",
    tools: ["generate_operator_out"],
    srcs: [
        "base/callee_save_type.h",
        "base/locks.h",
        "class_loader_context.h",
        "class_status.h",
        "debugger.h",
        "gc_root.h",
        "gc/allocator_type.h",
        "gc/allocator/rosalloc.h",
        "gc/collector_type.h",
        "gc/collector/gc_type.h",
        "gc/heap.h",
        "gc/space/region_space.h",
        "gc/space/space.h",
        "gc/weak_root_state.h",
        "image.h",
        "instrumentation.h",
        "indirect_reference_table.h",
        "jdwp_provider.h",
        "jdwp/jdwp.h",
        "jdwp/jdwp_constants.h",
        "lock_word.h",
        "oat.h",
        "object_callbacks.h",
        "process_state.h",
        "stack.h",
        "suspend_reason.h",
        "thread.h",
        "thread_state.h",
        "ti/agent.h",
        "trace.h",
        "verifier/verifier_enums.h",
    ],
    output_extension: "operator_out.cc",
}

// We always build dex2oat and dependencies, even if the host build is otherwise disabled, since
// they are used to cross compile for the target.

art_cc_library {
    name: "libart",
    defaults: ["libart_defaults"],
    // Leave the symbols in the shared library so that stack unwinders can
    // produce meaningful name resolution.
    strip: {
        keep_symbols: true,
    },
    whole_static_libs: [
    ],
    shared_libs: [
        "libartbase",
        "libdexfile",
        "libprofile",
    ],
    export_shared_lib_headers: [
        "libdexfile",
    ],
    target: {
        android: {
            lto: {
                 thin: true,
            },
        },
    },
}

art_cc_library {
    name: "libartd",
    defaults: [
        "art_debug_defaults",
        "libart_defaults",
    ],
    whole_static_libs: [
    ],
    shared_libs: [
        "libartbased",
        "libdexfiled",
        "libprofiled",
    ],
    export_shared_lib_headers: [
        "libdexfiled",
    ],
}

art_cc_library {
    name: "libart-runtime-gtest",
    defaults: ["libart-gtest-defaults"],
    srcs: [
        "common_runtime_test.cc",
        "dexopt_test.cc",
    ],
    shared_libs: [
        "libartd",
	"libartbase-art-gtest",
        "libbase",
        "libbacktrace",
    ],
    header_libs: [
        "libnativehelper_header_only",
    ],
}

art_cc_test {
    name: "art_runtime_tests",
    defaults: [
        "art_gtest_defaults",
    ],
    srcs: [
        "arch/arch_test.cc",
        "arch/instruction_set_features_test.cc",
        "arch/memcmp16_test.cc",
        "arch/stub_test.cc",
        "arch/arm/instruction_set_features_arm_test.cc",
        "arch/arm64/instruction_set_features_arm64_test.cc",
        "arch/mips/instruction_set_features_mips_test.cc",
        "arch/mips64/instruction_set_features_mips64_test.cc",
        "arch/x86/instruction_set_features_x86_test.cc",
        "arch/x86_64/instruction_set_features_x86_64_test.cc",
        "barrier_test.cc",
        "base/mutex_test.cc",
        "base/timing_logger_test.cc",
        "cha_test.cc",
        "class_linker_test.cc",
        "class_loader_context_test.cc",
        "class_table_test.cc",
        "compiler_filter_test.cc",
        "entrypoints/math_entrypoints_test.cc",
        "entrypoints/quick/quick_trampoline_entrypoints_test.cc",
        "entrypoints_order_test.cc",
        "exec_utils_test.cc",
        "gc/accounting/card_table_test.cc",
        "gc/accounting/mod_union_table_test.cc",
        "gc/accounting/space_bitmap_test.cc",
        "gc/collector/immune_spaces_test.cc",
        "gc/heap_test.cc",
        "gc/heap_verification_test.cc",
        "gc/reference_queue_test.cc",
        "gc/space/dlmalloc_space_static_test.cc",
        "gc/space/dlmalloc_space_random_test.cc",
        "gc/space/image_space_test.cc",
        "gc/space/large_object_space_test.cc",
        "gc/space/rosalloc_space_static_test.cc",
        "gc/space/rosalloc_space_random_test.cc",
        "gc/space/space_create_test.cc",
        "gc/system_weak_test.cc",
        "gc/task_processor_test.cc",
        "gtest_test.cc",
        "handle_scope_test.cc",
        "hidden_api_test.cc",
        "imtable_test.cc",
        "indirect_reference_table_test.cc",
        "instrumentation_test.cc",
        "intern_table_test.cc",
        "interpreter/safe_math_test.cc",
        "interpreter/unstarted_runtime_test.cc",
        "jdwp/jdwp_options_test.cc",
        "jit/profiling_info_test.cc",
        "jni/java_vm_ext_test.cc",
        "jni/jni_internal_test.cc",
        "method_handles_test.cc",
        "mirror/dex_cache_test.cc",
        "mirror/method_type_test.cc",
        "mirror/object_test.cc",
        "mirror/var_handle_test.cc",
        "monitor_pool_test.cc",
        "monitor_test.cc",
        "oat_file_test.cc",
        "oat_file_assistant_test.cc",
        "parsed_options_test.cc",
        "prebuilt_tools_test.cc",
        "proxy_test.cc",
        "reference_table_test.cc",
        "runtime_callbacks_test.cc",
        "subtype_check_info_test.cc",
        "subtype_check_test.cc",
        "thread_pool_test.cc",
        "transaction_test.cc",
        "vdex_file_test.cc",
        "verifier/method_verifier_test.cc",
        "verifier/reg_type_test.cc",
    ],
    shared_libs: [
        "libbacktrace",
    ],
    header_libs: [
        "art_cmdlineparser_headers", // For parsed_options_test.
    ],
    include_dirs: [
        "external/zlib",
    ],
}

art_cc_test {
    name: "art_runtime_compiler_tests",
    defaults: [
        "art_gtest_defaults",
    ],
    srcs: [
        "reflection_test.cc",
    ],
    shared_libs: [
        "libartd-compiler",
        "libvixld",
    ],
}

cc_library_headers {
    name: "libart_runtime_headers",
    host_supported: true,
    export_include_dirs: ["."],
}

genrule {
  name: "libart_mterp.arm",
  out: ["mterp_arm.S"],
  srcs: ["interpreter/mterp/arm/*.S"],
  tool_files: ["interpreter/mterp/gen_mterp.py", "interpreter/mterp/common/gen_setup.py"],
  cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
}

genrule {
  name: "libart_mterp.arm64",
  out: ["mterp_arm64.S"],
  srcs: ["interpreter/mterp/arm64/*.S"],
  tool_files: ["interpreter/mterp/gen_mterp.py", "interpreter/mterp/common/gen_setup.py"],
  cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
}

genrule {
  name: "libart_mterp.mips",
  out: ["mterp_mips.S"],
  srcs: ["interpreter/mterp/mips/*.S"],
  tool_files: ["interpreter/mterp/gen_mterp.py", "interpreter/mterp/common/gen_setup.py"],
  cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
}

genrule {
  name: "libart_mterp.mips64",
  out: ["mterp_mips64.S"],
  srcs: ["interpreter/mterp/mips64/*.S"],
  tool_files: ["interpreter/mterp/gen_mterp.py", "interpreter/mterp/common/gen_setup.py"],
  cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
}

genrule {
  name: "libart_mterp.x86",
  out: ["mterp_x86.S"],
  srcs: ["interpreter/mterp/x86/*.S"],
  tool_files: ["interpreter/mterp/gen_mterp.py", "interpreter/mterp/common/gen_setup.py"],
  cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
}

genrule {
  name: "libart_mterp.x86_64",
  out: ["mterp_x86_64.S"],
  srcs: ["interpreter/mterp/x86_64/*.S"],
  tool_files: ["interpreter/mterp/gen_mterp.py", "interpreter/mterp/common/gen_setup.py"],
  cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
}
