//
// Copyright (C) 2016 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.
//

cc_defaults {
    name: "perfprofd_defaults",

    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",

        // Try some more extreme warnings.
        "-Wpedantic",
        "-Wunreachable-code-aggressive",
        // And disable some dumb things.
        "-Wno-zero-length-array",
        "-Wno-c99-extensions",
        "-Wno-language-extension-token",
        "-Wno-gnu-zero-variadic-macro-arguments",
        "-Wno-nested-anon-types",
        "-Wno-gnu-statement-expression",
        "-Wno-vla-extension",
        "-Wno-extended-offsetof",
    ],
    cppflags: [
        "-Wno-sign-compare",
        "-Wno-unused-parameter",
    ],
}

//
// Static library for ELF symbolization.
//
// TODO: make this a proper part of simpleperf once that is moved to Soong.
//

cc_library_static {
    name: "libperfprofd_elf_read",
    defaults: [
        "perfprofd_defaults",
    ],

    export_include_dirs: [
        "simpleperf",
    ],

    cflags: [
        "-DSIMPLEPERF_REVISION=\"dummy\"",
    ],

    static_libs: [
        "libbase",
    ],
    // Use whole-static to avoid having to pull this in later.
    whole_static_libs: [
        "libLLVMObject",
        "libLLVMBitReader",
        "libLLVMMC",
        "libLLVMMCParser",
        "libLLVMCore",
        "libLLVMSupport",
        "liblog",
        "liblzma",
        "libz",
        "libziparchive",
    ],

    target: {
        // Required for LLVM.
        linux_glibc: {
            host_ldlibs: [
                "-lncurses",
            ],
        },
    },

    srcs: [
        "simpleperf/read_apk.cpp",
        "simpleperf/read_elf.cpp",
        "simpleperf/utils.cpp",
    ],

    group_static_libs: true,
}

//
// Static library containing guts of AWP daemon.
//

cc_library_static {
    name: "libperfprofdcore",
    defaults: [
        "perfprofd_defaults",
    ],

    local_include_dirs: ["quipper/kernel-headers"],
    export_include_dirs: ["."],
    static_libs: [
        "libbase",
        "libperfprofd_elf_read",
    ],
    srcs: [
        "perf_profile.proto",
        "quipper/perf_utils.cc",
        "quipper/base/logging.cc",
        "quipper/address_mapper.cc",
        "quipper/perf_reader.cc",
        "quipper/perf_parser.cc",
        "perf_data_converter.cc",
        "configreader.cc",
        "cpuconfig.cc",
        "perfprofdcore.cc",
        "symbolizer.cc"
    ],

    proto: {
        export_proto_headers: true,
    },
}

//
// Main daemon
//
cc_binary {
    name: "perfprofd",
    defaults: [
        "perfprofd_defaults",
    ],

    srcs: [
        "perfprofdmain.cc",
    ],

    static_libs: [
        "libperfprofdcore",
        "libperfprofd_binder",
        "libperfprofd_elf_read",
    ],
    group_static_libs: true,

    shared_libs: [
        "liblog",
        "libprotobuf-cpp-lite",
        "libbase",
        "libbinder",
        "libutils",
    ],

    init_rc: ["perfprofd.rc"],
}

subdirs = [
    "binder_interface",
    "tests",
]
