mirror of
https://github.com/servo/servo.git
synced 2025-06-08 00:23:30 +00:00
Fix slowness in macos copy_dependencies 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* link (since plugins are loaded dynamically) in servo bin . These unnecessary calls to change_link_name is the cause of the slowness identified in #29764 This PR fixes the issue by ensuring plugin dylibs are not passed to the first call to change_non_system_libraries_path that patches the links in the main servo binary. With this fix, the time taken by copy_dependencies is reduced to ~3 seconds on my system. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #29764 <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because they fix slowness in build step |
||
---|---|---|
.. | ||
mach | ||
servo | ||
tidy | ||
wpt | ||
mach_bootstrap.py | ||
README.md | ||
requirements.txt | ||
tox.ini |
This directory contains various Python modules used to support servo development.
servo
servo-specific python code e.g. implementations of mach commands. This is the canonical repository for this code.
tidy
servo-tidy is used to check licenses, line lengths, whitespace, flake8 on Python files, lock file versions, and more.
wpt
servo-wpt is a module with support scripts for running, importing, exporting, updating manifests, and updating expectations for WPT tests.