1# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/config/components/hdi/hdi.gni")
15import("//build/ohos.gni")
16import("./../usb.gni")
17group("usbhost_acm") {
18  deps = [ ":libusbhost_acm" ]
19}
20
21ohos_shared_library("libusbhost_acm") {
22  sanitize = {
23    integer_overflow = true
24    ubsan = true
25    boundary_sanitize = true
26    cfi = true
27    cfi_cross_dso = true
28    debug = false
29  }
30  branch_protector_ret = "pac_ret"
31
32  sources = [ "src/usb_serial.c" ]
33
34  include_dirs = [
35    "./../ddk/common/include",
36    "./../ddk/host/include",
37    "./../interfaces/ddk/common",
38    "./../interfaces/ddk/host",
39    "./../gadget/function/include",
40    "./../../../hdf_core/framework/model/usb/include",
41    "include",
42    "${usb_driver_path}/utils/include",
43  ]
44
45  deps = [ "./../ddk:libusb_ddk_host" ]
46
47  if (is_standard_system) {
48    external_deps = [
49      "hdf_core:libhdf_host",
50      "hdf_core:libhdf_utils",
51      "hilog:libhilog",
52    ]
53
54    if (usb_c_utils_enable) {
55      external_deps += [ "c_utils:utils" ]
56    }
57  } else {
58    external_deps = [ "hilog:libhilog" ]
59  }
60
61  shlib_type = "hdi"
62  install_images = [ chipset_base_dir ]
63  subsystem_name = "hdf"
64  part_name = "drivers_peripheral_usb"
65}
66
67ohos_shared_library("libusbhost_acm_rawapi") {
68  sanitize = {
69    integer_overflow = true
70    ubsan = true
71    boundary_sanitize = true
72    cfi = true
73    cfi_cross_dso = true
74    debug = false
75  }
76  branch_protector_ret = "pac_ret"
77
78  sources = [ "src/usb_serial_rawapi.c" ]
79
80  include_dirs = [
81    "./../ddk/common/include",
82    "./../usb/ddk/host/include",
83    "./../gadget/function/include",
84    "./../interfaces/ddk/common",
85    "./../interfaces/ddk/host",
86    "./../../../hdf_core/framework/model/usb/include",
87    "include",
88    "${usb_driver_path}/utils/include",
89  ]
90
91  deps = [ "./../ddk:libusb_ddk_host" ]
92
93  if (is_standard_system) {
94    external_deps = [
95      "hdf_core:libhdf_host",
96      "hdf_core:libhdf_utils",
97      "hilog:libhilog",
98    ]
99    if (usb_c_utils_enable) {
100      external_deps += [ "c_utils:utils" ]
101    }
102  } else {
103    external_deps = [ "hilog:libhilog" ]
104  }
105
106  shlib_type = "hdi"
107  install_images = [ chipset_base_dir ]
108  subsystem_name = "hdf"
109  part_name = "drivers_peripheral_usb"
110}
111