112636162Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
212636162Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
312636162Sopenharmony_ci# you may not use this file except in compliance with the License.
412636162Sopenharmony_ci# You may obtain a copy of the License at
512636162Sopenharmony_ci#
612636162Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
712636162Sopenharmony_ci#
812636162Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
912636162Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1012636162Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1112636162Sopenharmony_ci# See the License for the specific language governing permissions and
1212636162Sopenharmony_ci# limitations under the License.
1312636162Sopenharmony_ci
1412636162Sopenharmony_ciimport("//build/ohos.gni")
1512636162Sopenharmony_ci
1612636162Sopenharmony_ciconfig("ability_config") {
1712636162Sopenharmony_ci  visibility = [ ":*" ]
1812636162Sopenharmony_ci  cflags = []
1912636162Sopenharmony_ci  if (target_cpu == "arm") {
2012636162Sopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
2112636162Sopenharmony_ci  }
2212636162Sopenharmony_ci}
2312636162Sopenharmony_ci
2412636162Sopenharmony_ciohos_shared_library("driver_extension") {
2512636162Sopenharmony_ci  include_dirs = [ "include" ]
2612636162Sopenharmony_ci
2712636162Sopenharmony_ci  sources = [
2812636162Sopenharmony_ci    "src/driver_extension.cpp",
2912636162Sopenharmony_ci    "src/driver_extension_context.cpp",
3012636162Sopenharmony_ci    "src/js_driver_extension.cpp",
3112636162Sopenharmony_ci    "src/js_driver_extension_context.cpp",
3212636162Sopenharmony_ci  ]
3312636162Sopenharmony_ci
3412636162Sopenharmony_ci  external_deps = [
3512636162Sopenharmony_ci    "ability_base:want",
3612636162Sopenharmony_ci    "ability_runtime:ability_connect_callback_stub",
3712636162Sopenharmony_ci    "ability_runtime:ability_context_native",
3812636162Sopenharmony_ci    "ability_runtime:ability_manager",
3912636162Sopenharmony_ci    "ability_runtime:abilitykit_native",
4012636162Sopenharmony_ci    "ability_runtime:app_context",
4112636162Sopenharmony_ci    "ability_runtime:extensionkit_native",
4212636162Sopenharmony_ci    "ability_runtime:napi_common",
4312636162Sopenharmony_ci    "ability_runtime:runtime",
4412636162Sopenharmony_ci    "c_utils:utils",
4512636162Sopenharmony_ci    "eventhandler:libeventhandler",
4612636162Sopenharmony_ci    "hilog:libhilog",
4712636162Sopenharmony_ci    "hitrace:hitrace_meter",
4812636162Sopenharmony_ci    "ipc:ipc_core",
4912636162Sopenharmony_ci    "ipc:ipc_napi",
5012636162Sopenharmony_ci    "napi:ace_napi",
5112636162Sopenharmony_ci  ]
5212636162Sopenharmony_ci  cflags_cc = [
5312636162Sopenharmony_ci    "-fno-asynchronous-unwind-tables",
5412636162Sopenharmony_ci    "-fno-unwind-tables",
5512636162Sopenharmony_ci    "-Os",
5612636162Sopenharmony_ci  ]
5712636162Sopenharmony_ci
5812636162Sopenharmony_ci  subsystem_name = "hdf"
5912636162Sopenharmony_ci  part_name = "external_device_manager"
6012636162Sopenharmony_ci}
6112636162Sopenharmony_ci
6212636162Sopenharmony_ciohos_shared_library("driver_extension_module") {
6312636162Sopenharmony_ci  include_dirs = [ "include" ]
6412636162Sopenharmony_ci
6512636162Sopenharmony_ci  sources = [ "src/driver_extension_module_loader.cpp" ]
6612636162Sopenharmony_ci
6712636162Sopenharmony_ci  configs = [ ":ability_config" ]
6812636162Sopenharmony_ci
6912636162Sopenharmony_ci  deps = [ ":driver_extension" ]
7012636162Sopenharmony_ci
7112636162Sopenharmony_ci  external_deps = [
7212636162Sopenharmony_ci    "ability_runtime:ability_manager",
7312636162Sopenharmony_ci    "ability_runtime:extensionkit_native",
7412636162Sopenharmony_ci    "napi:ace_napi",
7512636162Sopenharmony_ci  ]
7612636162Sopenharmony_ci
7712636162Sopenharmony_ci  relative_install_dir = "extensionability/"
7812636162Sopenharmony_ci  subsystem_name = "hdf"
7912636162Sopenharmony_ci  part_name = "external_device_manager"
8012636162Sopenharmony_ci}
81