// Copyright 2016 Google Inc. All rights reserved
//
// 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: "ckati_defaults",
    cflags: [
        "-W",
        "-Wall",
        "-Werror",
        "-DNOLOG",
    ],
    target: {
        linux: {
            host_ldlibs: ["-lrt", "-lpthread"],
        },
    },
    tidy_checks: [
        "-google-global-names-in-headers",
        "-google-build-using-namespace",
        "-google-explicit-constructor",
    ],
}

cc_library_host_static {
    name: "libckati",
    defaults: ["ckati_defaults"],
    srcs: [
        "affinity.cc",
        "command.cc",
        "dep.cc",
        "eval.cc",
        "exec.cc",
        "expr.cc",
        "file.cc",
        "file_cache.cc",
        "fileutil.cc",
        "find.cc",
        "flags.cc",
        "func.cc",
        "io.cc",
        "log.cc",
        "ninja.cc",
        "parser.cc",
        "regen.cc",
        "rule.cc",
        "stats.cc",
        "stmt.cc",
        "string_piece.cc",
        "stringprintf.cc",
        "strutil.cc",
        "symtab.cc",
        "thread_pool.cc",
        "timeutil.cc",
        "var.cc",
        "version_unknown.cc",
    ],
}

cc_binary_host {
    name: "ckati",
    defaults: ["ckati_defaults"],
    srcs: ["main.cc"],
    whole_static_libs: ["libckati"],
}

cc_binary_host {
    name: "ckati_stamp_dump",
    defaults: ["ckati_defaults"],
    srcs: ["regen_dump.cc"],
    static_libs: ["libckati"],
}

cc_test_host {
    name: "ckati_test",
    defaults: ["ckati_defaults"],
    test_per_src: true,
    srcs: [
        "find_test.cc",
        "ninja_test.cc",
        "string_piece_test.cc",
        "strutil_bench.cc",
        "strutil_test.cc",
    ],
    gtest: false,
    static_libs: ["libckati"],
}

cc_benchmark_host {
    name: "ckati_fileutil_bench",
    defaults: ["ckati_defaults"],
    srcs: [
        "fileutil_bench.cc",
    ],
    static_libs: ["libckati"],
}