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. 33cc_library { 34 name: "libandroid_runtime_lazy", 35 vendor_available: true, 36 double_loadable: true, 37 host_supported: true, 38 39 cflags: [ 40 "-Wall", 41 "-Werror", 42 "-Wunused", 43 "-Wunreachable-code", 44 ], 45 46 srcs: [ 47 "android_runtime_lazy.cpp", 48 ], 49 50 shared_libs: [ 51 "liblog", 52 "libutils", 53 ], 54 55 export_include_dirs: [ 56 "include", 57 ], 58 59 header_libs: [ 60 "jni_headers", 61 "libbinder_headers", 62 ], 63} 64