// 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"], vendor_available: true, header_libs: [ "libbase_headers", "libcutils_headers", "libutils_headers", ], export_header_lib_headers: [ "libbase_headers", "libcutils_headers", "libutils_headers", ], } cc_library_shared { name: "libbinder", // for vndbinder vendor_available: true, vndk: { enabled: true, }, double_loadable: true, srcs: [ "ActivityManager.cpp", "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", "IUidObserver.cpp", "MemoryBase.cpp", "MemoryDealer.cpp", "MemoryHeapBase.cpp", "Parcel.cpp", "ParcelFileDescriptor.cpp", "PermissionCache.cpp", "PermissionController.cpp", "PersistableBundle.cpp", "ProcessInfoService.cpp", "ProcessState.cpp", "Static.cpp", "Status.cpp", "TextOutput.cpp", "IpPrefix.cpp", "Value.cpp", ":libbinder_aidl", ], target: { vendor: { exclude_srcs: [ "ActivityManager.cpp", "AppOpsManager.cpp", "IActivityManager.cpp", "IAppOpsCallback.cpp", "IAppOpsService.cpp", "IBatteryStats.cpp", "IMediaResourceMonitor.cpp", "IPermissionController.cpp", "IProcessInfoService.cpp", "IUidObserver.cpp", "PermissionCache.cpp", "PermissionController.cpp", "ProcessInfoService.cpp", "IpPrefix.cpp", ":libbinder_aidl", ], }, }, aidl: { export_aidl_headers: true, }, cflags: [ "-Wall", "-Wextra", "-Werror", "-Wzero-as-null-pointer-constant", ], product_variables: { binder32bit: { cflags: ["-DBINDER_IPC_32BIT=1"], }, }, shared_libs: [ "libbase", "liblog", "libcutils", "libutils", "libbinderthreadstate", ], header_libs: [ "libbinder_headers", ], export_header_lib_headers: [ "libbinder_headers", ], clang: true, sanitize: { misc_undefined: ["integer"], }, } // AIDL interface between libbinder and framework.jar filegroup { name: "libbinder_aidl", srcs: [ "aidl/android/content/pm/IPackageManagerNative.aidl", ], } subdirs = ["tests"]