xref: /aosp_15_r20/system/logging/liblog/Android.bp (revision 598139dc91b21518d67c408eaea2644226490971)
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