# Copyright (c) 2021-2023 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") import("./../../../hdf_core/adapter/uhdf2/uhdf.gni") import("./../usb.gni") group("libusb_core") { deps = [ ":libusb_ddk_device", ":libusb_ddk_host", ":libusb_pnp_manager", ] } ohos_shared_library("libusb_ddk_host") { include_dirs = [ "device/include", "$hdf_framework_path/model/usb/include", "host/include", "./../interfaces/ddk/common", "./../interfaces/ddk/device", "./../interfaces/ddk/host", ] sources = [ "host/src/linux_adapter.c", "host/src/usb_interface_pool.c", "host/src/usb_io_manage.c", "host/src/usb_protocol.c", "host/src/usb_raw_api.c", "host/src/usb_raw_api_library.c", ] if (drivers_peripheral_usb_feature_linux_native_model) { if (defined(defines)) { defines += [ "USB_EVENT_NOTIFY_LINUX_NATIVE_MODE" ] } else { defines = [ "USB_EVENT_NOTIFY_LINUX_NATIVE_MODE" ] } } if (is_standard_system) { external_deps = [ "c_utils:utils", "hdf_core:libhdf_host", "hdf_core:libhdf_utils", "hilog:libhilog", ] } else { external_deps = [ "hilog:libhilog" ] } install_images = [ chipset_base_dir ] subsystem_name = "hdf" part_name = "drivers_peripheral_usb" } ohos_shared_library("libusb_pnp_manager") { include_dirs = [ "$hdf_framework_path/model/usb/include", "host/include", "device/include", ] sources = [ "$hdf_framework_path/model/usb/src/usb_ddk_pnp_loader.c", "$hdf_framework_path/model/usb/src/usb_wrapper.cpp", "device/src/usbfn_uevent_handle.c", "host/src/ddk_device_manager.c", "host/src/ddk_pnp_listener_mgr.c", "host/src/ddk_sysfs_device.c", "host/src/ddk_uevent_handle.c", "host/src/usb_pnp_manager.c", ] if (drivers_peripheral_usb_feature_linux_native_model) { if (defined(defines)) { defines += [ "USB_EVENT_NOTIFY_LINUX_NATIVE_MODE" ] } else { defines = [ "USB_EVENT_NOTIFY_LINUX_NATIVE_MODE" ] } } if (is_standard_system) { external_deps = [ "c_utils:utils", "hdf_core:libhdf_host", "hdf_core:libhdf_utils", "hilog:libhilog", "hisysevent:libhisysevent", ] } else { external_deps = [ "hilog:libhilog" ] } install_images = [ chipset_base_dir ] subsystem_name = "hdf" part_name = "drivers_peripheral_usb" } ohos_shared_library("libusb_ddk_device") { include_dirs = [ "device/include", "host/include", "./../interfaces/ddk/common", "./../interfaces/ddk/device", "./../interfaces/ddk/host", ] sources = [ "device/src/adapter_if.c", "device/src/usbfn_cfg_mgr.c", "device/src/usbfn_dev_mgr.c", "device/src/usbfn_io_mgr.c", "device/src/usbfn_sdk_if.c", ] if (is_standard_system) { external_deps = [ "c_utils:utils", "hdf_core:libhdf_utils", "hilog:libhilog", ] } else { external_deps = [ "hilog:libhilog" ] } if (drivers_peripheral_usb_feature_linux_native_model) { if (defined(defines)) { defines += [ "USB_EVENT_NOTIFY_LINUX_NATIVE_MODE" ] } else { defines = [ "USB_EVENT_NOTIFY_LINUX_NATIVE_MODE" ] } } install_images = [ chipset_base_dir ] subsystem_name = "hdf" part_name = "drivers_peripheral_usb" }