blob: f6dab2d72382c088ac33937cfa7bf1fdb4754f48 [file] [log] [blame]
// Shared library for target
// ========================================================
cc_defaults {
name: "libnativeloader-defaults",
defaults: ["art_defaults"],
cppflags: [
"-fvisibility=hidden",
],
header_libs: ["libnativeloader-headers"],
export_header_lib_headers: ["libnativeloader-headers"],
}
cc_library {
name: "libnativeloader",
defaults: ["libnativeloader-defaults"],
visibility: [
"//frameworks/base/cmds/app_process",
// TODO(b/133140750): Clean this up.
"//frameworks/base/native/webview/loader",
],
apex_available: [
"com.android.art.release",
"com.android.art.debug",
],
host_supported: true,
srcs: [
"native_loader.cpp",
],
header_libs: ["libnativehelper_header_only"],
shared_libs: [
"liblog",
"libnativebridge",
"libbase",
],
target: {
android: {
srcs: [
"library_namespaces.cpp",
"native_loader_namespace.cpp",
"public_libraries.cpp",
],
shared_libs: [
"libdl_android",
],
whole_static_libs: [
"PlatformProperties",
],
},
},
required: [
"llndk.libraries.txt",
"vndksp.libraries.txt",
],
stubs: {
symbol_file: "libnativeloader.map.txt",
versions: ["1"],
},
}
// TODO(b/124250621) eliminate the need for this library
cc_library {
name: "libnativeloader_lazy",
defaults: ["libnativeloader-defaults"],
visibility: [
"//frameworks/base/core/jni",
"//frameworks/native/opengl/libs",
"//frameworks/native/vulkan/libvulkan",
],
host_supported: false,
srcs: ["native_loader_lazy.cpp"],
required: ["libnativeloader"],
}
cc_library_headers {
name: "libnativeloader-headers",
visibility: [
"//art:__subpackages__",
// TODO(b/133140750): Clean this up.
"//frameworks/av/media/libstagefright",
"//frameworks/native/libs/graphicsenv",
"//frameworks/native/vulkan/libvulkan",
],
host_supported: true,
export_include_dirs: ["include"],
}
cc_test {
name: "libnativeloader_test",
srcs: [
"native_loader_test.cpp",
"native_loader.cpp",
"library_namespaces.cpp",
"native_loader_namespace.cpp",
"public_libraries.cpp",
],
cflags: ["-DANDROID"],
static_libs: [
"libbase",
"liblog",
"libgmock",
"PlatformProperties",
],
header_libs: [
"libnativebridge-headers",
"libnativehelper_header_only",
"libnativeloader-headers",
],
// native_loader_test.cpp mocks libdl APIs so system_shared_libs
// are used to include C libraries without libdl.
system_shared_libs: [
"libc",
"libm",
],
test_suites: ["device-tests"],
}