1*86b64dcbSAndroid Build Coastguard Workerpackage { 2*86b64dcbSAndroid Build Coastguard Worker default_applicable_licenses: ["external_libusb_license"], 3*86b64dcbSAndroid Build Coastguard Worker} 4*86b64dcbSAndroid Build Coastguard Worker 5*86b64dcbSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 6*86b64dcbSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 7*86b64dcbSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 8*86b64dcbSAndroid Build Coastguard Worker// 9*86b64dcbSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 10*86b64dcbSAndroid Build Coastguard Worker// 11*86b64dcbSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 12*86b64dcbSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 13*86b64dcbSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 14*86b64dcbSAndroid Build Coastguard Worker// 15*86b64dcbSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 16*86b64dcbSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 17*86b64dcbSAndroid Build Coastguard Worker// used in the current project. 18*86b64dcbSAndroid Build Coastguard Worker// 19*86b64dcbSAndroid Build Coastguard Worker// large-scale-change included anything that looked like it might be a license 20*86b64dcbSAndroid Build Coastguard Worker// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. 21*86b64dcbSAndroid Build Coastguard Worker// 22*86b64dcbSAndroid Build Coastguard Worker// Please consider removing redundant or irrelevant files from 'license_text:'. 23*86b64dcbSAndroid Build Coastguard Worker// See: http://go/android-license-faq 24*86b64dcbSAndroid Build Coastguard Workerlicense { 25*86b64dcbSAndroid Build Coastguard Worker name: "external_libusb_license", 26*86b64dcbSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 27*86b64dcbSAndroid Build Coastguard Worker license_kinds: [ 28*86b64dcbSAndroid Build Coastguard Worker "SPDX-license-identifier-GPL", 29*86b64dcbSAndroid Build Coastguard Worker "SPDX-license-identifier-LGPL", 30*86b64dcbSAndroid Build Coastguard Worker "SPDX-license-identifier-LGPL-2.1", 31*86b64dcbSAndroid Build Coastguard Worker "SPDX-license-identifier-LGPL-3.0", 32*86b64dcbSAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 33*86b64dcbSAndroid Build Coastguard Worker ], 34*86b64dcbSAndroid Build Coastguard Worker license_text: [ 35*86b64dcbSAndroid Build Coastguard Worker "COPYING", 36*86b64dcbSAndroid Build Coastguard Worker "NOTICE", 37*86b64dcbSAndroid Build Coastguard Worker ], 38*86b64dcbSAndroid Build Coastguard Worker} 39*86b64dcbSAndroid Build Coastguard Worker 40*86b64dcbSAndroid Build Coastguard Workercc_defaults { 41*86b64dcbSAndroid Build Coastguard Worker name: "libusb_defaults", 42*86b64dcbSAndroid Build Coastguard Worker host_supported: true, 43*86b64dcbSAndroid Build Coastguard Worker vendor_available: true, 44*86b64dcbSAndroid Build Coastguard Worker 45*86b64dcbSAndroid Build Coastguard Worker srcs: [ 46*86b64dcbSAndroid Build Coastguard Worker "libusb/core.c", 47*86b64dcbSAndroid Build Coastguard Worker "libusb/descriptor.c", 48*86b64dcbSAndroid Build Coastguard Worker "libusb/hotplug.c", 49*86b64dcbSAndroid Build Coastguard Worker "libusb/io.c", 50*86b64dcbSAndroid Build Coastguard Worker "libusb/sync.c", 51*86b64dcbSAndroid Build Coastguard Worker "libusb/strerror.c", 52*86b64dcbSAndroid Build Coastguard Worker ], 53*86b64dcbSAndroid Build Coastguard Worker 54*86b64dcbSAndroid Build Coastguard Worker target: { 55*86b64dcbSAndroid Build Coastguard Worker linux: { 56*86b64dcbSAndroid Build Coastguard Worker srcs: [ 57*86b64dcbSAndroid Build Coastguard Worker "libusb/os/events_posix.c", 58*86b64dcbSAndroid Build Coastguard Worker "libusb/os/linux_usbfs.c", 59*86b64dcbSAndroid Build Coastguard Worker "libusb/os/threads_posix.c", 60*86b64dcbSAndroid Build Coastguard Worker "libusb/os/linux_netlink.c", 61*86b64dcbSAndroid Build Coastguard Worker ], 62*86b64dcbSAndroid Build Coastguard Worker }, 63*86b64dcbSAndroid Build Coastguard Worker 64*86b64dcbSAndroid Build Coastguard Worker android: { 65*86b64dcbSAndroid Build Coastguard Worker local_include_dirs: [ 66*86b64dcbSAndroid Build Coastguard Worker "android", 67*86b64dcbSAndroid Build Coastguard Worker ], 68*86b64dcbSAndroid Build Coastguard Worker 69*86b64dcbSAndroid Build Coastguard Worker cflags: ["-Werror"], 70*86b64dcbSAndroid Build Coastguard Worker }, 71*86b64dcbSAndroid Build Coastguard Worker 72*86b64dcbSAndroid Build Coastguard Worker darwin: { 73*86b64dcbSAndroid Build Coastguard Worker srcs: [ 74*86b64dcbSAndroid Build Coastguard Worker "libusb/os/events_posix.c", 75*86b64dcbSAndroid Build Coastguard Worker "libusb/os/darwin_usb.c", 76*86b64dcbSAndroid Build Coastguard Worker "libusb/os/threads_posix.c", 77*86b64dcbSAndroid Build Coastguard Worker ], 78*86b64dcbSAndroid Build Coastguard Worker 79*86b64dcbSAndroid Build Coastguard Worker local_include_dirs: [ 80*86b64dcbSAndroid Build Coastguard Worker "darwin", 81*86b64dcbSAndroid Build Coastguard Worker ], 82*86b64dcbSAndroid Build Coastguard Worker 83*86b64dcbSAndroid Build Coastguard Worker host_ldlibs: [ 84*86b64dcbSAndroid Build Coastguard Worker "-framework CoreFoundation", 85*86b64dcbSAndroid Build Coastguard Worker "-framework IOKit", 86*86b64dcbSAndroid Build Coastguard Worker "-framework Security", 87*86b64dcbSAndroid Build Coastguard Worker "-lobjc", 88*86b64dcbSAndroid Build Coastguard Worker ], 89*86b64dcbSAndroid Build Coastguard Worker 90*86b64dcbSAndroid Build Coastguard Worker cflags: [ 91*86b64dcbSAndroid Build Coastguard Worker "-Wno-deprecated-declarations", 92*86b64dcbSAndroid Build Coastguard Worker "-Wno-unguarded-availability", 93*86b64dcbSAndroid Build Coastguard Worker ], 94*86b64dcbSAndroid Build Coastguard Worker }, 95*86b64dcbSAndroid Build Coastguard Worker 96*86b64dcbSAndroid Build Coastguard Worker host_linux: { 97*86b64dcbSAndroid Build Coastguard Worker local_include_dirs: [ 98*86b64dcbSAndroid Build Coastguard Worker "linux", 99*86b64dcbSAndroid Build Coastguard Worker ], 100*86b64dcbSAndroid Build Coastguard Worker 101*86b64dcbSAndroid Build Coastguard Worker cflags: ["-Werror"], 102*86b64dcbSAndroid Build Coastguard Worker }, 103*86b64dcbSAndroid Build Coastguard Worker 104*86b64dcbSAndroid Build Coastguard Worker windows: { 105*86b64dcbSAndroid Build Coastguard Worker srcs: [ 106*86b64dcbSAndroid Build Coastguard Worker "libusb/os/events_windows.c", 107*86b64dcbSAndroid Build Coastguard Worker "libusb/os/threads_windows.c", 108*86b64dcbSAndroid Build Coastguard Worker "libusb/os/windows_common.c", 109*86b64dcbSAndroid Build Coastguard Worker "libusb/os/windows_usbdk.c", 110*86b64dcbSAndroid Build Coastguard Worker "libusb/os/windows_winusb.c", 111*86b64dcbSAndroid Build Coastguard Worker ], 112*86b64dcbSAndroid Build Coastguard Worker 113*86b64dcbSAndroid Build Coastguard Worker local_include_dirs: [ 114*86b64dcbSAndroid Build Coastguard Worker "windows", 115*86b64dcbSAndroid Build Coastguard Worker ], 116*86b64dcbSAndroid Build Coastguard Worker 117*86b64dcbSAndroid Build Coastguard Worker cflags: [ 118*86b64dcbSAndroid Build Coastguard Worker "-Wno-error=pragma-pack", 119*86b64dcbSAndroid Build Coastguard Worker "-Wno-error=missing-field-initializers", 120*86b64dcbSAndroid Build Coastguard Worker "-Wno-error=ignored-attributes", 121*86b64dcbSAndroid Build Coastguard Worker ], 122*86b64dcbSAndroid Build Coastguard Worker 123*86b64dcbSAndroid Build Coastguard Worker enabled: true, 124*86b64dcbSAndroid Build Coastguard Worker }, 125*86b64dcbSAndroid Build Coastguard Worker }, 126*86b64dcbSAndroid Build Coastguard Worker 127*86b64dcbSAndroid Build Coastguard Worker local_include_dirs: [ 128*86b64dcbSAndroid Build Coastguard Worker "libusb", 129*86b64dcbSAndroid Build Coastguard Worker "libusb/os", 130*86b64dcbSAndroid Build Coastguard Worker ], 131*86b64dcbSAndroid Build Coastguard Worker 132*86b64dcbSAndroid Build Coastguard Worker cflags: [ 133*86b64dcbSAndroid Build Coastguard Worker "-Wall", 134*86b64dcbSAndroid Build Coastguard Worker "-Wno-error=sign-compare", 135*86b64dcbSAndroid Build Coastguard Worker "-Wno-error=switch", 136*86b64dcbSAndroid Build Coastguard Worker "-Wno-error=unused-function", 137*86b64dcbSAndroid Build Coastguard Worker "-Wno-unused-parameter", 138*86b64dcbSAndroid Build Coastguard Worker "-DENABLE_LOGGING=1", 139*86b64dcbSAndroid Build Coastguard Worker ], 140*86b64dcbSAndroid Build Coastguard Worker 141*86b64dcbSAndroid Build Coastguard Worker shared_libs: ["liblog"], 142*86b64dcbSAndroid Build Coastguard Worker export_include_dirs: ["include"], 143*86b64dcbSAndroid Build Coastguard Worker} 144*86b64dcbSAndroid Build Coastguard Worker 145*86b64dcbSAndroid Build Coastguard Workercc_library { 146*86b64dcbSAndroid Build Coastguard Worker name: "libusb", 147*86b64dcbSAndroid Build Coastguard Worker defaults: ["libusb_defaults"], 148*86b64dcbSAndroid Build Coastguard Worker} 149*86b64dcbSAndroid Build Coastguard Worker 150*86b64dcbSAndroid Build Coastguard Worker// "libusb_plaform" should be depended upon only by programs running on Android 151*86b64dcbSAndroid Build Coastguard Worker// at OS level (e.g. Android platform services). The reason is that programs 152*86b64dcbSAndroid Build Coastguard Worker// using "libusb_platform" must have permission to access netlink sockets. 153*86b64dcbSAndroid Build Coastguard Workercc_library { 154*86b64dcbSAndroid Build Coastguard Worker name: "libusb_platform", 155*86b64dcbSAndroid Build Coastguard Worker defaults: ["libusb_defaults"], 156*86b64dcbSAndroid Build Coastguard Worker target: { 157*86b64dcbSAndroid Build Coastguard Worker android: { 158*86b64dcbSAndroid Build Coastguard Worker cflags: [ 159*86b64dcbSAndroid Build Coastguard Worker "-Werror", 160*86b64dcbSAndroid Build Coastguard Worker "-DANDROID_OS", // ANDROID_OS flag signals that the program 161*86b64dcbSAndroid Build Coastguard Worker // using libusb runs at Android OS level and allows netlink 162*86b64dcbSAndroid Build Coastguard Worker // event monitoring. See libusb/os/linux_usbfs.h. 163*86b64dcbSAndroid Build Coastguard Worker ], 164*86b64dcbSAndroid Build Coastguard Worker }, 165*86b64dcbSAndroid Build Coastguard Worker }, 166*86b64dcbSAndroid Build Coastguard Worker} 167