/*
 * Copyright (C) 2019 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: "perfstatsd_defaults",

    shared_libs: [
        "libbase",
        "libbinder",
        "libcutils",
        "libhidlbase",
        "libhwbinder",
        "liblog",
        "libutils",
    ],

    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra",
        "-Wno-unused-parameter"
    ],
}

cc_binary {
    name: "perfstatsd",

    defaults: ["perfstatsd_defaults"],

    srcs: ["main.cpp"],
    local_include_dirs: ["include"],
    static_libs: ["libperfstatsd"],

    init_rc: ["perfstatsd.rc"],

    owner: "google",
    vendor: true,
}

cc_library_static {
    name: "libperfstatsd",

    defaults: ["perfstatsd_defaults"],

    srcs: [
        "perfstatsd.cpp",
        "perfstatsd_service.cpp",
        "perfstats_buffer.cpp",
        "cpu_usage.cpp",
        "io_usage.cpp",
	":perfstatsd_aidl_private",
    ],
    local_include_dirs: ["include"],
    aidl: {
        export_aidl_headers: true,
        local_include_dirs: ["binder"],
    },
    vendor: true,
}

filegroup {
    name: "perfstatsd_aidl_private",
    srcs: [
        "binder/android/pixel/perfstatsd/IPerfstatsdPrivate.aidl",
    ],
    path: "binder",
}
