diff options
author | 2024-06-18 14:49:30 +0100 | |
---|---|---|
committer | 2024-06-19 16:20:44 +0000 | |
commit | b8d63dfa69260d79fa254c29ae432c16756fa73a (patch) | |
tree | ebecf7d3cdabce5709f2ac96fa5b89ecee92f7a8 | |
parent | 386b1261d38527ec792eb792644c928060b38d18 (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.bp | 52 |
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", |