//
// 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.
//

// ==========================================================
// Build the host executable: stats-log-api-gen
// ==========================================================
cc_binary_host {
    name: "stats-log-api-gen",
    srcs: [
        "Collation.cpp",
        "main.cpp",
    ],
    cflags: [
        "-Wall",
        "-Werror",
    ],

    shared_libs: [
        "libstats_proto_host",
        "libprotobuf-cpp-full",
    ],

    proto: {
        type: "full",
    },
}

// ==========================================================
// Build the host test executable: stats-log-api-gen
// ==========================================================
cc_test_host {
    name: "stats-log-api-gen-test",
    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
        "-g",
        "-DUNIT_TEST",
    ],
    srcs: [
        "Collation.cpp",
        "test_collation.cpp",
        "test.proto",
    ],

    static_libs: [
        "libgmock_host",
    ],

    shared_libs: [
        "libstats_proto_host",
    ],

    proto: {
        type: "full",
    },
}

// ==========================================================
// Native library
// ==========================================================
genrule {
    name: "statslog.h",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog.h",
    out: [
        "statslog.h",
    ],
}

genrule {
    name: "statslog.cpp",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog.cpp",
    out: [
        "statslog.cpp",
    ],
}

cc_library_shared {
    name: "libstatslog",
    generated_sources: ["statslog.cpp"],
    generated_headers: ["statslog.h"],
    cflags: [
        "-Wall",
        "-Werror",
        "-fexceptions",
    ],
    export_generated_headers: ["statslog.h"],
    shared_libs: [
        "liblog",
    ],
}

