| // Shared library for target |
| // ======================================================== |
| package { |
| // See: http://go/android-license-faq |
| // A large-scale-change added 'default_applicable_licenses' to import |
| // all of the 'license_kinds' from "art_license" |
| // to get the below license kinds: |
| // SPDX-license-identifier-Apache-2.0 |
| default_applicable_licenses: ["art_license"], |
| } |
| |
| cc_defaults { |
| name: "libnativeloader-defaults", |
| defaults: ["art_defaults"], |
| cppflags: [ |
| "-fvisibility=hidden", |
| ], |
| header_libs: ["libnativeloader-headers"], |
| export_header_lib_headers: ["libnativeloader-headers"], |
| } |
| |
| art_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", |
| "com.android.art.debug", |
| ], |
| host_supported: true, |
| srcs: [ |
| "native_loader.cpp", |
| ], |
| header_libs: [ |
| "libnativehelper_header_only", |
| ], |
| shared_libs: [ |
| "liblog", |
| "libnativebridge", |
| "libbase", |
| ], |
| target: { |
| // Library search path needed for running host tests remotely (from testcases directory). |
| linux_glibc_x86: { |
| ldflags: [ |
| "-Wl,-rpath,$ORIGIN/../art_common/out/host/linux-x86/lib", |
| "-Wl,--enable-new-dtags", |
| ], |
| }, |
| linux_glibc_x86_64: { |
| ldflags: [ |
| "-Wl,-rpath,$ORIGIN/../art_common/out/host/linux-x86/lib64", |
| "-Wl,--enable-new-dtags", |
| ], |
| }, |
| android: { |
| srcs: [ |
| "library_namespaces.cpp", |
| "native_loader_namespace.cpp", |
| "public_libraries.cpp", |
| ], |
| shared_libs: [ |
| "libdl_android", |
| ], |
| 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", |
| ], |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.media", |
| "com.android.media.swcodec", |
| ], |
| host_supported: false, |
| srcs: ["native_loader_lazy.cpp"], |
| runtime_libs: ["libnativeloader"], |
| shared_libs: ["liblog"], |
| } |
| |
| cc_library_headers { |
| name: "libnativeloader-headers", |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.art", |
| "com.android.art.debug", |
| "com.android.media", |
| ], |
| 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"], |
| header_libs: ["jni_headers"], |
| export_header_lib_headers: ["jni_headers"], |
| } |
| |
| art_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"], |
| } |