blob: eb103d3d77396017668ffa3aedd3e5444b19a067 [file] [log] [blame]
Steven Moreland2e87adc2018-08-20 19:47:00 -07001/*
2 * Copyright (C) 2018 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Steven Morelande8a434d2019-09-20 18:42:35 +000017// TODO(b/31559095): bionic on host should define this
Bob Badour3c538232021-02-12 21:26:48 -080018package {
19 default_applicable_licenses: ["frameworks_native_libs_binder_ndk_license"],
20}
21
22// Added automatically by a large-scale-change
23// See: http://go/android-license-faq
24license {
25 name: "frameworks_native_libs_binder_ndk_license",
26 visibility: [":__subpackages__"],
27 license_kinds: [
28 "SPDX-license-identifier-Apache-2.0",
29 ],
30 license_text: [
31 "NOTICE",
32 ],
33}
34
Steven Morelande8a434d2019-09-20 18:42:35 +000035cc_defaults {
36 name: "libbinder_ndk_host_user",
37 target: {
38 host: {
39 cflags: [
40 "-D__INTRODUCED_IN(n)=",
41 "-D__assert(a,b,c)=",
Elliott Hughes906e0bb2019-10-30 14:14:45 -070042 // We want all the APIs to be available on the host.
43 "-D__ANDROID_API__=10000",
Steven Morelande8a434d2019-09-20 18:42:35 +000044 ],
45 },
Yifan Hongf856a982020-10-30 14:51:17 -070046 darwin: {
47 enabled: false,
48 },
Steven Morelande8a434d2019-09-20 18:42:35 +000049 },
50}
51
Steven Moreland28f81422019-10-03 10:40:59 -070052cc_library {
Steven Moreland2e87adc2018-08-20 19:47:00 -070053 name: "libbinder_ndk",
Steven Moreland2e87adc2018-08-20 19:47:00 -070054
Steven Morelande8a434d2019-09-20 18:42:35 +000055 defaults: ["libbinder_ndk_host_user"],
56 host_supported: true,
57
Colin Cross8af6d1c2020-10-19 13:38:00 -070058 llndk_stubs: "libbinder_ndk.llndk",
59
Steven Moreland2e87adc2018-08-20 19:47:00 -070060 export_include_dirs: [
Steven Moreland34aac102020-07-07 23:24:45 +000061 "include_cpp",
Steven Moreland2e87adc2018-08-20 19:47:00 -070062 "include_ndk",
Steven Moreland6b7ea2a2019-08-08 16:19:21 -070063 "include_platform",
Steven Moreland2e87adc2018-08-20 19:47:00 -070064 ],
65
Steven Morelandb8cfad52019-01-09 13:07:00 -080066 cflags: [
67 "-Wall",
68 "-Wextra",
69 "-Werror",
70 ],
Steven Moreland763dc4c2018-12-12 11:30:06 -080071
Steven Moreland2e87adc2018-08-20 19:47:00 -070072 srcs: [
Steven Moreland4d5ad492018-09-13 12:49:16 -070073 "ibinder.cpp",
Steven Moreland02f75652018-09-18 14:08:30 -070074 "ibinder_jni.cpp",
Steven Moreland4d5ad492018-09-13 12:49:16 -070075 "parcel.cpp",
Steven Moreland7c615582020-01-06 16:34:39 -080076 "parcel_jni.cpp",
Steven Moreland4d5ad492018-09-13 12:49:16 -070077 "process.cpp",
Steven Moreland12300a02019-08-02 13:27:15 -070078 "stability.cpp",
Steven Moreland5d62e442018-09-13 15:01:02 -070079 "status.cpp",
Steven Moreland4d5ad492018-09-13 12:49:16 -070080 "service_manager.cpp",
Steven Moreland2e87adc2018-08-20 19:47:00 -070081 ],
82
83 shared_libs: [
Jooyung Han1f65e772019-03-07 16:55:04 +090084 "libandroid_runtime_lazy",
Steven Moreland2e87adc2018-08-20 19:47:00 -070085 "libbase",
86 "libbinder",
87 "libutils",
88 ],
dimitryb2cf95d2018-10-31 14:56:29 +010089
Steven Morelandf01f7442019-02-11 15:04:13 -080090 header_libs: [
91 "jni_headers",
92 ],
93 export_header_lib_headers: [
94 "jni_headers",
95 ],
96
Steven Morelande8a434d2019-09-20 18:42:35 +000097 target: {
Steven Moreland28f81422019-10-03 10:40:59 -070098 android: {
99 // Only one copy of this library on an Android device
100 static: {
101 enabled: false,
102 },
103 },
Steven Morelande8a434d2019-09-20 18:42:35 +0000104 linux: {
105 version_script: "libbinder_ndk.map.txt",
106 },
Yifan Hongf856a982020-10-30 14:51:17 -0700107 darwin: {
108 enabled: false,
109 },
Steven Morelande8a434d2019-09-20 18:42:35 +0000110 },
Dongwon Kangc45ac092018-12-11 21:59:02 +0000111 stubs: {
112 symbol_file: "libbinder_ndk.map.txt",
Steven Morelande8a434d2019-09-20 18:42:35 +0000113 versions: [
114 "29",
115 "30",
116 ],
Dongwon Kangc45ac092018-12-11 21:59:02 +0000117 },
Jiyong Park4f97a8c2020-11-16 18:11:14 +0900118 tidy: true,
119 tidy_flags: [
120 // Only check our headers
121 "--header-filter=^.*frameworks/native/libs/binder/.*.h$",
122 ],
123 tidy_checks_as_errors: [
Chih-Hung Hsieh09d11b32021-01-11 21:29:01 -0800124 // Explicitly list the checks that should not occur in this module.
125 "abseil-*",
126 "android-*",
127 "bugprone-*",
128 "cert-*",
129 "clang-analyzer-*",
Jiyong Park7ad197b2020-12-16 10:14:10 +0900130 "-clang-analyzer-core.CallAndMessage",
131 "-clang-analyzer-core.uninitialized.Assign",
Jiyong Park21a7de52021-01-12 17:54:27 +0900132 "-clang-analyzer-unix.Malloc",
Jiyong Park7ad197b2020-12-16 10:14:10 +0900133 "-clang-analyzer-deadcode.DeadStores",
134 "-clang-analyzer-optin.cplusplus.UninitializedObject",
Chih-Hung Hsieh09d11b32021-01-11 21:29:01 -0800135 "google-*",
136 "-google-readability-*",
137 "-google-runtime-references",
138 "misc-*",
Jiyong Park7ad197b2020-12-16 10:14:10 +0900139 "-misc-no-recursion",
Chih-Hung Hsieh09d11b32021-01-11 21:29:01 -0800140 "-misc-non-private-member-variables-in-classes",
Jiyong Park7ad197b2020-12-16 10:14:10 +0900141 "-misc-redundant-expression",
Chih-Hung Hsieh09d11b32021-01-11 21:29:01 -0800142 "-misc-unused-parameters",
Jiyong Park7ad197b2020-12-16 10:14:10 +0900143 "-misc-unused-using-decls",
Chih-Hung Hsieh09d11b32021-01-11 21:29:01 -0800144 "performance*",
145 "portability*",
Jiyong Park4f97a8c2020-11-16 18:11:14 +0900146 ],
Steven Moreland2e87adc2018-08-20 19:47:00 -0700147}
Steven Morelandeb0e9cc2018-08-29 01:52:09 -0700148
Jooyung Hancaede592021-02-04 10:18:37 +0900149cc_library_headers {
150 name: "libbinder_headers_platform_shared",
151 export_include_dirs: ["include_cpp"],
152 vendor_available: true,
153 host_supported: true,
154 // TODO(b/153609531): remove when no longer needed.
155 native_bridge_supported: true,
156 target: {
157 darwin: {
158 enabled: false,
159 },
160 },
Jooyung Hancaede592021-02-04 10:18:37 +0900161 apex_available: [
162 "//apex_available:platform",
Jooyung Hancaede592021-02-04 10:18:37 +0900163 "com.android.media",
164 "com.android.media.swcodec",
Jooyung Hancaede592021-02-04 10:18:37 +0900165 ],
Jooyung Han5f6a89a2021-02-05 15:28:58 +0900166 min_sdk_version: "29",
Jooyung Hancaede592021-02-04 10:18:37 +0900167}
168
Steven Morelandeb0e9cc2018-08-29 01:52:09 -0700169ndk_headers {
170 name: "libbinder_ndk_headers",
171 from: "include_ndk/android",
172 to: "android",
173 srcs: [
174 "include_ndk/android/*.h",
175 ],
176 license: "NOTICE",
177}
178
Steven Moreland34aac102020-07-07 23:24:45 +0000179// TODO(b/160624671): package with the aidl compiler
180ndk_headers {
181 name: "libbinder_ndk_helper_headers",
182 from: "include_cpp/android",
183 to: "android",
184 srcs: [
185 "include_cpp/android/*.h",
186 ],
187 license: "NOTICE",
188}
189
Steven Morelandeb0e9cc2018-08-29 01:52:09 -0700190ndk_library {
191 name: "libbinder_ndk",
192 symbol_file: "libbinder_ndk.map.txt",
193 first_version: "29",
194}
Steven Morelandf1ac0ac2019-07-22 17:46:38 -0700195
196llndk_library {
Colin Cross8af6d1c2020-10-19 13:38:00 -0700197 name: "libbinder_ndk.llndk",
Steven Morelandf1ac0ac2019-07-22 17:46:38 -0700198 symbol_file: "libbinder_ndk.map.txt",
199 export_include_dirs: [
Steven Moreland34aac102020-07-07 23:24:45 +0000200 "include_cpp",
Steven Morelandf1ac0ac2019-07-22 17:46:38 -0700201 "include_ndk",
Steven Moreland6b7ea2a2019-08-08 16:19:21 -0700202 "include_platform",
Steven Morelandf1ac0ac2019-07-22 17:46:38 -0700203 ],
204}