Avoid relinking plugin dylibs

The `copy_dependencies` logic is invoking
`change_non_system_libraries_path` with absolute paths
to gstreamer *plugin dylibs*.

`change_non_system_libraries_path` skips editing links
in servo binary to relocatable dylibs, but the since the
plugins have absolute paths, they are treated as
'non-relocable' and it will try to edit the *non-existent*
(since plugins are loaded dynamically) link in servo bin.

These unnecessary calls to change_link_name is cause
of the slowness identified in #29764

This PR fixes the issue by ensuring plugins are not
included in the call to change_non_system_libraries_path

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
This commit is contained in:
Mukilan Thiyagarajan 2023-05-21 11:33:22 +05:30
parent 1bb713521b
commit df71aa2f1e

View file

@ -858,8 +858,8 @@ def copy_dependencies(binary_path, lib_path, gst_root):
# Update binary libraries
binary_dependencies = set(otool(binary_path))
binary_dependencies = binary_dependencies.union(macos_plugins())
change_non_system_libraries_path(binary_dependencies, relative_path, binary_path)
binary_dependencies = binary_dependencies.union(macos_plugins())
# Update dependencies libraries
need_checked = binary_dependencies