//
// Copyright (C) 2018 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: "simpleperf_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",
    ],
    cppflags: [
        "-Wno-sign-compare",
        "-Wno-unused-parameter",
    ],
}

cc_library_static {
    name: "libsimpleperf_elf_read",
    defaults: [
        "simpleperf_defaults",
    ],
    host_supported: true,

    export_include_dirs: [
        ".",
    ],

    // TODO: fix or workaround this.
    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: [
        "read_apk.cpp",
        "read_elf.cpp",
        "utils.cpp",
    ],

    group_static_libs: true,
}
