1*598139dcSAndroid Build Coastguard Worker// 2*598139dcSAndroid Build Coastguard Worker// Copyright (C) 2008-2014 The Android Open Source Project 3*598139dcSAndroid Build Coastguard Worker// 4*598139dcSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*598139dcSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*598139dcSAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*598139dcSAndroid Build Coastguard Worker// 8*598139dcSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*598139dcSAndroid Build Coastguard Worker// 10*598139dcSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*598139dcSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*598139dcSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*598139dcSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*598139dcSAndroid Build Coastguard Worker// limitations under the License. 15*598139dcSAndroid Build Coastguard Worker// 16*598139dcSAndroid Build Coastguard Worker 17*598139dcSAndroid Build Coastguard Workerpackage { 18*598139dcSAndroid Build Coastguard Worker default_applicable_licenses: ["system_logging_liblog_license"], 19*598139dcSAndroid Build Coastguard Worker} 20*598139dcSAndroid Build Coastguard Worker 21*598139dcSAndroid Build Coastguard Worker// Added automatically by a large-scale-change 22*598139dcSAndroid Build Coastguard Workerlicense { 23*598139dcSAndroid Build Coastguard Worker name: "system_logging_liblog_license", 24*598139dcSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 25*598139dcSAndroid Build Coastguard Worker license_kinds: [ 26*598139dcSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 27*598139dcSAndroid Build Coastguard Worker ], 28*598139dcSAndroid Build Coastguard Worker license_text: [ 29*598139dcSAndroid Build Coastguard Worker "NOTICE", 30*598139dcSAndroid Build Coastguard Worker ], 31*598139dcSAndroid Build Coastguard Worker} 32*598139dcSAndroid Build Coastguard Worker 33*598139dcSAndroid Build Coastguard Workerliblog_sources = [ 34*598139dcSAndroid Build Coastguard Worker "log_event_list.cpp", 35*598139dcSAndroid Build Coastguard Worker "log_event_write.cpp", 36*598139dcSAndroid Build Coastguard Worker "logger_name.cpp", 37*598139dcSAndroid Build Coastguard Worker "logger_read.cpp", 38*598139dcSAndroid Build Coastguard Worker "logger_write.cpp", 39*598139dcSAndroid Build Coastguard Worker "logprint.cpp", 40*598139dcSAndroid Build Coastguard Worker "properties.cpp", 41*598139dcSAndroid Build Coastguard Worker] 42*598139dcSAndroid Build Coastguard Workerliblog_target_sources = [ 43*598139dcSAndroid Build Coastguard Worker "event_tag_map.cpp", 44*598139dcSAndroid Build Coastguard Worker "log_time.cpp", 45*598139dcSAndroid Build Coastguard Worker "pmsg_reader.cpp", 46*598139dcSAndroid Build Coastguard Worker "pmsg_writer.cpp", 47*598139dcSAndroid Build Coastguard Worker "logd_reader.cpp", 48*598139dcSAndroid Build Coastguard Worker "logd_writer.cpp", 49*598139dcSAndroid Build Coastguard Worker] 50*598139dcSAndroid Build Coastguard Worker 51*598139dcSAndroid Build Coastguard Workercc_library_headers { 52*598139dcSAndroid Build Coastguard Worker name: "liblog_headers", 53*598139dcSAndroid Build Coastguard Worker host_supported: true, 54*598139dcSAndroid Build Coastguard Worker vendor_available: true, 55*598139dcSAndroid Build Coastguard Worker product_available: true, 56*598139dcSAndroid Build Coastguard Worker ramdisk_available: true, 57*598139dcSAndroid Build Coastguard Worker vendor_ramdisk_available: true, 58*598139dcSAndroid Build Coastguard Worker recovery_available: true, 59*598139dcSAndroid Build Coastguard Worker apex_available: [ 60*598139dcSAndroid Build Coastguard Worker "//apex_available:platform", 61*598139dcSAndroid Build Coastguard Worker "//apex_available:anyapex", 62*598139dcSAndroid Build Coastguard Worker ], 63*598139dcSAndroid Build Coastguard Worker min_sdk_version: "29", 64*598139dcSAndroid Build Coastguard Worker sdk_version: "minimum", 65*598139dcSAndroid Build Coastguard Worker native_bridge_supported: true, 66*598139dcSAndroid Build Coastguard Worker export_include_dirs: ["include"], 67*598139dcSAndroid Build Coastguard Worker system_shared_libs: [], 68*598139dcSAndroid Build Coastguard Worker stl: "none", 69*598139dcSAndroid Build Coastguard Worker target: { 70*598139dcSAndroid Build Coastguard Worker windows: { 71*598139dcSAndroid Build Coastguard Worker enabled: true, 72*598139dcSAndroid Build Coastguard Worker }, 73*598139dcSAndroid Build Coastguard Worker linux_bionic: { 74*598139dcSAndroid Build Coastguard Worker enabled: true, 75*598139dcSAndroid Build Coastguard Worker }, 76*598139dcSAndroid Build Coastguard Worker vendor: { 77*598139dcSAndroid Build Coastguard Worker override_export_include_dirs: ["include_vndk"], 78*598139dcSAndroid Build Coastguard Worker }, 79*598139dcSAndroid Build Coastguard Worker product: { 80*598139dcSAndroid Build Coastguard Worker override_export_include_dirs: ["include_vndk"], 81*598139dcSAndroid Build Coastguard Worker }, 82*598139dcSAndroid Build Coastguard Worker }, 83*598139dcSAndroid Build Coastguard Worker} 84*598139dcSAndroid Build Coastguard Worker 85*598139dcSAndroid Build Coastguard Worker// Shared and static library for host and device 86*598139dcSAndroid Build Coastguard Worker// ======================================================== 87*598139dcSAndroid Build Coastguard Workercc_defaults { 88*598139dcSAndroid Build Coastguard Worker name: "liblog.defaults", 89*598139dcSAndroid Build Coastguard Worker defaults: ["bug_24465209_workaround"], 90*598139dcSAndroid Build Coastguard Worker host_supported: true, 91*598139dcSAndroid Build Coastguard Worker ramdisk_available: true, 92*598139dcSAndroid Build Coastguard Worker vendor_ramdisk_available: true, 93*598139dcSAndroid Build Coastguard Worker recovery_available: true, 94*598139dcSAndroid Build Coastguard Worker native_bridge_supported: true, 95*598139dcSAndroid Build Coastguard Worker srcs: liblog_sources, 96*598139dcSAndroid Build Coastguard Worker 97*598139dcSAndroid Build Coastguard Worker target: { 98*598139dcSAndroid Build Coastguard Worker android: { 99*598139dcSAndroid Build Coastguard Worker version_script: "liblog.map.txt", 100*598139dcSAndroid Build Coastguard Worker srcs: liblog_target_sources, 101*598139dcSAndroid Build Coastguard Worker // AddressSanitizer runtime library depends on liblog. 102*598139dcSAndroid Build Coastguard Worker sanitize: { 103*598139dcSAndroid Build Coastguard Worker address: false, 104*598139dcSAndroid Build Coastguard Worker }, 105*598139dcSAndroid Build Coastguard Worker }, 106*598139dcSAndroid Build Coastguard Worker windows: { 107*598139dcSAndroid Build Coastguard Worker enabled: true, 108*598139dcSAndroid Build Coastguard Worker }, 109*598139dcSAndroid Build Coastguard Worker not_windows: { 110*598139dcSAndroid Build Coastguard Worker srcs: ["event_tag_map.cpp"], 111*598139dcSAndroid Build Coastguard Worker }, 112*598139dcSAndroid Build Coastguard Worker linux_bionic: { 113*598139dcSAndroid Build Coastguard Worker enabled: true, 114*598139dcSAndroid Build Coastguard Worker }, 115*598139dcSAndroid Build Coastguard Worker }, 116*598139dcSAndroid Build Coastguard Worker 117*598139dcSAndroid Build Coastguard Worker header_libs: [ 118*598139dcSAndroid Build Coastguard Worker "libbase_headers", 119*598139dcSAndroid Build Coastguard Worker "libcutils_headers", 120*598139dcSAndroid Build Coastguard Worker "liblog_headers", 121*598139dcSAndroid Build Coastguard Worker ], 122*598139dcSAndroid Build Coastguard Worker export_header_lib_headers: ["liblog_headers"], 123*598139dcSAndroid Build Coastguard Worker 124*598139dcSAndroid Build Coastguard Worker cflags: [ 125*598139dcSAndroid Build Coastguard Worker "-Wall", 126*598139dcSAndroid Build Coastguard Worker "-Werror", 127*598139dcSAndroid Build Coastguard Worker "-Wextra", 128*598139dcSAndroid Build Coastguard Worker "-Wexit-time-destructors", 129*598139dcSAndroid Build Coastguard Worker // This is what we want to do: 130*598139dcSAndroid Build Coastguard Worker // liblog_cflags := $(shell \ 131*598139dcSAndroid Build Coastguard Worker // sed -n \ 132*598139dcSAndroid Build Coastguard Worker // 's/^\([0-9]*\)[ \t]*liblog[ \t].*/-DLIBLOG_LOG_TAG=\1/p' \ 133*598139dcSAndroid Build Coastguard Worker // $(LOCAL_PATH)/event.logtags) 134*598139dcSAndroid Build Coastguard Worker // so make sure we do not regret hard-coding it as follows: 135*598139dcSAndroid Build Coastguard Worker "-DLIBLOG_LOG_TAG=1006", 136*598139dcSAndroid Build Coastguard Worker "-DSNET_EVENT_LOG_TAG=1397638484", 137*598139dcSAndroid Build Coastguard Worker "-DANDROID_DEBUGGABLE=0", 138*598139dcSAndroid Build Coastguard Worker ], 139*598139dcSAndroid Build Coastguard Worker logtags: ["event.logtags"], 140*598139dcSAndroid Build Coastguard Worker compile_multilib: "both", 141*598139dcSAndroid Build Coastguard Worker afdo: true, 142*598139dcSAndroid Build Coastguard Worker product_variables: { 143*598139dcSAndroid Build Coastguard Worker debuggable: { 144*598139dcSAndroid Build Coastguard Worker cflags: [ 145*598139dcSAndroid Build Coastguard Worker "-UANDROID_DEBUGGABLE", 146*598139dcSAndroid Build Coastguard Worker "-DANDROID_DEBUGGABLE=1", 147*598139dcSAndroid Build Coastguard Worker ], 148*598139dcSAndroid Build Coastguard Worker }, 149*598139dcSAndroid Build Coastguard Worker }, 150*598139dcSAndroid Build Coastguard Worker} 151*598139dcSAndroid Build Coastguard Worker 152*598139dcSAndroid Build Coastguard Workercc_library { 153*598139dcSAndroid Build Coastguard Worker name: "liblog", 154*598139dcSAndroid Build Coastguard Worker defaults: ["liblog.defaults"], 155*598139dcSAndroid Build Coastguard Worker 156*598139dcSAndroid Build Coastguard Worker llndk: { 157*598139dcSAndroid Build Coastguard Worker symbol_file: "liblog.map.txt", 158*598139dcSAndroid Build Coastguard Worker override_export_include_dirs: ["include_vndk"], 159*598139dcSAndroid Build Coastguard Worker }, 160*598139dcSAndroid Build Coastguard Worker 161*598139dcSAndroid Build Coastguard Worker stubs: { 162*598139dcSAndroid Build Coastguard Worker symbol_file: "liblog.map.txt", 163*598139dcSAndroid Build Coastguard Worker versions: [ 164*598139dcSAndroid Build Coastguard Worker "29", 165*598139dcSAndroid Build Coastguard Worker "30", 166*598139dcSAndroid Build Coastguard Worker ], 167*598139dcSAndroid Build Coastguard Worker }, 168*598139dcSAndroid Build Coastguard Worker 169*598139dcSAndroid Build Coastguard Worker} 170*598139dcSAndroid Build Coastguard Worker 171*598139dcSAndroid Build Coastguard Worker// liblog_for_runtime_apex is a static liblog which is exclusively for 172*598139dcSAndroid Build Coastguard Worker// the runtime APEX. See b/151051671 173*598139dcSAndroid Build Coastguard Workercc_library_static { 174*598139dcSAndroid Build Coastguard Worker name: "liblog_for_runtime_apex", 175*598139dcSAndroid Build Coastguard Worker defaults: ["liblog.defaults"], 176*598139dcSAndroid Build Coastguard Worker apex_available: [ 177*598139dcSAndroid Build Coastguard Worker "//apex_available:platform", 178*598139dcSAndroid Build Coastguard Worker "com.android.runtime", 179*598139dcSAndroid Build Coastguard Worker // DO NOT add more apex names here 180*598139dcSAndroid Build Coastguard Worker ], 181*598139dcSAndroid Build Coastguard Worker visibility: [ 182*598139dcSAndroid Build Coastguard Worker "//bionic/linker", 183*598139dcSAndroid Build Coastguard Worker "//frameworks/libs/native_bridge_support/android_api/linker", 184*598139dcSAndroid Build Coastguard Worker "//system/apex/libs/libapexutil", 185*598139dcSAndroid Build Coastguard Worker "//system/core/debuggerd", 186*598139dcSAndroid Build Coastguard Worker "//system/linkerconfig", 187*598139dcSAndroid Build Coastguard Worker ], 188*598139dcSAndroid Build Coastguard Worker} 189*598139dcSAndroid Build Coastguard Worker 190*598139dcSAndroid Build Coastguard Workerndk_headers { 191*598139dcSAndroid Build Coastguard Worker name: "liblog_ndk_headers", 192*598139dcSAndroid Build Coastguard Worker from: "include/android", 193*598139dcSAndroid Build Coastguard Worker to: "android", 194*598139dcSAndroid Build Coastguard Worker srcs: [ 195*598139dcSAndroid Build Coastguard Worker "include/android/log.h", 196*598139dcSAndroid Build Coastguard Worker "include/android/log_macros.h", 197*598139dcSAndroid Build Coastguard Worker ], 198*598139dcSAndroid Build Coastguard Worker license: "NOTICE", 199*598139dcSAndroid Build Coastguard Worker} 200*598139dcSAndroid Build Coastguard Worker 201*598139dcSAndroid Build Coastguard Workerndk_library { 202*598139dcSAndroid Build Coastguard Worker name: "liblog", 203*598139dcSAndroid Build Coastguard Worker symbol_file: "liblog.map.txt", 204*598139dcSAndroid Build Coastguard Worker first_version: "9", 205*598139dcSAndroid Build Coastguard Worker unversioned_until: "current", 206*598139dcSAndroid Build Coastguard Worker} 207*598139dcSAndroid Build Coastguard Worker 208*598139dcSAndroid Build Coastguard Workerrust_bindgen { 209*598139dcSAndroid Build Coastguard Worker name: "liblog_event_list_bindgen", 210*598139dcSAndroid Build Coastguard Worker wrapper_src: "rust/liblog_wrapper.h", 211*598139dcSAndroid Build Coastguard Worker crate_name: "log_event_list_bindgen", 212*598139dcSAndroid Build Coastguard Worker visibility: ["//system/logging/rust"], 213*598139dcSAndroid Build Coastguard Worker source_stem: "bindings", 214*598139dcSAndroid Build Coastguard Worker 215*598139dcSAndroid Build Coastguard Worker bindgen_flags: [ 216*598139dcSAndroid Build Coastguard Worker "--allowlist-function=create_android_logger", 217*598139dcSAndroid Build Coastguard Worker "--allowlist-function=android_log_destroy", 218*598139dcSAndroid Build Coastguard Worker "--allowlist-function=android_log_write_int32", 219*598139dcSAndroid Build Coastguard Worker "--allowlist-function=android_log_write_int64", 220*598139dcSAndroid Build Coastguard Worker "--allowlist-function=android_log_write_float32", 221*598139dcSAndroid Build Coastguard Worker "--allowlist-function=android_log_write_string8_len", 222*598139dcSAndroid Build Coastguard Worker "--allowlist-function=android_log_write_list", 223*598139dcSAndroid Build Coastguard Worker "--allowlist-function=android_log_write_list_begin", 224*598139dcSAndroid Build Coastguard Worker "--allowlist-function=android_log_write_list_end", 225*598139dcSAndroid Build Coastguard Worker "--allowlist-function=__android_log_security", 226*598139dcSAndroid Build Coastguard Worker "--allowlist-type=log_id", 227*598139dcSAndroid Build Coastguard Worker ], 228*598139dcSAndroid Build Coastguard Worker vendor_available: true, 229*598139dcSAndroid Build Coastguard Worker product_available: true, 230*598139dcSAndroid Build Coastguard Worker} 231*598139dcSAndroid Build Coastguard Worker 232*598139dcSAndroid Build Coastguard Workerrust_test { 233*598139dcSAndroid Build Coastguard Worker name: "liblog_event_list_bindgen_test", 234*598139dcSAndroid Build Coastguard Worker srcs: [":liblog_event_list_bindgen"], 235*598139dcSAndroid Build Coastguard Worker crate_name: "log_event_list_bindgen_test", 236*598139dcSAndroid Build Coastguard Worker test_suites: ["general-tests"], 237*598139dcSAndroid Build Coastguard Worker auto_gen_config: true, 238*598139dcSAndroid Build Coastguard Worker clippy_lints: "none", 239*598139dcSAndroid Build Coastguard Worker lints: "none", 240*598139dcSAndroid Build Coastguard Worker} 241