14514f5e3Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 24514f5e3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 34514f5e3Sopenharmony_ci# you may not use this file except in compliance with the License. 44514f5e3Sopenharmony_ci# You may obtain a copy of the License at 54514f5e3Sopenharmony_ci# 64514f5e3Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 74514f5e3Sopenharmony_ci# 84514f5e3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 94514f5e3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 104514f5e3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 114514f5e3Sopenharmony_ci# See the License for the specific language governing permissions and 124514f5e3Sopenharmony_ci# limitations under the License. 134514f5e3Sopenharmony_ci 144514f5e3Sopenharmony_ciimport("//arkcompiler/ets_runtime/js_runtime_config.gni") 154514f5e3Sopenharmony_ci 164514f5e3Sopenharmony_ciinclude_libmplphase = [ 174514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_me/include", 184514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_ipa/include", 194514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_ipa/include/old", 204514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_util/include", 214514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/mempool/include", 224514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_phase/include", 234514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_ir/include", 244514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/mpl2mpl/include", 254514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_be/include/cg", 264514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_be/include/be", 274514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_be/include/ad", 284514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_be/include/ad/target", 294514f5e3Sopenharmony_ci "${MAPLEALL_ROOT}/maple_driver/include", 304514f5e3Sopenharmony_ci] 314514f5e3Sopenharmony_ci 324514f5e3Sopenharmony_cisrc_libmplphase = [ 334514f5e3Sopenharmony_ci "src/phase_impl.cpp", 344514f5e3Sopenharmony_ci "src/maple_phase.cpp", 354514f5e3Sopenharmony_ci "src/maple_phase_manager.cpp", 364514f5e3Sopenharmony_ci "src/phase_driver.cpp", 374514f5e3Sopenharmony_ci "src/maple_phase_support.cpp", 384514f5e3Sopenharmony_ci] 394514f5e3Sopenharmony_ci 404514f5e3Sopenharmony_ciohos_static_library("libmplphase") { 414514f5e3Sopenharmony_ci stack_protector_ret = false 424514f5e3Sopenharmony_ci if (enable_sanitize) { 434514f5e3Sopenharmony_ci sanitize = { 444514f5e3Sopenharmony_ci cfi = true 454514f5e3Sopenharmony_ci cfi_cross_dso = true 464514f5e3Sopenharmony_ci debug = false 474514f5e3Sopenharmony_ci } 484514f5e3Sopenharmony_ci branch_protector_ret = "pac_ret" 494514f5e3Sopenharmony_ci } 504514f5e3Sopenharmony_ci configs = [ "${MAPLEALL_ROOT}:mapleallcompilecfg" ] 514514f5e3Sopenharmony_ci sources = src_libmplphase 524514f5e3Sopenharmony_ci include_dirs = include_libmplphase 534514f5e3Sopenharmony_ci external_deps = [ "bounds_checking_function:libsec_static" ] 544514f5e3Sopenharmony_ci output_dir = "${root_out_dir}/lib/${HOST_ARCH}" 554514f5e3Sopenharmony_ci part_name = "ets_runtime" 564514f5e3Sopenharmony_ci subsystem_name = "arkcompiler" 574514f5e3Sopenharmony_ci} 58