//
// 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.c",
    "log_event_write.c",
    "logger_write.c",
    "config_write.c",
    "logger_name.c",
    "logger_lock.c",
    "log_ratelimit.cpp",
]
liblog_host_sources = [
    "fake_log_device.c",
    "fake_writer.c",
]
liblog_target_sources = [
    "event_tag_map.cpp",
    "config_read.c",
    "log_time.cpp",
    "properties.c",
    "logprint.c",
    "pmsg_reader.c",
    "pmsg_writer.c",
    "logd_reader.c",
    "logd_writer.c",
    "logger_read.c",
]

// Shared and static library for host and device
// ========================================================
cc_library {
    name: "liblog",
    host_supported: true,

    srcs: liblog_sources,

    target: {
        host: {
            srcs: liblog_host_sources,
            cflags: ["-DFAKE_LOG_DEVICE=1"],
        },
        android: {
            srcs: liblog_target_sources,
            // AddressSanitizer runtime library depends on liblog.
            sanitize: {
                never: true,
            },
        },
        android_arm: {
            // TODO: This is to work around b/24465209. Remove after root cause is fixed
            ldflags: ["-Wl,--hash-style=both"],
        },
        windows: {
            srcs: ["uio.c"],
            enabled: true,
        },
        not_windows: {
            srcs: ["event_tag_map.cpp"],
        },
        linux: {
            host_ldlibs: ["-lrt"],
        },
        linux_bionic: {
            enabled: true,
        },
    },

    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",
}

// system/core/android/log.h needs some work before it can be included in the
// NDK. It defines a *lot* of macros that previously were usable names in NDK
// sources that used android/log.h. As an example, the following file defines
// LOG_TAG as a variable, but the variable name gets macro replaced if we use
// the current android/log.h.
// https://android.googlesource.com/platform/external/deqp/+/4adc1515f867b26c19c2f7498e9de93a230a234d/framework/platform/android/tcuTestLogParserJNI.cpp#41
//
// For now, we keep a copy of the old NDK android/log.h in legacy-ndk-includes.
ndk_headers {
    name: "liblog_headers",
    from: "legacy-ndk-includes",
    to: "android",
    srcs: ["legacy-ndk-includes/log.h"],
    license: "NOTICE",
}

ndk_library {
    name: "liblog.ndk",
    symbol_file: "liblog.map.txt",
    first_version: "9",
}
