android_system_core/liblog/Android.bp
Tom Cherry d2743ef5c9 liblog: don't cache property size values and move to own file
Don't cache the property size values since they're only queried at the
start of logd and only once during dumpstate.  Initializing
SerializedLogBuffer, which includes all of the logd queries, takes
under 100us without the cache, certainly fast enough that this cache
is unneeded.

Move these functions to their own file in preparation for removing
them from liblog.

Test: log sizes set appropriately
Change-Id: I15a2fd687dcffb4eab2f22ee0825ca86e40cdba3
2020-08-03 13:17:12 -07:00

155 lines
4 KiB
Text

//
// Copyright (C) 2008-2014 The Android Open Source Project
//
// 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.
//
liblog_sources = [
"log_event_list.cpp",
"log_event_write.cpp",
"log_size.cpp",
"logger_name.cpp",
"logger_read.cpp",
"logger_write.cpp",
"logprint.cpp",
"properties.cpp",
]
liblog_target_sources = [
"event_tag_map.cpp",
"log_time.cpp",
"pmsg_reader.cpp",
"pmsg_writer.cpp",
"logd_reader.cpp",
"logd_writer.cpp",
]
cc_library_headers {
name: "liblog_headers",
host_supported: true,
vendor_available: true,
ramdisk_available: true,
recovery_available: true,
apex_available: [
"//apex_available:platform",
"//apex_available:anyapex",
],
min_sdk_version: "29",
native_bridge_supported: true,
export_include_dirs: ["include"],
system_shared_libs: [],
stl: "none",
target: {
windows: {
enabled: true,
},
linux_bionic: {
enabled: true,
},
vendor: {
override_export_include_dirs: ["include_vndk"],
},
},
}
// Shared and static library for host and device
// ========================================================
cc_library {
name: "liblog",
host_supported: true,
ramdisk_available: true,
recovery_available: true,
native_bridge_supported: true,
srcs: liblog_sources,
target: {
android: {
version_script: "liblog.map.txt",
srcs: liblog_target_sources,
// AddressSanitizer runtime library depends on liblog.
sanitize: {
address: false,
},
},
android_arm: {
// TODO: This is to work around b/24465209. Remove after root cause is fixed
pack_relocations: false,
ldflags: ["-Wl,--hash-style=both"],
},
windows: {
enabled: true,
},
not_windows: {
srcs: ["event_tag_map.cpp"],
},
linux_bionic: {
enabled: true,
},
},
header_libs: [
"libbase_headers",
"liblog_headers",
],
export_header_lib_headers: ["liblog_headers"],
stubs: {
symbol_file: "liblog.map.txt",
versions: ["29", "30"],
},
cflags: [
"-Wall",
"-Werror",
"-Wextra",
// This is what we want to do:
// liblog_cflags := $(shell \
// sed -n \
// 's/^\([0-9]*\)[ \t]*liblog[ \t].*/-DLIBLOG_LOG_TAG=\1/p' \
// $(LOCAL_PATH)/event.logtags)
// so make sure we do not regret hard-coding it as follows:
"-DLIBLOG_LOG_TAG=1006",
"-DSNET_EVENT_LOG_TAG=1397638484",
],
logtags: ["event.logtags"],
compile_multilib: "both",
apex_available: [
"//apex_available:platform",
// liblog is exceptionally available to the runtime APEX
// because the dynamic linker has to use it statically.
// See b/151051671
"com.android.runtime",
// DO NOT add more apex names here
],
}
ndk_headers {
name: "liblog_ndk_headers",
from: "include/android",
to: "android",
srcs: ["include/android/log.h"],
license: "NOTICE",
}
ndk_library {
name: "liblog",
symbol_file: "liblog.map.txt",
first_version: "9",
unversioned_until: "current",
}
llndk_library {
name: "liblog",
native_bridge_supported: true,
symbol_file: "liblog.map.txt",
export_include_dirs: ["include_vndk"],
}