| /* |
| * Copyright (C) 2018 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. |
| */ |
| |
| // TODO(b/31559095): bionic on host should define this |
| cc_defaults { |
| name: "libbinder_ndk_host_user", |
| target: { |
| host: { |
| cflags: [ |
| "-D__INTRODUCED_IN(n)=", |
| "-D__assert(a,b,c)=", |
| // We want all the APIs to be available on the host. |
| "-D__ANDROID_API__=10000", |
| ], |
| }, |
| darwin: { |
| enabled: false, |
| }, |
| }, |
| } |
| |
| cc_library { |
| name: "libbinder_ndk", |
| |
| defaults: ["libbinder_ndk_host_user"], |
| host_supported: true, |
| |
| llndk_stubs: "libbinder_ndk.llndk", |
| |
| export_include_dirs: [ |
| "include_cpp", |
| "include_ndk", |
| "include_platform", |
| ], |
| |
| cflags: [ |
| "-Wall", |
| "-Wextra", |
| "-Werror", |
| ], |
| |
| srcs: [ |
| "ibinder.cpp", |
| "ibinder_jni.cpp", |
| "parcel.cpp", |
| "parcel_jni.cpp", |
| "process.cpp", |
| "stability.cpp", |
| "status.cpp", |
| "service_manager.cpp", |
| ], |
| |
| shared_libs: [ |
| "libandroid_runtime_lazy", |
| "libbase", |
| "libbinder", |
| "libutils", |
| ], |
| |
| header_libs: [ |
| "jni_headers", |
| ], |
| export_header_lib_headers: [ |
| "jni_headers", |
| ], |
| |
| target: { |
| android: { |
| // Only one copy of this library on an Android device |
| static: { |
| enabled: false, |
| }, |
| }, |
| linux: { |
| version_script: "libbinder_ndk.map.txt", |
| }, |
| darwin: { |
| enabled: false, |
| }, |
| }, |
| stubs: { |
| symbol_file: "libbinder_ndk.map.txt", |
| versions: [ |
| "29", |
| "30", |
| ], |
| }, |
| tidy: true, |
| tidy_flags: [ |
| // Only check our headers |
| "--header-filter=^.*frameworks/native/libs/binder/.*.h$", |
| ], |
| tidy_checks_as_errors: [ |
| "*", |
| "-clang-analyzer-core.CallAndMessage", |
| "-clang-analyzer-core.uninitialized.Assign", |
| "-clang-analyzer-unix.Malloc", |
| "-clang-analyzer-deadcode.DeadStores", |
| "-clang-analyzer-optin.cplusplus.UninitializedObject", |
| "-misc-no-recursion", |
| "-misc-redundant-expression", |
| "-misc-unused-using-decls", |
| ], |
| } |
| |
| ndk_headers { |
| name: "libbinder_ndk_headers", |
| from: "include_ndk/android", |
| to: "android", |
| srcs: [ |
| "include_ndk/android/*.h", |
| ], |
| license: "NOTICE", |
| } |
| |
| // TODO(b/160624671): package with the aidl compiler |
| ndk_headers { |
| name: "libbinder_ndk_helper_headers", |
| from: "include_cpp/android", |
| to: "android", |
| srcs: [ |
| "include_cpp/android/*.h", |
| ], |
| license: "NOTICE", |
| } |
| |
| ndk_library { |
| name: "libbinder_ndk", |
| symbol_file: "libbinder_ndk.map.txt", |
| first_version: "29", |
| } |
| |
| llndk_library { |
| name: "libbinder_ndk.llndk", |
| symbol_file: "libbinder_ndk.map.txt", |
| export_include_dirs: [ |
| "include_cpp", |
| "include_ndk", |
| "include_platform", |
| ], |
| } |