1 Star 0 Fork 37

506124204/third_party_libusb

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
BUILD.gn 4.46 KB
一键复制 编辑 原始数据 按行查看 历史
# Copyright (c) 2021 Huawei Device Co., Ltd.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
import("//build/ohos.gni")
LIBUSB_DIR = rebase_path("//third_party/libusb")
action("libusb_action") {
script = "//third_party/libusb/install.sh"
outputs = [
"${target_gen_dir}/libusb-1.0.26/libusb/core.c",
"${target_gen_dir}/libusb-1.0.26/libusb/descriptor.c",
"${target_gen_dir}/libusb-1.0.26/libusb/hotplug.c",
"${target_gen_dir}/libusb-1.0.26/libusb/io.c",
"${target_gen_dir}/libusb-1.0.26/libusb/sync.c",
"${target_gen_dir}/libusb-1.0.26/libusb/strerror.c",
]
if (is_mac) {
outputs += [
"${target_gen_dir}/libusb-1.0.26/libusb/os/darwin_usb.c",
"${target_gen_dir}/libusb-1.0.26/libusb/os/events_posix.c",
"${target_gen_dir}/libusb-1.0.26/libusb/os/threads_posix.c",
]
} else if (is_mingw || is_win) {
outputs += [
"${target_gen_dir}/libusb-1.0.26/libusb/os/events_windows.c",
"${target_gen_dir}/libusb-1.0.26/libusb/os/threads_windows.c",
"${target_gen_dir}/libusb-1.0.26/libusb/os/windows_common.c",
"${target_gen_dir}/libusb-1.0.26/libusb/os/windows_usbdk.c",
"${target_gen_dir}/libusb-1.0.26/libusb/os/windows_winusb.c",
]
} else if (is_linux || is_ohos) {
outputs += [
"${target_gen_dir}/libusb-1.0.26/libusb/os/events_posix.c",
"${target_gen_dir}/libusb-1.0.26/libusb/os/linux_netlink.c",
"${target_gen_dir}/libusb-1.0.26/libusb/os/linux_usbfs.c",
"${target_gen_dir}/libusb-1.0.26/libusb/os/threads_posix.c",
]
}
inputs = [ "//third_party/libusb/libusb-1.0.26.tar.bz2" ]
libusb_path = rebase_path("${target_gen_dir}", root_build_dir)
libusb_source_path = rebase_path("//third_party/libusb", root_build_dir)
args = [
"$libusb_path",
"$libusb_source_path",
]
}
# Configuration for libusb itself.
config("libusb_config") {
include_dirs = [
get_label_info(":libusb_action", "target_gen_dir") +
"/libusb-1.0.26/libusb",
get_label_info(":libusb_action", "target_gen_dir") +
"/libusb-1.0.26/libusb/os",
]
cflags = [
"-U__ANDROID__",
"-UUSE_UDEV",
"-Wno-#warnings",
"-Wno-error=sign-compare",
"-Wno-error=switch",
"-Wno-error=pragma-pack",
]
if (is_linux || is_ohos) {
include_dirs += [ "${LIBUSB_DIR}/linux" ]
cflags += [ "-DPLATFORM_POSIX" ]
} else if (is_mingw || is_win) {
cflags += [
"-Werror",
"-Wno-unused-function",
"-Wno-unused-parameter",
"-DPLATFORM_WINDOWS",
]
include_dirs += [ "${LIBUSB_DIR}/windows" ]
} else if (is_mac) {
cflags += [
"-Wno-unused-parameter",
"-Wno-deprecated-declarations",
"-DPLATFORM_POSIX",
]
include_dirs += [ "${LIBUSB_DIR}/darwin" ]
frameworks = [
"CoreFoundation.framework",
"IOKit.framework",
"Security.framework",
]
libs = [ "objc" ]
}
}
ohos_source_set("libusb_source") {
configs = [ ":libusb_config" ]
sources = get_target_outputs(":libusb_action")
deps = [ ":libusb_action" ]
subsystem_name = "thirdparty"
part_name = "libusb"
}
config("libusb_public_config") {
include_dirs = [
get_label_info(":libusb_action", "target_gen_dir") + "/libusb-1.0.26",
get_label_info(":libusb_action", "target_gen_dir") +
"/libusb-1.0.26/libusb",
]
}
ohos_shared_library("libusb") {
deps = [ ":libusb_source" ]
public_configs = [ ":libusb_public_config" ]
output_name = "libusb_shared"
install_images = [ "system" ]
subsystem_name = "thirdparty"
part_name = "libusb"
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lam506124204/third_party_libusb.git
git@gitee.com:lam506124204/third_party_libusb.git
lam506124204
third_party_libusb
third_party_libusb
master

搜索帮助