1c1d0c72aSopenharmony_ci# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
2c1d0c72aSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3c1d0c72aSopenharmony_ci# you may not use this file except in compliance with the License.
4c1d0c72aSopenharmony_ci# You may obtain a copy of the License at
5c1d0c72aSopenharmony_ci#
6c1d0c72aSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7c1d0c72aSopenharmony_ci#
8c1d0c72aSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9c1d0c72aSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10c1d0c72aSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11c1d0c72aSopenharmony_ci# See the License for the specific language governing permissions and
12c1d0c72aSopenharmony_ci# limitations under the License.
13c1d0c72aSopenharmony_ci
14c1d0c72aSopenharmony_ciimport("//build/ohos.gni")
15c1d0c72aSopenharmony_ciimport("./../../../adapter/uhdf2/uhdf.gni")
16c1d0c72aSopenharmony_ci
17c1d0c72aSopenharmony_cigroup("uhdf_hidl_pkg") {
18c1d0c72aSopenharmony_ci  deps = [ ":libhdi" ]
19c1d0c72aSopenharmony_ci}
20c1d0c72aSopenharmony_ci
21c1d0c72aSopenharmony_cihdf_framework_path = "./../../../framework"
22c1d0c72aSopenharmony_cihdf_interface_path = "./../../../interfaces"
23c1d0c72aSopenharmony_cihdf_uhdf_path = "./.."
24c1d0c72aSopenharmony_ci
25c1d0c72aSopenharmony_ciconfig("libhdi_pub_config") {
26c1d0c72aSopenharmony_ci  visibility = [ ":*" ]
27c1d0c72aSopenharmony_ci
28c1d0c72aSopenharmony_ci  include_dirs = [
29c1d0c72aSopenharmony_ci    "$hdf_interface_path/inner_api/hdi",
30c1d0c72aSopenharmony_ci    "$hdf_interface_path/inner_api/hdi/base",
31c1d0c72aSopenharmony_ci    "$hdf_interface_path/inner_api/core",
32c1d0c72aSopenharmony_ci  ]
33c1d0c72aSopenharmony_ci}
34c1d0c72aSopenharmony_ciif (defined(ohos_lite)) {
35c1d0c72aSopenharmony_ci  ohos_shared_library("libhdi") {
36c1d0c72aSopenharmony_ci    output_extension = "z.so"
37c1d0c72aSopenharmony_ci
38c1d0c72aSopenharmony_ci    defines = []
39c1d0c72aSopenharmony_ci    if (target_cpu == "arm64" || target_cpu == "x86_64") {
40c1d0c72aSopenharmony_ci      defines += [ "__ARCH64__" ]
41c1d0c72aSopenharmony_ci    }
42c1d0c72aSopenharmony_ci
43c1d0c72aSopenharmony_ci    include_dirs = [
44c1d0c72aSopenharmony_ci      "$hdf_interface_path/inner_api/utils",
45c1d0c72aSopenharmony_ci      "$hdf_interface_path/inner_api/osal/uhdf",
46c1d0c72aSopenharmony_ci    ]
47c1d0c72aSopenharmony_ci    all_dependent_configs = [ ":libhdi_pub_config" ]
48c1d0c72aSopenharmony_ci    sources = [ "src/hdi_support.cpp" ]
49c1d0c72aSopenharmony_ci
50c1d0c72aSopenharmony_ci    deps = [
51c1d0c72aSopenharmony_ci      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
52c1d0c72aSopenharmony_ci      "//third_party/bounds_checking_function:libsec_shared",
53c1d0c72aSopenharmony_ci    ]
54c1d0c72aSopenharmony_ci
55c1d0c72aSopenharmony_ci    defines += [ "__USER__" ]
56c1d0c72aSopenharmony_ci
57c1d0c72aSopenharmony_ci    # install_images = [ system_base_dir ]
58c1d0c72aSopenharmony_ci    subsystem_name = "hdf"
59c1d0c72aSopenharmony_ci    part_name = "hdf_core"
60c1d0c72aSopenharmony_ci  }
61c1d0c72aSopenharmony_ci} else {
62c1d0c72aSopenharmony_ci  ohos_shared_library("libhdi") {
63c1d0c72aSopenharmony_ci    branch_protector_ret = "pac_ret"
64c1d0c72aSopenharmony_ci    if (target_cpu == "arm64" || target_cpu == "x86_64") {
65c1d0c72aSopenharmony_ci      defines = [ "__ARCH64__" ]
66c1d0c72aSopenharmony_ci    }
67c1d0c72aSopenharmony_ci
68c1d0c72aSopenharmony_ci    include_dirs = [
69c1d0c72aSopenharmony_ci      "$hdf_framework_path/core/shared/include",
70c1d0c72aSopenharmony_ci      "$hdf_framework_path/core/host/include",
71c1d0c72aSopenharmony_ci      "$hdf_framework_path/core/manager/include",
72c1d0c72aSopenharmony_ci      "$hdf_framework_path/include/utils",
73c1d0c72aSopenharmony_ci      "$hdf_framework_path/include/osal",
74c1d0c72aSopenharmony_ci      "$hdf_framework_path/utils/include",
75c1d0c72aSopenharmony_ci      "$hdf_framework_path/include/core",
76c1d0c72aSopenharmony_ci      "$hdf_uhdf_path/include/devhost",
77c1d0c72aSopenharmony_ci      "$hdf_uhdf_path/devhost/include",
78c1d0c72aSopenharmony_ci      "$hdf_uhdf_path/devmgr/include",
79c1d0c72aSopenharmony_ci      "$hdf_uhdf_path/host/include",
80c1d0c72aSopenharmony_ci      "$hdf_uhdf_path/manager/include",
81c1d0c72aSopenharmony_ci      "$hdf_uhdf_path/include/hdi",
82c1d0c72aSopenharmony_ci      "$hdf_uhdf_path/ipc/include",
83c1d0c72aSopenharmony_ci      "$hdf_interface_path/inner_api/ipc",
84c1d0c72aSopenharmony_ci      "$hdf_interface_path/inner_api/utils",
85c1d0c72aSopenharmony_ci      "$hdf_interface_path/inner_api/host/shared",
86c1d0c72aSopenharmony_ci      "$hdf_interface_path/inner_api/host/uhdf",
87c1d0c72aSopenharmony_ci    ]
88c1d0c72aSopenharmony_ci    public_configs = [ ":libhdi_pub_config" ]
89c1d0c72aSopenharmony_ci    sources = [
90c1d0c72aSopenharmony_ci      "$hdf_framework_path/core/shared/src/service_status.c",
91c1d0c72aSopenharmony_ci      "src/buffer_util.c",
92c1d0c72aSopenharmony_ci      "src/devmgr_client.c",
93c1d0c72aSopenharmony_ci      "src/hdi_smq_syncer.cpp",
94c1d0c72aSopenharmony_ci      "src/hdi_support.cpp",
95c1d0c72aSopenharmony_ci      "src/idevmgr_client.cpp",
96c1d0c72aSopenharmony_ci      "src/iservmgr_client.cpp",
97c1d0c72aSopenharmony_ci      "src/native_buffer.cpp",
98c1d0c72aSopenharmony_ci      "src/object_collector.cpp",
99c1d0c72aSopenharmony_ci      "src/servmgr_client.c",
100c1d0c72aSopenharmony_ci      "src/servstat_listener.c",
101c1d0c72aSopenharmony_ci      "src/servstat_listener_stub.cpp",
102c1d0c72aSopenharmony_ci      "src/stub_collector.cpp",
103c1d0c72aSopenharmony_ci    ]
104c1d0c72aSopenharmony_ci
105c1d0c72aSopenharmony_ci    if (is_standard_system) {
106c1d0c72aSopenharmony_ci      deps = [
107c1d0c72aSopenharmony_ci        "../ipc:libhdf_ipc_adapter",
108c1d0c72aSopenharmony_ci        "../pub_utils:libpub_utils",
109c1d0c72aSopenharmony_ci      ]
110c1d0c72aSopenharmony_ci      external_deps = [
111c1d0c72aSopenharmony_ci        "c_utils:utils",
112c1d0c72aSopenharmony_ci        "hilog:libhilog",
113c1d0c72aSopenharmony_ci        "ipc:ipc_single",
114c1d0c72aSopenharmony_ci        "samgr:samgr_proxy",
115c1d0c72aSopenharmony_ci      ]
116c1d0c72aSopenharmony_ci    } else {
117c1d0c72aSopenharmony_ci      external_deps = [
118c1d0c72aSopenharmony_ci        "hilog:libhilog",
119c1d0c72aSopenharmony_ci        "ipc:ipc_single",
120c1d0c72aSopenharmony_ci        "samgr:samgr_proxy",
121c1d0c72aSopenharmony_ci      ]
122c1d0c72aSopenharmony_ci    }
123c1d0c72aSopenharmony_ci
124c1d0c72aSopenharmony_ci    innerapi_tags = [
125c1d0c72aSopenharmony_ci      "chipsetsdk",
126c1d0c72aSopenharmony_ci      "platformsdk_indirect",
127c1d0c72aSopenharmony_ci    ]
128c1d0c72aSopenharmony_ci    install_images = [
129c1d0c72aSopenharmony_ci      system_base_dir,
130c1d0c72aSopenharmony_ci      updater_base_dir,
131c1d0c72aSopenharmony_ci    ]
132c1d0c72aSopenharmony_ci    subsystem_name = "hdf"
133c1d0c72aSopenharmony_ci    part_name = "hdf_core"
134c1d0c72aSopenharmony_ci  }
135c1d0c72aSopenharmony_ci}
136