summaryrefslogtreecommitdiff
path: root/libnativeloader/Android.bp
diff options
context:
space:
mode:
Diffstat (limited to 'libnativeloader/Android.bp')
-rw-r--r--libnativeloader/Android.bp116
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"],
+}