| /* | 
 |  * 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", | 
 |     ], | 
 | } |