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 double_loadable: true, 46 host_supported: true, 47 target: { 48 darwin: { 49 enabled: false, 50 } 51 }, 52 53 cflags: [ 54 "-Wall", 55 "-Werror", 56 "-Wunused", 57 "-Wunreachable-code", 58 ], 59 60 srcs: [ 61 "android_runtime_lazy.cpp", 62 ], 63 64 shared_libs: [ 65 "liblog", 66 "libutils", 67 ], 68 69 export_include_dirs: [ 70 "include", 71 ], 72 73 header_libs: [ 74 "jni_headers", 75 "libbinder_headers", 76 ], 77} 78