xref: /base/sensors/sensor/services/BUILD.gn (revision bae4d13c)
1bae4d13cSopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
2bae4d13cSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3bae4d13cSopenharmony_ci# you may not use this file except in compliance with the License.
4bae4d13cSopenharmony_ci# You may obtain a copy of the License at
5bae4d13cSopenharmony_ci#
6bae4d13cSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7bae4d13cSopenharmony_ci#
8bae4d13cSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9bae4d13cSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10bae4d13cSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11bae4d13cSopenharmony_ci# See the License for the specific language governing permissions and
12bae4d13cSopenharmony_ci# limitations under the License.
13bae4d13cSopenharmony_ci
14bae4d13cSopenharmony_ciimport("//build/ohos.gni")
15bae4d13cSopenharmony_ciimport("./../sensor.gni")
16bae4d13cSopenharmony_ci
17bae4d13cSopenharmony_ciohos_shared_library("libsensor_service") {
18bae4d13cSopenharmony_ci  sources = [
19bae4d13cSopenharmony_ci    "src/client_info.cpp",
20bae4d13cSopenharmony_ci    "src/fifo_cache_data.cpp",
21bae4d13cSopenharmony_ci    "src/flush_info_record.cpp",
22bae4d13cSopenharmony_ci    "src/sensor_dump.cpp",
23bae4d13cSopenharmony_ci    "src/sensor_manager.cpp",
24bae4d13cSopenharmony_ci    "src/sensor_power_policy.cpp",
25bae4d13cSopenharmony_ci    "src/sensor_service.cpp",
26bae4d13cSopenharmony_ci    "src/sensor_service_stub.cpp",
27bae4d13cSopenharmony_ci    "src/stream_server.cpp",
28bae4d13cSopenharmony_ci  ]
29bae4d13cSopenharmony_ci
30bae4d13cSopenharmony_ci  include_dirs = [
31bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/frameworks/native/include",
32bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/interfaces/inner_api",
33bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/services/include",
34bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/utils/common/include",
35bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/utils/ipc/include",
36bae4d13cSopenharmony_ci  ]
37bae4d13cSopenharmony_ci
38bae4d13cSopenharmony_ci  branch_protector_ret = "pac_ret"
39bae4d13cSopenharmony_ci  sanitize = {
40bae4d13cSopenharmony_ci    cfi = true
41bae4d13cSopenharmony_ci    cfi_cross_dso = true
42bae4d13cSopenharmony_ci    debug = false
43bae4d13cSopenharmony_ci  }
44bae4d13cSopenharmony_ci
45bae4d13cSopenharmony_ci  defines = sensor_default_defines
46bae4d13cSopenharmony_ci
47bae4d13cSopenharmony_ci  deps = [
48bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/utils/common:libsensor_utils",
49bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/utils/ipc:libsensor_ipc",
50bae4d13cSopenharmony_ci  ]
51bae4d13cSopenharmony_ci
52bae4d13cSopenharmony_ci  if (sensor_rust_socket_ipc) {
53bae4d13cSopenharmony_ci    deps +=
54bae4d13cSopenharmony_ci        [ "$SUBSYSTEM_DIR/rust/utils/socket_ipc_rust_ffi:sensor_rust_util_ffi" ]
55bae4d13cSopenharmony_ci  }
56bae4d13cSopenharmony_ci
57bae4d13cSopenharmony_ci  external_deps = [
58bae4d13cSopenharmony_ci    "access_token:libaccesstoken_sdk",
59bae4d13cSopenharmony_ci    "access_token:libtokenid_sdk",
60bae4d13cSopenharmony_ci    "c_utils:utils",
61bae4d13cSopenharmony_ci    "hilog:libhilog",
62bae4d13cSopenharmony_ci    "ipc:ipc_single",
63bae4d13cSopenharmony_ci    "safwk:system_ability_fwk",
64bae4d13cSopenharmony_ci    "samgr:samgr_proxy",
65bae4d13cSopenharmony_ci  ]
66bae4d13cSopenharmony_ci
67bae4d13cSopenharmony_ci  if (sensor_memmgr_enable) {
68bae4d13cSopenharmony_ci    defines += [ "MEMMGR_ENABLE" ]
69bae4d13cSopenharmony_ci    external_deps += [ "memmgr:memmgrclient" ]
70bae4d13cSopenharmony_ci  }
71bae4d13cSopenharmony_ci
72bae4d13cSopenharmony_ci  if (hiviewdfx_hisysevent_enable) {
73bae4d13cSopenharmony_ci    external_deps += [ "hisysevent:libhisysevent" ]
74bae4d13cSopenharmony_ci  }
75bae4d13cSopenharmony_ci
76bae4d13cSopenharmony_ci  if (hiviewdfx_hitrace_enable) {
77bae4d13cSopenharmony_ci    external_deps += [ "hitrace:hitrace_meter" ]
78bae4d13cSopenharmony_ci  }
79bae4d13cSopenharmony_ci
80bae4d13cSopenharmony_ci  if (hdf_drivers_interface_sensor) {
81bae4d13cSopenharmony_ci    sources += [
82bae4d13cSopenharmony_ci      "hdi_connection/adapter/src/hdi_connection.cpp",
83bae4d13cSopenharmony_ci      "hdi_connection/adapter/src/sensor_event_callback.cpp",
84bae4d13cSopenharmony_ci      "hdi_connection/interface/src/sensor_hdi_connection.cpp",
85bae4d13cSopenharmony_ci      "src/sensor_data_processer.cpp",
86bae4d13cSopenharmony_ci    ]
87bae4d13cSopenharmony_ci
88bae4d13cSopenharmony_ci    include_dirs += [
89bae4d13cSopenharmony_ci      "$SUBSYSTEM_DIR/services/hdi_connection/interface/include",
90bae4d13cSopenharmony_ci      "$SUBSYSTEM_DIR/services/hdi_connection/adapter/include",
91bae4d13cSopenharmony_ci    ]
92bae4d13cSopenharmony_ci
93bae4d13cSopenharmony_ci    if (sensor_build_eng) {
94bae4d13cSopenharmony_ci      sources += [
95bae4d13cSopenharmony_ci        "hdi_connection/adapter/src/compatible_connection.cpp",
96bae4d13cSopenharmony_ci        "hdi_connection/hardware/src/hdi_service_impl.cpp",
97bae4d13cSopenharmony_ci      ]
98bae4d13cSopenharmony_ci
99bae4d13cSopenharmony_ci      include_dirs +=
100bae4d13cSopenharmony_ci          [ "$SUBSYSTEM_DIR/services/hdi_connection/hardware/include" ]
101bae4d13cSopenharmony_ci    }
102bae4d13cSopenharmony_ci
103bae4d13cSopenharmony_ci    external_deps += [ "drivers_interface_sensor:libsensor_proxy_2.0" ]
104bae4d13cSopenharmony_ci  }
105bae4d13cSopenharmony_ci
106bae4d13cSopenharmony_ci  shlib_type = "sa"
107bae4d13cSopenharmony_ci  part_name = "sensor"
108bae4d13cSopenharmony_ci  subsystem_name = "sensors"
109bae4d13cSopenharmony_ci}
110bae4d13cSopenharmony_ci
111bae4d13cSopenharmony_ci##########################################################################
112bae4d13cSopenharmony_ciohos_static_library("libsensor_service_static") {
113bae4d13cSopenharmony_ci  sources = [
114bae4d13cSopenharmony_ci    "src/client_info.cpp",
115bae4d13cSopenharmony_ci    "src/fifo_cache_data.cpp",
116bae4d13cSopenharmony_ci    "src/flush_info_record.cpp",
117bae4d13cSopenharmony_ci    "src/sensor_dump.cpp",
118bae4d13cSopenharmony_ci    "src/sensor_manager.cpp",
119bae4d13cSopenharmony_ci    "src/sensor_power_policy.cpp",
120bae4d13cSopenharmony_ci    "src/sensor_service.cpp",
121bae4d13cSopenharmony_ci    "src/sensor_service_stub.cpp",
122bae4d13cSopenharmony_ci    "src/stream_server.cpp",
123bae4d13cSopenharmony_ci  ]
124bae4d13cSopenharmony_ci
125bae4d13cSopenharmony_ci  include_dirs = [
126bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/frameworks/native/include",
127bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/interfaces/inner_api",
128bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/services/include",
129bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/utils/common/include",
130bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/utils/ipc/include",
131bae4d13cSopenharmony_ci  ]
132bae4d13cSopenharmony_ci
133bae4d13cSopenharmony_ci  branch_protector_ret = "pac_ret"
134bae4d13cSopenharmony_ci  sanitize = {
135bae4d13cSopenharmony_ci    cfi = true
136bae4d13cSopenharmony_ci    cfi_cross_dso = true
137bae4d13cSopenharmony_ci    debug = false
138bae4d13cSopenharmony_ci  }
139bae4d13cSopenharmony_ci
140bae4d13cSopenharmony_ci  defines = sensor_default_defines
141bae4d13cSopenharmony_ci
142bae4d13cSopenharmony_ci  deps = [
143bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/utils/common:libsensor_utils",
144bae4d13cSopenharmony_ci    "$SUBSYSTEM_DIR/utils/ipc:libsensor_ipc",
145bae4d13cSopenharmony_ci  ]
146bae4d13cSopenharmony_ci
147bae4d13cSopenharmony_ci  if (sensor_rust_socket_ipc) {
148bae4d13cSopenharmony_ci    deps +=
149bae4d13cSopenharmony_ci        [ "$SUBSYSTEM_DIR/rust/utils/socket_ipc_rust_ffi:sensor_rust_util_ffi" ]
150bae4d13cSopenharmony_ci  }
151bae4d13cSopenharmony_ci
152bae4d13cSopenharmony_ci  external_deps = [
153bae4d13cSopenharmony_ci    "access_token:libaccesstoken_sdk",
154bae4d13cSopenharmony_ci    "access_token:libtokenid_sdk",
155bae4d13cSopenharmony_ci    "c_utils:utils",
156bae4d13cSopenharmony_ci    "hilog:libhilog",
157bae4d13cSopenharmony_ci    "ipc:ipc_single",
158bae4d13cSopenharmony_ci    "safwk:system_ability_fwk",
159bae4d13cSopenharmony_ci    "samgr:samgr_proxy",
160bae4d13cSopenharmony_ci  ]
161bae4d13cSopenharmony_ci
162bae4d13cSopenharmony_ci  if (sensor_memmgr_enable) {
163bae4d13cSopenharmony_ci    defines += [ "MEMMGR_ENABLE" ]
164bae4d13cSopenharmony_ci    external_deps += [ "memmgr:memmgrclient" ]
165bae4d13cSopenharmony_ci  }
166bae4d13cSopenharmony_ci
167bae4d13cSopenharmony_ci  if (hiviewdfx_hisysevent_enable) {
168bae4d13cSopenharmony_ci    external_deps += [ "hisysevent:libhisysevent" ]
169bae4d13cSopenharmony_ci  }
170bae4d13cSopenharmony_ci
171bae4d13cSopenharmony_ci  if (hiviewdfx_hitrace_enable) {
172bae4d13cSopenharmony_ci    external_deps += [ "hitrace:hitrace_meter" ]
173bae4d13cSopenharmony_ci  }
174bae4d13cSopenharmony_ci
175bae4d13cSopenharmony_ci  if (hdf_drivers_interface_sensor) {
176bae4d13cSopenharmony_ci    sources += [
177bae4d13cSopenharmony_ci      "hdi_connection/adapter/src/hdi_connection.cpp",
178bae4d13cSopenharmony_ci      "hdi_connection/adapter/src/sensor_event_callback.cpp",
179bae4d13cSopenharmony_ci      "hdi_connection/interface/src/sensor_hdi_connection.cpp",
180bae4d13cSopenharmony_ci      "src/sensor_data_processer.cpp",
181bae4d13cSopenharmony_ci    ]
182bae4d13cSopenharmony_ci
183bae4d13cSopenharmony_ci    include_dirs += [
184bae4d13cSopenharmony_ci      "$SUBSYSTEM_DIR/services/hdi_connection/interface/include",
185bae4d13cSopenharmony_ci      "$SUBSYSTEM_DIR/services/hdi_connection/adapter/include",
186bae4d13cSopenharmony_ci    ]
187bae4d13cSopenharmony_ci
188bae4d13cSopenharmony_ci    if (sensor_build_eng) {
189bae4d13cSopenharmony_ci      sources += [
190bae4d13cSopenharmony_ci        "hdi_connection/adapter/src/compatible_connection.cpp",
191bae4d13cSopenharmony_ci        "hdi_connection/hardware/src/hdi_service_impl.cpp",
192bae4d13cSopenharmony_ci      ]
193bae4d13cSopenharmony_ci
194bae4d13cSopenharmony_ci      include_dirs +=
195bae4d13cSopenharmony_ci          [ "$SUBSYSTEM_DIR/services/hdi_connection/hardware/include" ]
196bae4d13cSopenharmony_ci    }
197bae4d13cSopenharmony_ci
198bae4d13cSopenharmony_ci    external_deps += [ "drivers_interface_sensor:libsensor_proxy_2.0" ]
199bae4d13cSopenharmony_ci  }
200bae4d13cSopenharmony_ci
201bae4d13cSopenharmony_ci  part_name = "sensor"
202bae4d13cSopenharmony_ci  subsystem_name = "sensors"
203bae4d13cSopenharmony_ci}
204bae4d13cSopenharmony_cigroup("sensor_service_target") {
205bae4d13cSopenharmony_ci  deps = [
206bae4d13cSopenharmony_ci    ":libsensor_service",
207bae4d13cSopenharmony_ci    ":libsensor_service_static",
208bae4d13cSopenharmony_ci  ]
209bae4d13cSopenharmony_ci}
210