1/* 2 * Copyright (C) 2019 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 17// libandroid_runtime_lazy is a shim library. 18// This provides very limited small set of APIs from libandroid_runtime. 19// 20// By depending on this instead of libandroid_runtime, 21// a library can be loaded without paying the cost of libandroid_runtime 22// which is quite huge. The cost will be paid when libandroid_runtime is actually used. 23// 24// For Partial-source PDK build, there is a constraint that 25// frameworks/native modules should not depend on frameworks/base. 26// This library can be used to cut down the dependency between them. 27// (e.g. libbinder_ndk) 28// 29// Some libraries which serve as LL-NDK and NDK as well may depend on this 30// instead of libandroid_runtime. When they are used by a vendor process, 31// depending on libandroid_runtime is meaningless. In this case, 32// they can depend on libandroid_runtime_lazy. 33package { 34 // See: http://go/android-license-faq 35 // A large-scale-change added 'default_applicable_licenses' to import 36 // all of the 'license_kinds' from "frameworks_native_license" 37 // to get the below license kinds: 38 // SPDX-license-identifier-Apache-2.0 39 default_applicable_licenses: ["frameworks_native_license"], 40} 41 42cc_library { 43 name: "libandroid_runtime_lazy", 44 vendor_available: true, 45 recovery_available: true, 46 double_loadable: true, 47 host_supported: true, 48 target: { 49 darwin: { 50 enabled: false, 51 }, 52 }, 53 54 cflags: [ 55 "-Wall", 56 "-Werror", 57 "-Wunused", 58 "-Wunreachable-code", 59 ], 60 61 srcs: [ 62 "android_runtime_lazy.cpp", 63 ], 64 65 shared_libs: [ 66 "liblog", 67 "libutils", 68 ], 69 70 export_include_dirs: [ 71 "include", 72 ], 73 74 header_libs: [ 75 "jni_headers", 76 "libbinder_headers", 77 ], 78} 79