Merge "vndk-def: Merge SP-NDK into LL-NDK"
diff --git a/vndk/tools/definition-tool/datasets/eligible-list-o-mr1-release.csv b/vndk/tools/definition-tool/datasets/eligible-list-o-mr1-release.csv
index 460bf5c..93c3ede 100644
--- a/vndk/tools/definition-tool/datasets/eligible-list-o-mr1-release.csv
+++ b/vndk/tools/definition-tool/datasets/eligible-list-o-mr1-release.csv
@@ -80,12 +80,12 @@
/system/${LIB}/hw/bluetooth.default.so,FWK-ONLY,
/system/${LIB}/hw/keystore.default.so,FWK-ONLY,
/system/${LIB}/ld-android.so,LL-NDK-Indirect,
-/system/${LIB}/libEGL.so,SP-NDK,
+/system/${LIB}/libEGL.so,LL-NDK,
/system/${LIB}/libETC1.so,FWK-ONLY,
/system/${LIB}/libFFTEm.so,FWK-ONLY,
-/system/${LIB}/libGLESv1_CM.so,SP-NDK,
-/system/${LIB}/libGLESv2.so,SP-NDK,
-/system/${LIB}/libGLESv3.so,SP-NDK,
+/system/${LIB}/libGLESv1_CM.so,LL-NDK,
+/system/${LIB}/libGLESv2.so,LL-NDK,
+/system/${LIB}/libGLESv3.so,LL-NDK,
/system/${LIB}/libLLVM.so,FWK-ONLY,
/system/${LIB}/libOpenMAXAL.so,FWK-ONLY,
/system/${LIB}/libOpenSLES.so,FWK-ONLY,
@@ -248,7 +248,7 @@
/system/${LIB}/libnativebridge.so,FWK-ONLY,
/system/${LIB}/libnativehelper.so,FWK-ONLY,
/system/${LIB}/libnativeloader.so,FWK-ONLY,
-/system/${LIB}/libnativewindow.so,SP-NDK,
+/system/${LIB}/libnativewindow.so,LL-NDK,
/system/${LIB}/libnbaio.so,FWK-ONLY,"Vendor module should link libnbaio_mono.so"
/system/${LIB}/libnetd_client.so,LL-NDK-Indirect,
/system/${LIB}/libnetdaidl.so,FWK-ONLY,
@@ -333,7 +333,7 @@
/system/${LIB}/libsurfaceflinger.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger_ddmconnection.so,FWK-ONLY,
/system/${LIB}/libsuspend.so,VNDK,
-/system/${LIB}/libsync.so,SP-NDK,
+/system/${LIB}/libsync.so,LL-NDK,
/system/${LIB}/libsysutils.so,VNDK,
/system/${LIB}/libtextclassifier.so,FWK-ONLY,
/system/${LIB}/libtinyalsa.so,VNDK,
@@ -348,7 +348,7 @@
/system/${LIB}/libvixl-arm64.so,VNDK,
/system/${LIB}/libvndksupport.so,LL-NDK,
/system/${LIB}/libvorbisidec.so,VNDK,
-/system/${LIB}/libvulkan.so,SP-NDK,
+/system/${LIB}/libvulkan.so,LL-NDK,
/system/${LIB}/libwebviewchromium_loader.so,FWK-ONLY,
/system/${LIB}/libwebviewchromium_plat_support.so,FWK-ONLY,
/system/${LIB}/libwfds.so,FWK-ONLY,
diff --git a/vndk/tools/definition-tool/datasets/eligible-list-o-release.csv b/vndk/tools/definition-tool/datasets/eligible-list-o-release.csv
index a7cf2f6..b1099b2 100644
--- a/vndk/tools/definition-tool/datasets/eligible-list-o-release.csv
+++ b/vndk/tools/definition-tool/datasets/eligible-list-o-release.csv
@@ -68,12 +68,12 @@
/system/${LIB}/hw/bluetooth.default.so,FWK-ONLY,
/system/${LIB}/hw/keystore.default.so,FWK-ONLY,
/system/${LIB}/ld-android.so,LL-NDK-Indirect,
-/system/${LIB}/libEGL.so,SP-NDK,
+/system/${LIB}/libEGL.so,LL-NDK,
/system/${LIB}/libETC1.so,FWK-ONLY,
/system/${LIB}/libFFTEm.so,FWK-ONLY,
-/system/${LIB}/libGLESv1_CM.so,SP-NDK,
-/system/${LIB}/libGLESv2.so,SP-NDK,
-/system/${LIB}/libGLESv3.so,SP-NDK,
+/system/${LIB}/libGLESv1_CM.so,LL-NDK,
+/system/${LIB}/libGLESv2.so,LL-NDK,
+/system/${LIB}/libGLESv3.so,LL-NDK,
/system/${LIB}/libLLVM.so,FWK-ONLY,
/system/${LIB}/libOpenMAXAL.so,FWK-ONLY,
/system/${LIB}/libOpenSLES.so,FWK-ONLY,
@@ -233,7 +233,7 @@
/system/${LIB}/libnativebridge.so,FWK-ONLY,
/system/${LIB}/libnativehelper.so,FWK-ONLY,
/system/${LIB}/libnativeloader.so,FWK-ONLY,
-/system/${LIB}/libnativewindow.so,SP-NDK,
+/system/${LIB}/libnativewindow.so,LL-NDK,
/system/${LIB}/libnbaio.so,VNDK,"Vendor modules should use libnbaio_mono.so (with less APIs) in the future"
/system/${LIB}/libnetd_client.so,LL-NDK-Indirect,
/system/${LIB}/libnetdaidl.so,FWK-ONLY,
@@ -317,7 +317,7 @@
/system/${LIB}/libsurfaceflinger.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger_ddmconnection.so,FWK-ONLY,
/system/${LIB}/libsuspend.so,VNDK,
-/system/${LIB}/libsync.so,SP-NDK,
+/system/${LIB}/libsync.so,LL-NDK,
/system/${LIB}/libsysutils.so,VNDK,
/system/${LIB}/libtextclassifier.so,FWK-ONLY,
/system/${LIB}/libtinyalsa.so,VNDK,
@@ -332,7 +332,7 @@
/system/${LIB}/libvixl-arm64.so,VNDK,
/system/${LIB}/libvndksupport.so,LL-NDK,
/system/${LIB}/libvorbisidec.so,FWK-ONLY,
-/system/${LIB}/libvulkan.so,SP-NDK,
+/system/${LIB}/libvulkan.so,LL-NDK,
/system/${LIB}/libwebrtc_audio_preprocessing.so,VND-ONLY,This will be moved to vendor partition
/system/${LIB}/libwebviewchromium_loader.so,FWK-ONLY,
/system/${LIB}/libwebviewchromium_plat_support.so,FWK-ONLY,
diff --git a/vndk/tools/definition-tool/datasets/minimum_tag_file.csv b/vndk/tools/definition-tool/datasets/minimum_tag_file.csv
index 2fa6ad8..a892fe0 100644
--- a/vndk/tools/definition-tool/datasets/minimum_tag_file.csv
+++ b/vndk/tools/definition-tool/datasets/minimum_tag_file.csv
@@ -1,8 +1,8 @@
Path,Tag,Comments
-/system/${LIB}/libEGL.so,SP-NDK,
-/system/${LIB}/libGLESv1_CM.so,SP-NDK,
-/system/${LIB}/libGLESv2.so,SP-NDK,
-/system/${LIB}/libGLESv3.so,SP-NDK,
+/system/${LIB}/libEGL.so,LL-NDK,
+/system/${LIB}/libGLESv1_CM.so,LL-NDK,
+/system/${LIB}/libGLESv2.so,LL-NDK,
+/system/${LIB}/libGLESv3.so,LL-NDK,
/system/${LIB}/libandroid_net.so,LL-NDK,
/system/${LIB}/libc.so,LL-NDK,
/system/${LIB}/libdl.so,LL-NDK,
@@ -10,11 +10,11 @@
/system/${LIB}/liblog.so,LL-NDK,
/system/${LIB}/libm.so,LL-NDK,
/system/${LIB}/libmediandk.so,FWK-ONLY-RS,
-/system/${LIB}/libnativewindow.so,SP-NDK,
+/system/${LIB}/libnativewindow.so,LL-NDK,
/system/${LIB}/libstdc++.so,LL-NDK,
-/system/${LIB}/libsync.so,SP-NDK,
+/system/${LIB}/libsync.so,LL-NDK,
/system/${LIB}/libvndksupport.so,LL-NDK,
-/system/${LIB}/libvulkan.so,SP-NDK,
+/system/${LIB}/libvulkan.so,LL-NDK,
/system/${LIB}/libz.so,LL-NDK,
/system/${LIB}/vndk-sp/android.hardware.graphics.allocator@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hardware.graphics.common@1.0.so,VNDK-SP,
diff --git a/vndk/tools/definition-tool/tests/test_elf_linker.py b/vndk/tools/definition-tool/tests/test_elf_linker.py
index cb7a249..01038a0 100755
--- a/vndk/tools/definition-tool/tests/test_elf_linker.py
+++ b/vndk/tools/definition-tool/tests/test_elf_linker.py
@@ -282,34 +282,33 @@
# LL-NDK (should be excluded from result)
gb.add_multilib(PT_SYSTEM, 'libc')
- # SP-Both VNDK-SP
+ libEGL_32, libEGL_64 = \
+ gb.add_multilib(PT_SYSTEM, 'libEGL',
+ dt_needed=['libc.so', 'libutils.so'])
+
+ # LL-NDK dependencies
+ gb.add_multilib(PT_SYSTEM, 'libutils',
+ dt_needed=['libc.so', 'libcutils.so'])
+
+ # VNDK-SP used by both LL-NDK and SP-HAL
gb.add_multilib(PT_SYSTEM, 'libsp_both_vs')
- # SP-NDK VNDK-SP
+ # VNDK-SP used by LL-NDK
gb.add_multilib(PT_SYSTEM, 'libcutils_dep', dt_needed=['libc.so'])
gb.add_multilib(PT_SYSTEM, 'libcutils',
dt_needed=['libc.so', 'libcutils_dep.so',
'libsp_both_vs.so'])
- # SP-NDK dependencies
- gb.add_multilib(PT_SYSTEM, 'libutils',
- dt_needed=['libc.so', 'libcutils.so'])
-
- # SP-NDK
- libEGL_32, libEGL_64 = \
- gb.add_multilib(PT_SYSTEM, 'libEGL',
- dt_needed=['libc.so', 'libutils.so'])
+ # VNDK-SP used by SP-HAL
+ gb.add_multilib(PT_SYSTEM, 'libhidlbase')
+ gb.add_multilib(PT_SYSTEM, 'libhidlmemory',
+ dt_needed=['libhidlbase.so', 'libsp_both_vs.so'])
# SP-HAL dependencies
gb.add_multilib(PT_VENDOR, 'libllvm_vendor_dep')
gb.add_multilib(PT_VENDOR, 'libllvm_vendor',
dt_needed=['libc.so', 'libllvm_vendor_dep.so'])
- # SP-HAL VNDK-SP
- gb.add_multilib(PT_SYSTEM, 'libhidlbase')
- gb.add_multilib(PT_SYSTEM, 'libhidlmemory',
- dt_needed=['libhidlbase.so', 'libsp_both_vs.so'])
-
# SP-HAL
libEGL_chipset_32, libEGL_chipset_64 = \
gb.add_multilib(PT_VENDOR, 'libEGL_chipset', extra_dir='egl',
@@ -334,34 +333,37 @@
self.assertEqual(2 * 1, len(sp_lib.sp_hal))
self.assertEqual(2 * 2, len(sp_lib.sp_hal_dep))
self.assertEqual(2 * 2, len(sp_lib.vndk_sp_hal))
- self.assertEqual(2 * 1, len(sp_lib.sp_ndk))
- self.assertEqual(2 * 3, len(sp_lib.sp_ndk_indirect))
+ self.assertEqual(2 * 2, len(sp_lib.ll_ndk))
+ self.assertEqual(2 * 3, len(sp_lib.ll_ndk_indirect))
self.assertEqual(2 * 1, len(sp_lib.vndk_sp_both))
sp_hal = self._get_paths_from_nodes(sp_lib.sp_hal)
sp_hal_dep = self._get_paths_from_nodes(sp_lib.sp_hal_dep)
vndk_sp_hal = self._get_paths_from_nodes(sp_lib.vndk_sp_hal)
- sp_ndk = self._get_paths_from_nodes(sp_lib.sp_ndk)
- sp_ndk_indirect = self._get_paths_from_nodes(sp_lib.sp_ndk_indirect)
+ ll_ndk = self._get_paths_from_nodes(sp_lib.ll_ndk)
+ ll_ndk_indirect = self._get_paths_from_nodes(sp_lib.ll_ndk_indirect)
vndk_sp_both = self._get_paths_from_nodes(sp_lib.vndk_sp_both)
for lib_dir in ('lib', 'lib64'):
- # SP-Both
+ # VNDK-SP used by both LL-NDK and SP-HAL
self.assertIn('/system/{}/libsp_both_vs.so'.format(lib_dir),
vndk_sp_both)
- # SP-NDK dependencies
+ # VNDK-SP used by LL-NDK
self.assertIn('/system/{}/libcutils.so'.format(lib_dir),
- sp_ndk_indirect)
+ ll_ndk_indirect)
self.assertIn('/system/{}/libcutils_dep.so'.format(lib_dir),
- sp_ndk_indirect)
+ ll_ndk_indirect)
self.assertIn('/system/{}/libutils.so'.format(lib_dir),
- sp_ndk_indirect)
+ ll_ndk_indirect)
- # SP-NDK
- self.assertIn('/system/{}/libEGL.so'.format(lib_dir), sp_ndk)
+ # VNDK-SP used by SP-HAL
+ self.assertIn('/system/{}/libhidlbase.so'.format(lib_dir),
+ vndk_sp_hal)
+ self.assertIn('/system/{}/libhidlmemory.so'.format(lib_dir),
+ vndk_sp_hal)
# SP-HAL dependencies
self.assertIn('/vendor/{}/libllvm_vendor.so'.format(lib_dir),
@@ -369,23 +371,20 @@
self.assertIn('/vendor/{}/libllvm_vendor_dep.so'.format(lib_dir),
sp_hal_dep)
- # SP-HAL VNDK-SP
- self.assertIn('/system/{}/libhidlbase.so'.format(lib_dir),
- vndk_sp_hal)
- self.assertIn('/system/{}/libhidlmemory.so'.format(lib_dir),
- vndk_sp_hal)
-
# SP-HAL
self.assertIn('/vendor/{}/egl/libEGL_chipset.so'.format(lib_dir),
sp_hal)
- # LL-NDK must be excluded.
+ # LL-NDK
+ self.assertIn('/system/{}/libEGL.so'.format(lib_dir), ll_ndk)
+ self.assertIn('/system/{}/libc.so'.format(lib_dir), ll_ndk)
+
+ # LL-NDK must not in sp_hal, sp_hal_dep, and vndk_sp_hal.
libc_path = '/system/{}/libc.so'.format(lib_dir)
self.assertNotIn(libc_path, sp_hal)
self.assertNotIn(libc_path, sp_hal_dep)
self.assertNotIn(libc_path, vndk_sp_hal)
- self.assertNotIn(libc_path, sp_ndk)
- self.assertNotIn(libc_path, sp_ndk_indirect)
+ self.assertNotIn(libc_path, ll_ndk_indirect)
def test_link_vndk_ver_dirs(self):
diff --git a/vndk/tools/definition-tool/tests/test_tagged_dict.py b/vndk/tools/definition-tool/tests/test_tagged_dict.py
index 59a7c00..58ec396 100755
--- a/vndk/tools/definition-tool/tests/test_tagged_dict.py
+++ b/vndk/tools/definition-tool/tests/test_tagged_dict.py
@@ -17,8 +17,6 @@
_TEST_DATA = '''Path,Tag
/system/lib/lib_ll_ndk.so,ll-ndk
/system/lib/lib_ll_ndk_indirect.so,ll-ndk-indirect
-/system/lib/lib_sp_ndk.so,sp-ndk
-/system/lib/lib_sp_ndk_indirect.so,sp-ndk-indirect
/system/lib/lib_vndk_sp.so,vndk-sp
/system/lib/lib_vndk_sp_indirect.so,vndk-sp-indirect
/system/lib/lib_vndk_sp_indirect_private.so,vndk-sp-indirect-private
@@ -66,39 +64,33 @@
self._check_tag_visibility(d, 'll_ndk', visible_tags)
self._check_tag_visibility(d, 'll_ndk_indirect', visible_tags)
- # SP-NDK
- visible_tags = {'ll_ndk', 'll_ndk_indirect',
- 'sp_ndk', 'sp_ndk_indirect'}
- self._check_tag_visibility(d, 'sp_ndk', visible_tags)
- self._check_tag_visibility(d, 'sp_ndk_indirect', visible_tags)
-
# VNDK-SP
- visible_tags = {'ll_ndk', 'sp_ndk', 'vndk_sp', 'vndk_sp_indirect',
+ visible_tags = {'ll_ndk', 'vndk_sp', 'vndk_sp_indirect',
'vndk_sp_indirect_private', 'fwk_only_rs'}
self._check_tag_visibility(d, 'vndk_sp', visible_tags)
self._check_tag_visibility(d, 'vndk_sp_indirect', visible_tags)
self._check_tag_visibility(d, 'vndk_sp_indirect_private', visible_tags)
# VNDK
- visible_tags = {'ll_ndk', 'sp_ndk', 'vndk_sp', 'vndk_sp_indirect',
+ visible_tags = {'ll_ndk', 'vndk_sp', 'vndk_sp_indirect',
'vndk'}
self._check_tag_visibility(d, 'vndk', visible_tags)
# FWK-ONLY
- visible_tags = {'ll_ndk', 'll_ndk_indirect', 'sp_ndk',
- 'sp_ndk_indirect', 'vndk_sp', 'vndk_sp_indirect',
+ visible_tags = {'ll_ndk', 'll_ndk_indirect',
+ 'vndk_sp', 'vndk_sp_indirect',
'vndk_sp_indirect_private', 'vndk', 'fwk_only',
'fwk_only_rs', 'sp_hal'}
self._check_tag_visibility(d, 'fwk_only', visible_tags)
self._check_tag_visibility(d, 'fwk_only_rs', visible_tags)
# SP-HAL
- visible_tags = {'ll_ndk', 'sp_ndk', 'vndk_sp', 'sp_hal', 'sp_hal_dep'}
+ visible_tags = {'ll_ndk', 'vndk_sp', 'sp_hal', 'sp_hal_dep'}
self._check_tag_visibility(d, 'sp_hal', visible_tags)
self._check_tag_visibility(d, 'sp_hal_dep', visible_tags)
# VND-ONLY
- visible_tags = {'ll_ndk', 'sp_ndk', 'vndk_sp', 'vndk_sp_indirect',
+ visible_tags = {'ll_ndk', 'vndk_sp', 'vndk_sp_indirect',
'vndk', 'sp_hal', 'sp_hal_dep', 'vnd_only'}
self._check_tag_visibility(d, 'vnd_only', visible_tags)
@@ -173,8 +165,6 @@
# Paths
self.assertIn('/system/lib/lib_ll_ndk.so', d.ll_ndk)
self.assertIn('/system/lib/lib_ll_ndk_indirect.so', d.ll_ndk_indirect)
- self.assertIn('/system/lib/lib_sp_ndk.so', d.sp_ndk)
- self.assertIn('/system/lib/lib_sp_ndk_indirect.so', d.sp_ndk_indirect)
self.assertIn('/system/lib/lib_vndk_sp.so', d.vndk_sp)
self.assertIn('/system/lib/lib_vndk_sp_indirect.so', d.vndk_sp_indirect)
self.assertIn('/system/lib/lib_vndk_sp_indirect_private.so',
@@ -223,9 +213,6 @@
self.assertEqual('ll_ndk', d.get_path_tag('/system/lib/lib_ll_ndk.so'))
self.assertEqual('ll_ndk_indirect',
d.get_path_tag('/system/lib/lib_ll_ndk_indirect.so'))
- self.assertEqual('sp_ndk', d.get_path_tag('/system/lib/lib_sp_ndk.so'))
- self.assertEqual('sp_ndk_indirect',
- d.get_path_tag('/system/lib/lib_sp_ndk_indirect.so'))
self.assertEqual('vndk_sp',
d.get_path_tag('/system/lib/lib_vndk_sp.so'))
self.assertEqual('vndk_sp_indirect',
@@ -292,19 +279,6 @@
}
self._check_path_visibility(d, all_paths, from_paths, visible_paths)
- # SP-NDK
- from_paths = {
- '/system/lib/lib_sp_ndk.so',
- '/system/lib/lib_sp_ndk_indirect.so',
- }
- visible_paths = {
- '/system/lib/lib_ll_ndk.so',
- '/system/lib/lib_ll_ndk_indirect.so',
- '/system/lib/lib_sp_ndk.so',
- '/system/lib/lib_sp_ndk_indirect.so',
- }
- self._check_path_visibility(d, all_paths, from_paths, visible_paths)
-
# VNDK-SP
from_paths = {
'/system/lib/lib_vndk_sp.so',
@@ -313,7 +287,6 @@
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
- '/system/lib/lib_sp_ndk.so',
'/system/lib/lib_vndk_sp.so',
'/system/lib/lib_vndk_sp_indirect.so',
'/system/lib/lib_vndk_sp_indirect_private.so',
@@ -327,7 +300,6 @@
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
- '/system/lib/lib_sp_ndk.so',
'/system/lib/lib_vndk_sp.so',
'/system/lib/lib_vndk_sp_indirect.so',
'/system/lib/lib_vndk.so',
@@ -342,8 +314,6 @@
visible_paths = {
'/system/lib/lib_ll_ndk.so',
'/system/lib/lib_ll_ndk_indirect.so',
- '/system/lib/lib_sp_ndk.so',
- '/system/lib/lib_sp_ndk_indirect.so',
'/system/lib/lib_vndk_sp.so',
'/system/lib/lib_vndk_sp_indirect.so',
'/system/lib/lib_vndk_sp_indirect_private.so',
@@ -361,7 +331,6 @@
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
- '/system/lib/lib_sp_ndk.so',
'/system/lib/lib_vndk_sp.so',
'/vendor/lib/lib_sp_hal.so',
'/vendor/lib/lib_sp_hal_dep.so',
@@ -374,7 +343,6 @@
}
visible_paths = {
'/system/lib/lib_ll_ndk.so',
- '/system/lib/lib_sp_ndk.so',
'/system/lib/lib_vndk_sp.so',
'/system/lib/lib_vndk_sp_indirect.so',
'/system/lib/lib_vndk.so',
@@ -423,10 +391,6 @@
self.lib_ll_ndk_indirect = \
self.graph.add('/system/lib/lib_ll_ndk_indirect.so')
- self.lib_sp_ndk = self.graph.add('/system/lib/lib_sp_ndk.so')
- self.lib_sp_ndk_indirect = \
- self.graph.add('/system/lib/lib_sp_ndk_indirect.so')
-
self.lib_vndk_sp = self.graph.add('/system/lib/lib_vndk_sp.so')
self.lib_vndk_sp_indirect = \
self.graph.add('/system/lib/lib_vndk_sp_indirect.so')
@@ -451,10 +415,6 @@
self.assertIn(self.lib_ll_ndk, self.tagged_libs.ll_ndk)
self.assertIn(self.lib_ll_ndk_indirect,
self.tagged_libs.ll_ndk_indirect)
- self.assertIn(self.lib_sp_ndk, self.tagged_libs.sp_ndk)
- self.assertIn(self.lib_sp_ndk_indirect,
- self.tagged_libs.sp_ndk_indirect)
-
self.assertIn(self.lib_vndk_sp, self.tagged_libs.vndk_sp)
self.assertIn(self.lib_vndk_sp_indirect,
self.tagged_libs.vndk_sp_indirect)
@@ -477,9 +437,6 @@
self.assertEqual('ll_ndk', d.get_path_tag(self.lib_ll_ndk))
self.assertEqual('ll_ndk_indirect',
d.get_path_tag(self.lib_ll_ndk_indirect))
- self.assertEqual('sp_ndk', d.get_path_tag(self.lib_sp_ndk))
- self.assertEqual('sp_ndk_indirect',
- d.get_path_tag(self.lib_sp_ndk_indirect))
self.assertEqual('vndk_sp', d.get_path_tag(self.lib_vndk_sp))
self.assertEqual('vndk_sp_indirect',
d.get_path_tag(self.lib_vndk_sp_indirect))
diff --git a/vndk/tools/definition-tool/tests/test_vndk.py b/vndk/tools/definition-tool/tests/test_vndk.py
index 7f62ab8..196a15b 100755
--- a/vndk/tools/definition-tool/tests/test_vndk.py
+++ b/vndk/tools/definition-tool/tests/test_vndk.py
@@ -115,8 +115,8 @@
self.assertNotIn(libvnd_bad, vndk_sets.vndk_sp)
- def test_sp_ndk_indirect_without_sp_hal(self):
- """Check the computation of sp_ndk_indirect excludes sp_hal."""
+ def test_ll_ndk_indirect_without_sp_hal(self):
+ """Check the computation of ll_ndk_indirect excludes sp_hal."""
gb = GraphBuilder()
libEGL = gb.add_lib32(PT_SYSTEM, 'libEGL',
@@ -131,11 +131,11 @@
vndk_sets = gb.graph.compute_degenerated_vndk(None)
- self.assertIn(libEGL, vndk_sets.sp_ndk)
- self.assertIn(libEGL_dep, vndk_sets.sp_ndk_indirect)
+ self.assertIn(libEGL, vndk_sets.ll_ndk)
+ self.assertIn(libEGL_dep, vndk_sets.ll_ndk_indirect)
self.assertIn(libEGL_chipset, vndk_sets.sp_hal)
- self.assertNotIn(libEGL_chipset, vndk_sets.sp_ndk_indirect)
+ self.assertNotIn(libEGL_chipset, vndk_sets.ll_ndk_indirect)
if __name__ == '__main__':
diff --git a/vndk/tools/definition-tool/tools/update_dataset.py b/vndk/tools/definition-tool/tools/update_dataset.py
index a764655..82e107a 100755
--- a/vndk/tools/definition-tool/tools/update_dataset.py
+++ b/vndk/tools/definition-tool/tools/update_dataset.py
@@ -148,19 +148,6 @@
update_tag(prefix_core + name, 'VNDK')
update_tag(prefix_vendor + name, 'VNDK')
- # Workaround for SP-NDK
- libs = [
- 'libEGL',
- 'libGLESv1_CM',
- 'libGLESv2',
- 'libGLESv3',
- 'libnativewindow',
- 'libsync',
- 'libvulkan',
- ]
- for name in libs:
- update_tag('/system/${LIB}/' + name + '.so', 'SP-NDK')
-
# Workaround for FWK-ONLY-RS
libs = [
'libft2',
diff --git a/vndk/tools/definition-tool/vndk_definition_tool.py b/vndk/tools/definition-tool/vndk_definition_tool.py
index 1702956..12d9324 100755
--- a/vndk/tools/definition-tool/vndk_definition_tool.py
+++ b/vndk/tools/definition-tool/vndk_definition_tool.py
@@ -906,7 +906,7 @@
class TaggedDict(object):
def _define_tag_constants(local_ns):
tag_list = [
- 'll_ndk', 'll_ndk_indirect', 'sp_ndk', 'sp_ndk_indirect',
+ 'll_ndk', 'll_ndk_indirect',
'vndk_sp', 'vndk_sp_indirect', 'vndk_sp_indirect_private',
'vndk',
'fwk_only', 'fwk_only_rs',
@@ -926,10 +926,10 @@
_define_tag_constants(locals())
del _define_tag_constants
- NDK = LL_NDK | SP_NDK
-
_TAG_ALIASES = {
'hl_ndk': 'fwk_only', # Treat HL-NDK as FWK-ONLY.
+ 'sp_ndk': 'll_ndk',
+ 'sp_ndk_indirect': 'll_ndk_indirect',
'vndk_indirect': 'vndk', # Legacy
'vndk_sp_hal': 'vndk_sp', # Legacy
'vndk_sp_both': 'vndk_sp', # Legacy
@@ -944,25 +944,22 @@
return tag
_LL_NDK_VIS = {'ll_ndk', 'll_ndk_indirect'}
- _SP_NDK_VIS = {'ll_ndk', 'll_ndk_indirect', 'sp_ndk', 'sp_ndk_indirect'}
- _VNDK_SP_VIS = {'ll_ndk', 'sp_ndk', 'vndk_sp', 'vndk_sp_indirect',
+ _VNDK_SP_VIS = {'ll_ndk', 'vndk_sp', 'vndk_sp_indirect',
'vndk_sp_indirect_private', 'fwk_only_rs'}
- _FWK_ONLY_VIS = {'ll_ndk', 'll_ndk_indirect', 'sp_ndk', 'sp_ndk_indirect',
+ _FWK_ONLY_VIS = {'ll_ndk', 'll_ndk_indirect',
'vndk_sp', 'vndk_sp_indirect', 'vndk_sp_indirect_private',
'vndk', 'fwk_only', 'fwk_only_rs', 'sp_hal'}
- _SP_HAL_VIS = {'ll_ndk', 'sp_ndk', 'vndk_sp', 'sp_hal', 'sp_hal_dep'}
+ _SP_HAL_VIS = {'ll_ndk', 'vndk_sp', 'sp_hal', 'sp_hal_dep'}
_TAG_VISIBILITY = {
'll_ndk': _LL_NDK_VIS,
'll_ndk_indirect': _LL_NDK_VIS,
- 'sp_ndk': _SP_NDK_VIS,
- 'sp_ndk_indirect': _SP_NDK_VIS,
'vndk_sp': _VNDK_SP_VIS,
'vndk_sp_indirect': _VNDK_SP_VIS,
'vndk_sp_indirect_private': _VNDK_SP_VIS,
- 'vndk': {'ll_ndk', 'sp_ndk', 'vndk_sp', 'vndk_sp_indirect', 'vndk'},
+ 'vndk': {'ll_ndk', 'vndk_sp', 'vndk_sp_indirect', 'vndk'},
'fwk_only': _FWK_ONLY_VIS,
'fwk_only_rs': _FWK_ONLY_VIS,
@@ -970,13 +967,13 @@
'sp_hal': _SP_HAL_VIS,
'sp_hal_dep': _SP_HAL_VIS,
- 'vnd_only': {'ll_ndk', 'sp_ndk', 'vndk_sp', 'vndk_sp_indirect',
+ 'vnd_only': {'ll_ndk', 'vndk_sp', 'vndk_sp_indirect',
'vndk', 'sp_hal', 'sp_hal_dep', 'vnd_only'},
'remove': set(),
}
- del _LL_NDK_VIS, _SP_NDK_VIS, _VNDK_SP_VIS, _FWK_ONLY_VIS, _SP_HAL_VIS
+ del _LL_NDK_VIS, _VNDK_SP_VIS, _FWK_ONLY_VIS, _SP_HAL_VIS
@classmethod
def is_tag_visible(cls, from_tag, to_tag):
@@ -1025,18 +1022,10 @@
self.get_path_tag(to_lib))
@staticmethod
- def is_ndk(tag_bit):
- return bool(tag_bit & TaggedDict.NDK)
-
- @staticmethod
def is_ll_ndk(tag_bit):
return bool(tag_bit & TaggedDict.LL_NDK)
@staticmethod
- def is_sp_ndk(tag_bit):
- return bool(tag_bit & TaggedDict.SP_NDK)
-
- @staticmethod
def is_vndk_sp(tag_bit):
return bool(tag_bit & TaggedDict.VNDK_SP)
@@ -1198,7 +1187,7 @@
SPLibResult = collections.namedtuple(
'SPLibResult',
- 'sp_hal sp_hal_dep vndk_sp_hal sp_ndk sp_ndk_indirect '
+ 'sp_hal sp_hal_dep vndk_sp_hal ll_ndk ll_ndk_indirect '
'vndk_sp_both')
@@ -1483,18 +1472,10 @@
self.linked_symbols = dict()
@property
- def is_ndk(self):
- return TaggedDict.is_ndk(self._tag_bit)
-
- @property
def is_ll_ndk(self):
return TaggedDict.is_ll_ndk(self._tag_bit)
@property
- def is_sp_ndk(self):
- return TaggedDict.is_sp_ndk(self._tag_bit)
-
- @property
def is_vndk_sp(self):
return TaggedDict.is_vndk_sp(self._tag_bit)
@@ -1614,7 +1595,7 @@
return libs
_VNDK_RESULT_FIELD_NAMES = (
- 'll_ndk', 'll_ndk_indirect', 'sp_ndk', 'sp_ndk_indirect',
+ 'll_ndk', 'll_ndk_indirect',
'vndk_sp', 'vndk_sp_unused', 'vndk_sp_indirect',
'vndk_sp_indirect_unused', 'vndk_sp_indirect_private', 'vndk',
'vndk_indirect', 'fwk_only', 'fwk_only_rs', 'sp_hal', 'sp_hal_dep',
@@ -1947,28 +1928,25 @@
"""Find all same-process HALs."""
return set(lib for lib in self.all_libs() if lib.is_sp_hal)
- def compute_sp_ndk(self):
- """Find all SP-NDK libraries."""
- return set(lib for lib in self.all_libs() if lib.is_sp_ndk)
def compute_sp_lib(self, generic_refs, ignore_hidden_deps=False):
- def is_ndk_or_sp_hal(lib):
- return lib.is_ndk or lib.is_sp_hal
+ def is_ll_ndk_or_sp_hal(lib):
+ return lib.is_ll_ndk or lib.is_sp_hal
- sp_ndk = self.compute_sp_ndk()
- sp_ndk_closure = self.compute_deps_closure(
- sp_ndk, is_ndk_or_sp_hal, ignore_hidden_deps)
- sp_ndk_indirect = sp_ndk_closure - sp_ndk
+ ll_ndk = set(lib for lib in self.all_libs() if lib.is_ll_ndk)
+ ll_ndk_closure = self.compute_deps_closure(
+ ll_ndk, is_ll_ndk_or_sp_hal, ignore_hidden_deps)
+ ll_ndk_indirect = ll_ndk_closure - ll_ndk
- def is_ndk(lib):
- return lib.is_ndk
+ def is_ll_ndk(lib):
+ return lib.is_ll_ndk
sp_hal = self.compute_predefined_sp_hal()
sp_hal_closure = self.compute_deps_closure(
- sp_hal, is_ndk, ignore_hidden_deps)
+ sp_hal, is_ll_ndk, ignore_hidden_deps)
def is_aosp_lib(lib):
- return (not generic_refs or \
+ return (not generic_refs or
generic_refs.classify_lib(lib) != GenericRefs.NEW_LIB)
vndk_sp_hal = set()
@@ -1979,12 +1957,12 @@
else:
sp_hal_dep.add(lib)
- vndk_sp_both = sp_ndk_indirect & vndk_sp_hal
- sp_ndk_indirect -= vndk_sp_both
+ vndk_sp_both = ll_ndk_indirect & vndk_sp_hal
+ ll_ndk_indirect -= vndk_sp_both
vndk_sp_hal -= vndk_sp_both
- return SPLibResult(sp_hal, sp_hal_dep, vndk_sp_hal, sp_ndk,
- sp_ndk_indirect, vndk_sp_both)
+ return SPLibResult(sp_hal, sp_hal_dep, vndk_sp_hal, ll_ndk,
+ ll_ndk_indirect, vndk_sp_both)
def normalize_partition_tags(self, sp_hals, generic_refs):
def is_system_lib_or_sp_hal(lib):
@@ -2029,9 +2007,8 @@
def compute_degenerated_vndk(self, generic_refs, tagged_paths=None,
action_ineligible_vndk_sp='warn',
action_ineligible_vndk='warn'):
- # Find LL-NDK and SP-NDK libs.
+ # Find LL-NDK libs.
ll_ndk = set(lib for lib in self.all_libs() if lib.is_ll_ndk)
- sp_ndk = set(lib for lib in self.all_libs() if lib.is_sp_ndk)
# Find pre-defined libs.
fwk_only_rs = set(lib for lib in self.all_libs() if lib.is_fwk_only_rs)
@@ -2063,7 +2040,7 @@
return generic_refs.has_same_name_lib(lib)
def is_not_sp_hal_dep(lib):
- if lib.is_ll_ndk or lib.is_sp_ndk or lib in sp_hal:
+ if lib.is_ll_ndk or lib in sp_hal:
return True
return is_aosp_lib(lib)
@@ -2072,8 +2049,7 @@
# Find VNDK-SP libs.
def is_not_vndk_sp(lib):
- return lib.is_ll_ndk or lib.is_sp_ndk or lib in sp_hal or \
- lib in sp_hal_dep
+ return lib.is_ll_ndk or lib in sp_hal or lib in sp_hal_dep
follow_ineligible_vndk_sp, warn_ineligible_vndk_sp = \
self._parse_action_on_ineligible_lib(action_ineligible_vndk_sp)
@@ -2094,8 +2070,7 @@
# Find VNDK-SP-Indirect libs.
def is_not_vndk_sp_indirect(lib):
- return lib.is_ll_ndk or lib.is_sp_ndk or lib in vndk_sp or \
- lib in fwk_only_rs
+ return lib.is_ll_ndk or lib in vndk_sp or lib in fwk_only_rs
vndk_sp_indirect = self.compute_deps_closure(
vndk_sp, is_not_vndk_sp_indirect, True)
@@ -2195,8 +2170,7 @@
return result
def is_not_vndk_sp_indirect(lib):
- return lib.is_ll_ndk or lib.is_sp_ndk or lib in vndk_sp or \
- lib in fwk_only_rs
+ return lib.is_ll_ndk or lib in vndk_sp or lib in fwk_only_rs
candidates = collect_vndk_sp_indirect_ext(vndk_sp_ext)
while candidates:
@@ -2206,8 +2180,7 @@
# Find VNDK libs (a.k.a. system shared libs directly used by vendor
# partition.)
def is_not_vndk(lib):
- if lib.is_ll_ndk or lib.is_sp_ndk or is_vndk_sp_public(lib) or \
- lib in fwk_only_rs:
+ if lib.is_ll_ndk or is_vndk_sp_public(lib) or lib in fwk_only_rs:
return True
return lib.partition != PT_SYSTEM
@@ -2278,28 +2251,19 @@
vndk_ext |= candidates
candidates = collect_vndk_ext(candidates)
- # Compute LL-NDK-Indirect and SP-NDK-Indirect.
+ # Compute LL-NDK-Indirect.
def is_not_ll_ndk_indirect(lib):
- return lib.is_ll_ndk or is_vndk_sp(lib) or is_vndk(lib)
+ return lib.is_ll_ndk or lib.is_sp_hal or is_vndk_sp(lib) or \
+ is_vndk_sp(lib) or is_vndk(lib)
ll_ndk_indirect = self.compute_deps_closure(
ll_ndk, is_not_ll_ndk_indirect, True)
ll_ndk_indirect -= ll_ndk
- def is_not_sp_ndk_indirect(lib):
- return lib.is_ll_ndk or lib.is_sp_ndk or lib.is_sp_hal or \
- lib in ll_ndk_indirect or is_vndk_sp(lib) or is_vndk(lib)
-
- sp_ndk_indirect = self.compute_deps_closure(
- sp_ndk, is_not_sp_ndk_indirect, True)
- sp_ndk_indirect -= sp_ndk
-
# Return the VNDK classifications.
return VNDKResult(
ll_ndk=ll_ndk,
ll_ndk_indirect=ll_ndk_indirect,
- sp_ndk=sp_ndk,
- sp_ndk_indirect=sp_ndk_indirect,
vndk_sp=vndk_sp,
vndk_sp_indirect=vndk_sp_indirect,
# vndk_sp_indirect_private=vndk_sp_indirect_private,
@@ -3004,7 +2968,7 @@
parser.add_argument('--module-info')
def main(self, args):
- generic_refs, graph, tagged_paths, vndk_lib_dirs = \
+ generic_refs, graph, tagged_paths, vndk_lib_dirs = \
self.create_from_args(args)
module_info = ModuleInfo.load_from_path_or_default(args.module_info)
@@ -3100,7 +3064,7 @@
# Define the exclusion filter.
if args.exclude_ndk:
def is_excluded_libs(lib):
- return lib.is_ndk or lib in excluded_libs
+ return lib.is_ll_ndk or lib in excluded_libs
else:
def is_excluded_libs(lib):
return lib in excluded_libs
@@ -3217,7 +3181,7 @@
print('\t' + path)
def main(self, args):
- generic_refs, graph, tagged_paths, vndk_lib_dirs = \
+ generic_refs, graph, tagged_paths, vndk_lib_dirs = \
self.create_from_args(args)
libnames = self.build_lib_names_dict(graph)
@@ -3257,9 +3221,8 @@
vendor_libs = set(graph.lib_pt[PT_VENDOR].values())
- eligible_libs = (tagged_libs.ll_ndk | tagged_libs.sp_ndk | \
- tagged_libs.vndk_sp | tagged_libs.vndk_sp_indirect | \
- tagged_libs.vndk)
+ eligible_libs = (tagged_libs.ll_ndk | tagged_libs.vndk_sp |
+ tagged_libs.vndk_sp_indirect | tagged_libs.vndk)
delimiter = ''
for lib in sorted(vendor_libs):
@@ -3267,7 +3230,7 @@
# Check whether vendor modules depend on extended NDK symbols.
for dep, symbols in lib.imported_ext_symbols.items():
- if dep.is_ndk:
+ if dep.is_ll_ndk:
num_errors += 1
bad_deps.add(dep)
for symbol in symbols:
@@ -3316,14 +3279,12 @@
"""Check whether eligible sets are self-contained."""
num_errors = 0
- indirect_libs = (tagged_libs.ll_ndk_indirect | \
- tagged_libs.sp_ndk_indirect | \
- tagged_libs.vndk_sp_indirect_private | \
+ indirect_libs = (tagged_libs.ll_ndk_indirect |
+ tagged_libs.vndk_sp_indirect_private |
tagged_libs.fwk_only_rs)
- eligible_libs = (tagged_libs.ll_ndk | tagged_libs.sp_ndk | \
- tagged_libs.vndk_sp | tagged_libs.vndk_sp_indirect | \
- tagged_libs.vndk)
+ eligible_libs = (tagged_libs.ll_ndk | tagged_libs.vndk_sp |
+ tagged_libs.vndk_sp_indirect | tagged_libs.vndk)
# Check eligible vndk is self-contained.
delimiter = ''