1# Copyright (c) 2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//arkcompiler/runtime_core/libabckit/abckit_config.gni") 15import("//arkcompiler/runtime_core/static_core/ark_config.gni") 16import("//arkcompiler/runtime_core/static_vm_config.gni") 17 18ark_gen_file("get_intrinsic_id_static_inc") { 19 extra_dependencies = 20 [ "$ark_root_static/runtime:arkruntime_gen_intrinsics_yaml" ] 21 template_file = "templates/get_intrinsic_id_static.inc.erb" 22 data = [ "$target_gen_dir/../../../static_core/runtime/intrinsics.yaml" ] 23 api = [ "$ark_root_static/runtime/templates/intrinsics.rb" ] 24 output_file = "$target_gen_dir/generated/get_intrinsic_id_static.inc" 25} 26 27group("abckit_adapter_static_header_deps") { 28 deps = [ 29 ":get_intrinsic_id_static_inc", 30 "$abckit_root/src/adapter_dynamic/templates:abckit_isa_gen_inst_props_helpers_dynamic_inc", 31 "$abckit_root/src/templates/abckit_intrinsics:abckit_ark_gen_abckit_intrinsics_inl", 32 "$abckit_root/src/templates/abckit_intrinsics:abckit_ark_gen_abckit_intrinsics_opcodes_inc", 33 "$abckit_root/src/templates/abckit_intrinsics:abckit_ark_gen_abckit_intrinsics_vreg_width_h", 34 "$abckit_root/src/templates/dyn_intrinsics:abckit_isa_gen_dyn_intrinsics_enum_inc", 35 "$abckit_root/src/templates/dyn_intrinsics:abckit_isa_gen_dyn_intrinsics_flags_inc", 36 "$abckit_root/src/templates/dyn_intrinsics:abckit_isa_gen_get_dyn_intrinsics_names_inc", 37 ] 38} 39 40ohos_source_set("abckit_adapter_static_source_set") { 41 sources = [ 42 "abckit_static.cpp", 43 "helpers_static.cpp", 44 "ir_static.cpp", 45 "ir_static_instr_1.cpp", 46 "metadata_inspect_static.cpp", 47 "metadata_modify_static.cpp", 48 "runtime_adapter_static.cpp", 49 ] 50 51 ins_create_wrapper_dyn_dir = 52 get_label_info( 53 "$abckit_root/wrappers:abckit_isa_gen_ins_create_wrapper_api_inc", 54 "target_gen_dir") 55 intrinsics_gen_dir = get_label_info( 56 "$abckit_root/adapter_dynamic/templates:abckit_isa_gen_dyn_intrinsics_enum_inl", 57 "target_gen_dir") 58 include_dirs = [ 59 "$ark_root_dynamic/static_core", # this target should not include headers 60 # from dynamic runtime, so static_core 61 # must be listed first 62 "$ark_root_dynamic", 63 "$abckit_root", 64 "$target_gen_dir/../codegen", 65 "$target_gen_dir/../adapter_static", 66 "$target_gen_dir/../adapter_dynamic/generated", 67 "$target_gen_dir/../libabckit/src", 68 "$intrinsics_gen_dir/../generated", 69 "$ins_create_wrapper_dyn_dir", 70 ] 71 72 part_name = "runtime_core" 73 subsystem_name = "arkcompiler" 74 75 configs = [ 76 "$ark_root_static/assembler:arkassembler_public_config", 77 "$ark_root_static/bytecode_optimizer:bytecodeopt_public_config", 78 "$ark_root_static/compiler:arkcompiler_public_config", 79 "$ark_root_static/libpandafile:arkfile_public_config", 80 "$ark_root_static/libpandabase:arkbase_public_config", 81 "$ark_root_static/runtime:arkruntime_public_config", 82 "$ark_root_dynamic/static_core:ark_config", 83 "$abckit_root:abckit_config", 84 ] 85 86 deps = [ 87 ":abckit_adapter_static_header_deps", 88 "$abckit_root/src:abckit_concat_intrinsics_yaml", 89 "$ark_root_static/abc2program:arkts_abc2program", 90 "$ark_root_static/assembler:libarktsassembler", 91 "$ark_root_static/assembler:libarktsassembler", 92 "$ark_root_static/bytecode_optimizer:libarktsbytecodeopt", 93 "$ark_root_static/bytecode_optimizer:libarktsbytecodeopt", 94 "$ark_root_static/libpandabase:libarktsbase", 95 "$ark_root_static/libpandafile:libarktsfile", 96 ] 97} 98