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}/maple_me/include", 19 "${MAPLEALL_ROOT}/maple_ipa/include", 20 "${MAPLEALL_ROOT}/maple_ipa/include/old", 21 "${MAPLEALL_ROOT}/maple_phase/include", 22 "${MAPLEALL_ROOT}/maple_util/include", 23 "${MAPLEALL_ROOT}/maple_driver/include", 24 "${MAPLEALL_ROOT}/mpl2mpl/include", 25 "${MAPLEALL_ROOT}/mempool/include", 26] 27 28src_libmpl2mpl = [ 29 "src/class_init.cpp", 30 "src/simplify.cpp", 31 "src/class_hierarchy.cpp", 32 "src/class_hierarchy_phase.cpp", 33 "src/constantfold.cpp", 34 "src/ext_constantfold.cpp", 35 "src/module_phase_manager.cpp", 36 "src/clone.cpp", 37 "src/call_graph.cpp", 38] 39 40ohos_static_library("libmpl2mpl") { 41 stack_protector_ret = false 42 if (enable_sanitize) { 43 sanitize = { 44 cfi = true 45 cfi_cross_dso = true 46 debug = false 47 } 48 branch_protector_ret = "pac_ret" 49 } 50 configs = [ "${MAPLEALL_ROOT}:mapleallcompilecfg" ] 51 sources = src_libmpl2mpl 52 include_dirs = include_directories 53 external_deps = [ "bounds_checking_function:libsec_static" ] 54 output_dir = "${root_out_dir}/lib/${HOST_ARCH}" 55 part_name = "ets_runtime" 56 subsystem_name = "arkcompiler" 57} 58