• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2009 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15cc_library_headers {
16    name: "libbinder_headers",
17    export_include_dirs: ["include"],
18    vendor_available: true,
19    header_libs: [
20        "libbase_headers",
21        "libcutils_headers",
22        "libutils_headers",
23    ],
24    export_header_lib_headers: [
25        "libbase_headers",
26        "libcutils_headers",
27        "libutils_headers",
28    ],
29}
30
31cc_library {
32    name: "libbinder",
33
34    // for vndbinder
35    vendor_available: true,
36    vndk: {
37        enabled: true,
38    },
39
40    srcs: [
41        "AppOpsManager.cpp",
42        "Binder.cpp",
43        "BpBinder.cpp",
44        "BufferedTextOutput.cpp",
45        "Debug.cpp",
46        "IActivityManager.cpp",
47        "IAppOpsCallback.cpp",
48        "IAppOpsService.cpp",
49        "IBatteryStats.cpp",
50        "IInterface.cpp",
51        "IMediaResourceMonitor.cpp",
52        "IMemory.cpp",
53        "IPCThreadState.cpp",
54        "IPermissionController.cpp",
55        "IProcessInfoService.cpp",
56        "IResultReceiver.cpp",
57        "IServiceManager.cpp",
58        "IShellCallback.cpp",
59        "MemoryBase.cpp",
60        "MemoryDealer.cpp",
61        "MemoryHeapBase.cpp",
62        "Parcel.cpp",
63        "PermissionCache.cpp",
64        "PersistableBundle.cpp",
65        "ProcessInfoService.cpp",
66        "ProcessState.cpp",
67        "Static.cpp",
68        "Status.cpp",
69        "TextOutput.cpp",
70        "IpPrefix.cpp",
71        "Value.cpp",
72        "aidl/android/content/pm/IPackageManagerNative.aidl",
73    ],
74
75    aidl: {
76        export_aidl_headers: true,
77    },
78
79    cflags: [
80        "-Wall",
81        "-Wextra",
82        "-Werror",
83    ],
84    product_variables: {
85        binder32bit: {
86            cflags: ["-DBINDER_IPC_32BIT=1"],
87        },
88    },
89
90    shared_libs: [
91        "libbase",
92        "liblog",
93        "libcutils",
94        "libutils",
95    ],
96
97    header_libs: [
98        "libbinder_headers",
99    ],
100
101    export_header_lib_headers: [
102        "libbinder_headers",
103    ],
104
105    clang: true,
106    sanitize: {
107        misc_undefined: ["integer"],
108    },
109}
110
111subdirs = ["tests"]
112