| # Copyright 2024 The Pigweed Authors |
| # |
| # 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. |
| |
| load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| cc_library( |
| name = "libusb_linux_config", |
| hdrs = ["linux/config.h"], |
| ) |
| |
| cc_library( |
| name = "default_libusb_config", |
| hdrs = ["include/config.h"], |
| includes = ["include"], |
| deps = select({ |
| "@platforms//os:windows": ["@libusb//:libusb_msvc_config"], |
| "@platforms//os:macos": ["@libusb//:libusb_macos_config"], |
| "@platforms//os:linux": ["//:libusb_linux_config"], |
| "//conditions:default": [], |
| }), |
| ) |
| |
| # Forces libusb to always be dynamically linked. This defaults to True since |
| # libusb is LGPL and that is usually the right thing. Be cautious when |
| # statically linking and distributing binaries, as libusb is LGPL. |
| bool_flag( |
| name = "force_dynamic_linkage", |
| build_setting_default = True, |
| ) |
| |
| config_setting( |
| name = "force_dynamic_linkage_enabled", |
| flag_values = {":force_dynamic_linkage": "True"}, |
| ) |