diff options
Diffstat (limited to 'libnativeloader/Android.bp')
| -rw-r--r-- | libnativeloader/Android.bp | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/libnativeloader/Android.bp b/libnativeloader/Android.bp new file mode 100644 index 0000000000..bfafa7656c --- /dev/null +++ b/libnativeloader/Android.bp @@ -0,0 +1,116 @@ +// 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", + ], + }, + }, + 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", + apex_available: [ + "//apex_available:platform", + "com.android.art.debug", + "com.android.art.release", + ], + 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"], +} |