1# Copyright (c) 2023 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/ets_runtime/js_runtime_config.gni") 15 16include_directories = [ 17 "${MAPLEALL_ROOT}/maple_ir/include", 18 "${MAPLEALL_ROOT}/mpl2mpl/include", 19 "${MAPLEALL_ROOT}/maple_util/include", 20 "${MAPLEALL_ROOT}/maple_driver/include", 21 "${MAPLEALL_ROOT}/mempool/include", 22 "${MAPLEALL_ROOT}/maple_ipa/include", 23 "${MAPLEALL_ROOT}/maple_ipa/include/old", 24 "${MAPLEALL_ROOT}/maple_me/include", 25 "${MAPLEALL_ROOT}/maple_phase/include", 26] 27 28src_libmplir = [ 29 "src/global_tables.cpp", 30 "src/intrinsics.cpp", 31 "src/lexer.cpp", 32 "src/mir_symbol_builder.cpp", 33 "src/mir_builder.cpp", 34 "src/mir_const.cpp", 35 "src/mir_scope.cpp", 36 "src/mir_function.cpp", 37 "src/mir_lower.cpp", 38 "src/mir_module.cpp", 39 "src/verification.cpp", 40 "src/verify_annotation.cpp", 41 "src/verify_mark.cpp", 42 "src/mir_nodes.cpp", 43 "src/mir_symbol.cpp", 44 "src/mir_type.cpp", 45 "src/opcode_info.cpp", 46 "src/option.cpp", 47 "src/mpl2mpl_options.cpp", 48 "src/parser.cpp", 49 "src/mir_parser.cpp", 50 "src/mir_pragma.cpp", 51 "src/printing.cpp", 52 "src/bin_func_import.cpp", 53 "src/bin_func_export.cpp", 54 "src/bin_mpl_import.cpp", 55 "src/bin_mpl_export.cpp", 56 "src/debug_info.cpp", 57 "src/debug_info_util.cpp", 58 "${MAPLEALL_ROOT}/maple_ipa/src/old/ea_connection_graph.cpp", 59] 60 61ohos_static_library("libmplir") { 62 stack_protector_ret = false 63 if (enable_sanitize) { 64 sanitize = { 65 cfi = true 66 cfi_cross_dso = true 67 debug = false 68 } 69 branch_protector_ret = "pac_ret" 70 } 71 configs = [ "${MAPLEALL_ROOT}:mapleallcompilecfg" ] 72 sources = src_libmplir 73 include_dirs = include_directories 74 external_deps = [ "bounds_checking_function:libsec_static" ] 75 output_dir = "${root_out_dir}/lib/${HOST_ARCH}" 76 deps = [ 77 "${MAPLEALL_ROOT}/maple_driver:libdriver_option", 78 "${MAPLEALL_ROOT}/maple_phase:libmplphase", 79 "${MAPLEALL_ROOT}/maple_util:libcommandline", 80 "${MAPLEALL_ROOT}/maple_util:libcommandline", 81 "${MAPLEALL_ROOT}/maple_util:libmplutil", 82 ] 83 part_name = "ets_runtime" 84 subsystem_name = "arkcompiler" 85} 86