summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Martin Stjernholm <mast@google.com> 2024-06-18 14:49:30 +0100
committer Martin Stjernholm <mast@google.com> 2024-06-19 16:20:44 +0000
commitb8d63dfa69260d79fa254c29ae432c16756fa73a (patch)
treeebecf7d3cdabce5709f2ac96fa5b89ecee92f7a8
parent386b1261d38527ec792eb792644c928060b38d18 (diff)
Link libnativeloader statically into its unit tests.
Repurpose libnativeloader-defaults for use between lib and tests, rather than lib and the libnativeloader_lazy shim. Test: atest libnativeloader_tests Bug: 346515837 Change-Id: I8787194e8ec052b39e36048a72feb95f20175a91
-rw-r--r--libnativeloader/Android.bp52
1 files changed, 29 insertions, 23 deletions
diff --git a/libnativeloader/Android.bp b/libnativeloader/Android.bp
index 236f27fb92..ccd0ed2b9a 100644
--- a/libnativeloader/Android.bp
+++ b/libnativeloader/Android.bp
@@ -35,23 +35,6 @@ cc_library_headers {
cc_defaults {
name: "libnativeloader-defaults",
defaults: ["art_defaults"],
- 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",
- "test_broken_com.android.art",
- ],
host_supported: true,
srcs: [
"native_loader.cpp",
@@ -59,11 +42,11 @@ art_cc_library {
header_libs: [
"art_libartbase_headers",
"libnativehelper_header_only",
+ "libnativeloader-headers",
],
+ export_header_lib_headers: ["libnativeloader-headers"],
shared_libs: [
- "liblog",
"libnativebridge",
- "libbase",
],
target: {
android: {
@@ -81,6 +64,25 @@ art_cc_library {
],
},
},
+}
+
+art_cc_library {
+ name: "libnativeloader",
+ defaults: ["libnativeloader-defaults"],
+ shared_libs: [
+ "libbase",
+ "liblog",
+ ],
+ 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",
+ "test_broken_com.android.art",
+ ],
stubs: {
symbol_file: "libnativeloader.map.txt",
versions: ["1"],
@@ -93,7 +95,7 @@ art_cc_library {
// TODO(b/124250621) eliminate the need for this library
cc_library {
name: "libnativeloader_lazy",
- defaults: ["libnativeloader-defaults"],
+ defaults: ["art_defaults"],
visibility: [
"//frameworks/base/core/jni",
"//frameworks/native/opengl/libs",
@@ -108,15 +110,20 @@ cc_library {
srcs: ["native_loader_lazy.cpp"],
runtime_libs: ["libnativeloader"],
shared_libs: ["liblog"],
+ header_libs: ["libnativeloader-headers"],
+ export_header_lib_headers: ["libnativeloader-headers"],
}
+// native_loader_test.cpp mocks functions from libdl_android and
+// libnativebridge, so those have to be linked dynamically and this test binary
+// needs to export symbols to override them.
art_cc_test {
name: "libnativeloader_test",
defaults: [
// Cannot use art_standalone_gtest_defaults because it makes us link
- // libnativebridge statically through libart-gtest, but we need to mock
- // its symbols here.
+ // libnativebridge statically through libart-gtest.
"art_standalone_test_defaults",
+ "libnativeloader-defaults",
],
host_supported: false,
@@ -132,7 +139,6 @@ art_cc_test {
],
shared_libs: [
"liblog", // libbase dependency
- "libnativeloader",
],
static_libs: [
"libbase",