169570cc8Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
269570cc8Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
369570cc8Sopenharmony_ci# you may not use this file except in compliance with the License.
469570cc8Sopenharmony_ci# You may obtain a copy of the License at
569570cc8Sopenharmony_ci#
669570cc8Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0
769570cc8Sopenharmony_ci#
869570cc8Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
969570cc8Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1069570cc8Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1169570cc8Sopenharmony_ci# See the License for the specific language governing permissions and
1269570cc8Sopenharmony_ci# limitations under the License.
1369570cc8Sopenharmony_ci
1469570cc8Sopenharmony_ciimport("//base/startup/appspawn/appspawn.gni")
1569570cc8Sopenharmony_ciimport("//build/ohos.gni")
1669570cc8Sopenharmony_ci
1769570cc8Sopenharmony_ciohos_shared_library("nativespawn") {
1869570cc8Sopenharmony_ci  sources = [ "native_adapter.cpp" ]
1969570cc8Sopenharmony_ci  include_dirs = [
2069570cc8Sopenharmony_ci    ".",
2169570cc8Sopenharmony_ci    "${appspawn_path}/common",
2269570cc8Sopenharmony_ci    "${appspawn_path}/standard",
2369570cc8Sopenharmony_ci    "${appspawn_path}/util/include",
2469570cc8Sopenharmony_ci  ]
2569570cc8Sopenharmony_ci  deps = [
2669570cc8Sopenharmony_ci    "${appspawn_path}/modules/module_engine:libappspawn_module_engine",
2769570cc8Sopenharmony_ci    "${appspawn_path}/util:libappspawn_util",
2869570cc8Sopenharmony_ci  ]
2969570cc8Sopenharmony_ci  defines = []
3069570cc8Sopenharmony_ci  if (asan_detector || is_asan) {
3169570cc8Sopenharmony_ci    defines += [ "ASAN_DETECTOR" ]
3269570cc8Sopenharmony_ci  }
3369570cc8Sopenharmony_ci  external_deps = [
3469570cc8Sopenharmony_ci    "ability_runtime:app_manager",
3569570cc8Sopenharmony_ci    "ability_runtime:appkit_native",
3669570cc8Sopenharmony_ci    "ability_runtime:runtime",
3769570cc8Sopenharmony_ci    "c_utils:utils",
3869570cc8Sopenharmony_ci    "eventhandler:libeventhandler",
3969570cc8Sopenharmony_ci    "hilog:libhilog",
4069570cc8Sopenharmony_ci    "init:libbegetutil",
4169570cc8Sopenharmony_ci    "napi:ace_napi",
4269570cc8Sopenharmony_ci  ]
4369570cc8Sopenharmony_ci  subsystem_name = "${subsystem_name}"
4469570cc8Sopenharmony_ci  part_name = "${part_name}"
4569570cc8Sopenharmony_ci  install_enable = true
4669570cc8Sopenharmony_ci  if (target_cpu == "arm64" || target_cpu == "x86_64" ||
4769570cc8Sopenharmony_ci      target_cpu == "riscv64") {
4869570cc8Sopenharmony_ci    module_install_dir = "lib64/appspawn/nativespawn"
4969570cc8Sopenharmony_ci  } else {
5069570cc8Sopenharmony_ci    module_install_dir = "lib/appspawn/nativespawn"
5169570cc8Sopenharmony_ci  }
5269570cc8Sopenharmony_ci}
53