// Copyright (C) 2009 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_library_headers {
    name: "libbinder_headers",
    export_include_dirs: ["include"],
}

cc_library {
    name: "libbinder",

    // for vndbinder
    vendor_available: true,

    srcs: [
        "AppOpsManager.cpp",
        "Binder.cpp",
        "BpBinder.cpp",
        "BufferedTextOutput.cpp",
        "Debug.cpp",
        "IActivityManager.cpp",
        "IAppOpsCallback.cpp",
        "IAppOpsService.cpp",
        "IBatteryStats.cpp",
        "IInterface.cpp",
        "IMediaResourceMonitor.cpp",
        "IMemory.cpp",
        "IPCThreadState.cpp",
        "IPermissionController.cpp",
        "IProcessInfoService.cpp",
        "IResultReceiver.cpp",
        "IServiceManager.cpp",
        "IShellCallback.cpp",
        "MemoryBase.cpp",
        "MemoryDealer.cpp",
        "MemoryHeapBase.cpp",
        "Parcel.cpp",
        "PermissionCache.cpp",
        "PersistableBundle.cpp",
        "ProcessInfoService.cpp",
        "ProcessState.cpp",
        "Static.cpp",
        "Status.cpp",
        "TextOutput.cpp",
        "IpPrefix.cpp",
        "Value.cpp",
    ],

    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
    ],
    product_variables: {
        binder32bit: {
            cflags: ["-DBINDER_IPC_32BIT=1"],
        },
    },

    shared_libs: [
        "libbase",
        "liblog",
        "libcutils",
        "libutils",
    ],
    export_shared_lib_headers: [
        "libbase",
        "libutils",
    ],

    export_include_dirs: [
        "include",
    ],

    clang: true,
    sanitize: {
        misc_undefined: ["integer"],
    },
}

subdirs = ["tests"]