vndk-def: Don't remove all deps in normalization.

This commit no longer removes all dependencies (including system and
vendor dependencies) when a generic reference library has a dependency
to a library on the vendor partition.  After this commit is merged,
vndk_definition_tool.py will only remove the offending dependencies.

Test: Run vndk_definition_tool.py against bullhead build with tweaked
dependencies.

Change-Id: Id6d23112128d9bbfec9e1e4430677a07f20fd193
This commit is contained in:
Logan Chien
2017-03-16 08:43:32 +08:00
parent 747715ae24
commit 3e641efbe6

View File

@@ -996,14 +996,14 @@ class ELFLinker(object):
'vendor lib {}. Assume such dependency does '
'not exist.'.format(lib.path, dep.path),
file=sys.stderr)
lib.remove_dep(dep, ELFLinkData.NEEDED)
lib.remove_dep(dep, ELFLinkData.NEEDED)
for dep in list(lib.dl_deps):
if not is_system_lib_or_sp_hal(dep):
print('error: {}: system exe/lib must not dlopen() '
'vendor lib {}. Assume such dependency does '
'not exist.'.format(lib.path, dep.path),
file=sys.stderr)
lib.remove_dep(dep, ELFLinkData.DLOPEN)
lib.remove_dep(dep, ELFLinkData.DLOPEN)
else:
# If lib is not in AOSP generic reference, then we assume that
# lib must be moved to vendor partition.