platform_system_core/liblog/Android.bp
Tom Cherry 44f0023e81 Add a version script for liblog for the platform
liblog has a version script for the NDK and VNDK, however it doesn't
have symbols intended to be used by the platform.  This change adds
those symbols to the version script and enables it, hiding the rest of
the symbols.

Test: build
Change-Id: I494d048d78bb47d763482eb56a6f79babfe163f4
2019-01-17 11:46:31 -08:00

138 lines
3.5 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 = [
"config_read.cpp",
"config_write.cpp",
"log_event_list.cpp",
"log_event_write.cpp",
"logger_lock.cpp",
"logger_name.cpp",
"logger_read.cpp",
"logger_write.cpp",
"logprint.cpp",
"stderr_write.cpp",
]
liblog_host_sources = [
"fake_log_device.cpp",
"fake_writer.cpp",
]
liblog_target_sources = [
"event_tag_map.cpp",
"log_time.cpp",
"properties.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,
recovery_available: true,
export_include_dirs: ["include"],
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,
recovery_available: true,
srcs: liblog_sources,
target: {
host: {
srcs: liblog_host_sources,
cflags: ["-DFAKE_LOG_DEVICE=1"],
},
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: ["liblog_headers"],
export_header_lib_headers: ["liblog_headers"],
cflags: [
"-Werror",
"-fvisibility=hidden",
// 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",
}
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",
symbol_file: "liblog.map.txt",
unversioned: true,
export_include_dirs: ["include_vndk"],
}