| // Copyright (C) 2017 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. |
| |
| // This is what we want to do: |
| // event_logtags = $(shell |
| // sed -n |
| // "s/^\([0-9]*\)[ \t]*$1[ \t].*/-D`echo $1 | tr a-z A-Z`_LOG_TAG=\1/p" |
| // $(LOCAL_PATH)/$2/event.logtags) |
| // event_flag := $(call event_logtags,auditd) |
| // event_flag += $(call event_logtags,logd) |
| // event_flag += $(call event_logtags,tag_def) |
| // so make sure we do not regret hard-coding it as follows: |
| package { |
| default_applicable_licenses: ["Android-Apache-2.0"], |
| } |
| |
| event_flag = [ |
| "-DAUDITD_LOG_TAG=1003", |
| "-DTAG_DEF_LOG_TAG=1005", |
| "-DLIBLOG_LOG_TAG=1006", |
| ] |
| |
| cc_defaults { |
| name: "logd_defaults", |
| |
| shared_libs: [ |
| "libbase", |
| "libz", |
| ], |
| static_libs: ["libzstd"], |
| header_libs: ["libcutils_headers"], |
| cflags: [ |
| "-Wextra", |
| "-Wthread-safety", |
| ] + event_flag, |
| |
| lto: { |
| thin: true, |
| }, |
| sanitize: { |
| cfi: true, |
| }, |
| } |
| |
| cc_library_static { |
| name: "liblogd", |
| defaults: ["logd_defaults"], |
| host_supported: true, |
| srcs: [ |
| "CompressionEngine.cpp", |
| "LogBufferElement.cpp", |
| "LogReaderList.cpp", |
| "LogReaderThread.cpp", |
| "LogSize.cpp", |
| "LogStatistics.cpp", |
| "LogTags.cpp", |
| "LogdLock.cpp", |
| "PruneList.cpp", |
| "SerializedFlushToState.cpp", |
| "SerializedLogBuffer.cpp", |
| "SerializedLogChunk.cpp", |
| "SimpleLogBuffer.cpp", |
| ":ILogcatManagerService_aidl" |
| ], |
| static_libs: ["liblog"], |
| shared_libs: ["libbinder"], |
| logtags: ["event.logtags"], |
| |
| export_include_dirs: ["."], |
| } |
| |
| cc_binary { |
| name: "logd", |
| defaults: ["logd_defaults"], |
| init_rc: ["logd.rc"], |
| |
| srcs: [ |
| "libaudit.cpp", |
| "main.cpp", |
| "CommandListener.cpp", |
| "LogdNativeService.cpp", |
| "LogAudit.cpp", |
| "LogKlog.cpp", |
| "LogListener.cpp", |
| "LogPermissions.cpp", |
| "LogReader.cpp", |
| "TrustyLog.cpp", |
| "PkgIds.cpp", |
| ":ILogcatManagerService_aidl" |
| ], |
| |
| static_libs: [ |
| "liblog", |
| "liblogd", |
| "liblogd_binder", |
| ], |
| |
| shared_libs: [ |
| "libbinder", |
| "libsysutils", |
| "libcutils", |
| "libpackagelistparser", |
| "libprocessgroup", |
| "libcap", |
| "libutils", |
| ], |
| } |
| |
| cc_binary { |
| name: "auditctl", |
| |
| srcs: [ |
| "auditctl.cpp", |
| "libaudit.cpp", |
| ], |
| |
| shared_libs: ["libbase"], |
| |
| cflags: [ |
| "-Wextra", |
| ], |
| } |
| |
| prebuilt_etc { |
| name: "logtagd.rc", |
| src: "logtagd.rc", |
| sub_dir: "init", |
| } |
| |
| // ----------------------------------------------------------------------------- |
| // Unit tests. |
| // ----------------------------------------------------------------------------- |
| |
| cc_defaults { |
| name: "logd-unit-test-defaults", |
| |
| cflags: [ |
| "-fstack-protector-all", |
| "-g", |
| "-Wall", |
| "-Wthread-safety", |
| "-Wextra", |
| "-Werror", |
| "-fno-builtin", |
| ] + event_flag, |
| |
| srcs: [ |
| "logd_test.cpp", |
| "LogBufferTest.cpp", |
| "SerializedLogBufferTest.cpp", |
| "SerializedLogChunkTest.cpp", |
| "SerializedFlushToStateTest.cpp", |
| ], |
| sanitize: { |
| cfi: true, |
| }, |
| static_libs: [ |
| "libbase", |
| "libcutils", |
| "liblog", |
| "liblogd", |
| "libselinux", |
| "libz", |
| "libzstd", |
| ], |
| shared_libs: [ |
| "libbinder", |
| "libutils", |
| ], |
| } |
| |
| // Build tests for the logger. Run with: |
| // adb shell /data/nativetest/logd-unit-tests/logd-unit-tests |
| cc_test { |
| name: "logd-unit-tests", |
| host_supported: true, |
| defaults: ["logd-unit-test-defaults"], |
| test_suites: [ |
| "general-tests", |
| ], |
| } |
| |
| cc_test { |
| name: "CtsLogdTestCases", |
| defaults: ["logd-unit-test-defaults"], |
| multilib: { |
| lib32: { |
| suffix: "32", |
| }, |
| lib64: { |
| suffix: "64", |
| }, |
| }, |
| test_suites: [ |
| "cts", |
| "device-tests", |
| ], |
| test_config: "device_test_config.xml", |
| } |
| |
| cc_binary { |
| name: "replay_messages", |
| defaults: ["logd_defaults"], |
| host_supported: true, |
| |
| srcs: [ |
| "ReplayMessages.cpp", |
| ], |
| |
| static_libs: [ |
| "libbase", |
| "libcutils", |
| "liblog", |
| "liblogd", |
| "libselinux", |
| "libz", |
| "libzstd", |
| ], |
| shared_libs: [ |
| "libbinder", |
| "libutils", |
| ], |
| } |
| |
| cc_library_static { |
| name: "liblogd_binder", |
| defaults: ["logd_defaults"], |
| |
| srcs: [ |
| ":logd_aidl", |
| ], |
| shared_libs: [ |
| "libbinder", |
| "libutils", |
| ], |
| aidl: { |
| local_include_dirs: ["binder"], |
| export_aidl_headers: true, |
| }, |
| whole_static_libs: [ |
| "libincremental_aidl-cpp", |
| ], |
| export_shared_lib_headers: [ |
| "libbinder", |
| ], |
| } |
| |
| filegroup { |
| name: "logd_aidl", |
| srcs: [ |
| "binder/android/os/ILogd.aidl", |
| ], |
| path: "binder", |
| } |