1094332d3Sopenharmony_ci# Copyright (c) 2022-2023 Huawei Device Co., Ltd.
2094332d3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3094332d3Sopenharmony_ci# you may not use this file except in compliance with the License.
4094332d3Sopenharmony_ci# You may obtain a copy of the License at
5094332d3Sopenharmony_ci#
6094332d3Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7094332d3Sopenharmony_ci#
8094332d3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9094332d3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10094332d3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11094332d3Sopenharmony_ci# See the License for the specific language governing permissions and
12094332d3Sopenharmony_ci# limitations under the License.
13094332d3Sopenharmony_ci
14094332d3Sopenharmony_ciimport("//build/ohos.gni")
15094332d3Sopenharmony_ciimport("../vibrator.gni")
16094332d3Sopenharmony_ci
17094332d3Sopenharmony_ciif (defined(ohos_lite)) {
18094332d3Sopenharmony_ci  group("hdf_vibrator_service") {
19094332d3Sopenharmony_ci    deps = []
20094332d3Sopenharmony_ci    public_configs = []
21094332d3Sopenharmony_ci  }
22094332d3Sopenharmony_ci} else {
23094332d3Sopenharmony_ci  config("vibrator_vdi_config") {
24094332d3Sopenharmony_ci    include_dirs = [
25094332d3Sopenharmony_ci      "../interfaces/include",
26094332d3Sopenharmony_ci      "../interfaces/v1_1",
27094332d3Sopenharmony_ci    ]
28094332d3Sopenharmony_ci  }
29094332d3Sopenharmony_ci
30094332d3Sopenharmony_ci  ohos_static_library("libvibrator_vdi_config") {
31094332d3Sopenharmony_ci    public_configs = [ ":vibrator_vdi_config" ]
32094332d3Sopenharmony_ci  }
33094332d3Sopenharmony_ci
34094332d3Sopenharmony_ci  ohos_shared_library("libvibrator_interface_service_1.3") {
35094332d3Sopenharmony_ci    include_dirs = [
36094332d3Sopenharmony_ci      "../interfaces/include/",
37094332d3Sopenharmony_ci      ".",
38094332d3Sopenharmony_ci      "../interfaces/v1_1/",
39094332d3Sopenharmony_ci      "../utils/include",
40094332d3Sopenharmony_ci    ]
41094332d3Sopenharmony_ci    sources = [ "vibrator_if_service.cpp" ]
42094332d3Sopenharmony_ci
43094332d3Sopenharmony_ci    cflags = [
44094332d3Sopenharmony_ci      "-Wall",
45094332d3Sopenharmony_ci      "-Wextra",
46094332d3Sopenharmony_ci      "-Werror",
47094332d3Sopenharmony_ci      "-fsigned-char",
48094332d3Sopenharmony_ci      "-fno-common",
49094332d3Sopenharmony_ci      "-fno-strict-aliasing",
50094332d3Sopenharmony_ci    ]
51094332d3Sopenharmony_ci
52094332d3Sopenharmony_ci    if (is_standard_system) {
53094332d3Sopenharmony_ci      external_deps = [
54094332d3Sopenharmony_ci        "drivers_interface_vibrator:libvibrator_stub_1.3",
55094332d3Sopenharmony_ci        "hdf_core:libhdf_host",
56094332d3Sopenharmony_ci        "hilog:libhilog",
57094332d3Sopenharmony_ci        "hitrace:hitrace_meter",
58094332d3Sopenharmony_ci        "ipc:ipc_single",
59094332d3Sopenharmony_ci      ]
60094332d3Sopenharmony_ci      if (c_utils_enable) {
61094332d3Sopenharmony_ci        external_deps += [ "c_utils:utils" ]
62094332d3Sopenharmony_ci      }
63094332d3Sopenharmony_ci    } else {
64094332d3Sopenharmony_ci      external_deps = [
65094332d3Sopenharmony_ci        "hilog:libhilog",
66094332d3Sopenharmony_ci        "ipc:ipc_single",
67094332d3Sopenharmony_ci      ]
68094332d3Sopenharmony_ci    }
69094332d3Sopenharmony_ci
70094332d3Sopenharmony_ci    install_images = [ chipset_base_dir ]
71094332d3Sopenharmony_ci    subsystem_name = "hdf"
72094332d3Sopenharmony_ci    part_name = "drivers_peripheral_vibrator"
73094332d3Sopenharmony_ci  }
74094332d3Sopenharmony_ci
75094332d3Sopenharmony_ci  ohos_shared_library("libvibrator_driver") {
76094332d3Sopenharmony_ci    include_dirs = [
77094332d3Sopenharmony_ci      "../interfaces/include/",
78094332d3Sopenharmony_ci      "../utils/include",
79094332d3Sopenharmony_ci    ]
80094332d3Sopenharmony_ci    sources = [ "vibrator_if_driver.cpp" ]
81094332d3Sopenharmony_ci
82094332d3Sopenharmony_ci    cflags = [
83094332d3Sopenharmony_ci      "-Wall",
84094332d3Sopenharmony_ci      "-Wextra",
85094332d3Sopenharmony_ci      "-Werror",
86094332d3Sopenharmony_ci      "-fsigned-char",
87094332d3Sopenharmony_ci      "-fno-common",
88094332d3Sopenharmony_ci      "-fno-strict-aliasing",
89094332d3Sopenharmony_ci    ]
90094332d3Sopenharmony_ci
91094332d3Sopenharmony_ci    if (is_standard_system) {
92094332d3Sopenharmony_ci      external_deps = [
93094332d3Sopenharmony_ci        "drivers_interface_vibrator:libvibrator_stub_1.1",
94094332d3Sopenharmony_ci        "drivers_interface_vibrator:libvibrator_stub_1.2",
95094332d3Sopenharmony_ci        "drivers_interface_vibrator:libvibrator_stub_1.3",
96094332d3Sopenharmony_ci        "hdf_core:libhdf_host",
97094332d3Sopenharmony_ci        "hdf_core:libhdf_ipc_adapter",
98094332d3Sopenharmony_ci        "hdf_core:libhdf_utils",
99094332d3Sopenharmony_ci        "hdf_core:libhdi",
100094332d3Sopenharmony_ci        "hilog:libhilog",
101094332d3Sopenharmony_ci        "ipc:ipc_single",
102094332d3Sopenharmony_ci      ]
103094332d3Sopenharmony_ci      if (c_utils_enable) {
104094332d3Sopenharmony_ci        external_deps += [ "c_utils:utils" ]
105094332d3Sopenharmony_ci      }
106094332d3Sopenharmony_ci    } else {
107094332d3Sopenharmony_ci      external_deps = [
108094332d3Sopenharmony_ci        "hilog:libhilog",
109094332d3Sopenharmony_ci        "ipc:ipc_single",
110094332d3Sopenharmony_ci      ]
111094332d3Sopenharmony_ci    }
112094332d3Sopenharmony_ci
113094332d3Sopenharmony_ci    shlib_type = "hdi"
114094332d3Sopenharmony_ci    install_images = [ chipset_base_dir ]
115094332d3Sopenharmony_ci    subsystem_name = "hdf"
116094332d3Sopenharmony_ci    part_name = "drivers_peripheral_vibrator"
117094332d3Sopenharmony_ci  }
118094332d3Sopenharmony_ci
119094332d3Sopenharmony_ci  group("hdf_vibrator_service") {
120094332d3Sopenharmony_ci    deps = [
121094332d3Sopenharmony_ci      ":libvibrator_driver",
122094332d3Sopenharmony_ci      ":libvibrator_interface_service_1.3",
123094332d3Sopenharmony_ci    ]
124094332d3Sopenharmony_ci  }
125094332d3Sopenharmony_ci}
126