1// Copyright 2024 The Pigweed Authors 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); you may not 4// use this file except in compliance with the License. You may obtain a copy of 5// the License at 6// 7// https://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12// License for the specific language governing permissions and limitations under 13// the License. 14 15package { 16 default_applicable_licenses: ["external_pigweed_license"], 17} 18 19cc_library_static { 20 name: "pw_digital_io_linux", 21 cpp_std: "c++20", 22 export_include_dirs: ["public"], 23 vendor_available: true, 24 defaults: [ 25 "pw_android_common_backends", 26 "pw_thread", 27 ], 28 whole_static_libs: [ 29 // pw_digital_io needs to use whole_static_libs to ensure symbols 30 // unused by pw_digital_io_linux are available for consumers to avoid 31 // link errors. 32 "pw_digital_io", 33 "pw_result", 34 "pw_status", 35 ], 36 export_static_lib_headers: [ 37 "pw_digital_io", 38 "pw_result", 39 "pw_status", 40 ], 41 header_libs: [ 42 "pw_log", 43 "pw_sync", 44 ], 45 export_header_lib_headers: [ 46 "pw_sync", 47 ], 48 srcs: [ 49 "digital_io.cc", 50 "notifier.cc", 51 ], 52} 53 54cc_binary { 55 name: "pw_digital_io_linux_cli", 56 cpp_std: "c++20", 57 vendor_available: true, 58 defaults: [ 59 "pw_android_common_backends", 60 ], 61 srcs: [ 62 "digital_io_cli.cc", 63 ], 64 static_libs: [ 65 "pw_digital_io_linux", 66 "pw_status", 67 ], 68 whole_static_libs: [ 69 // Force logs to stderr rather than logd. 70 // NOTE: Only use this on cc_binary() targets. 71 "pw_log_android_stderr", 72 ], 73} 74