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