* [Build] Update scripts to use dyld_info
dyldinfo has been deprecated and will no longer be available on newer Xcode releases. It has been replaced with dyld_info. To stay compatible with older releases, we are still falling back to dyldinfo, if dyld_info is not available.
rdar://98570807
* Apply suggestions from code review
Co-authored-by: Guillaume Lessard <glessard@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Guillaume Lessard <glessard@users.noreply.github.com>
The `__future__` we relied on is now, where the 3 specific things are
all included [since Python 3.0](https://docs.python.org/3/library/__future__.html):
* absolute_import
* print_function
* unicode_literals
* division
These import statements are no-ops and are no longer necessary.
In Python 3, subprocess output is read as binary data by default, which isn’t what we want.
Instead of reading process output as byte strings, then manually decoding them into strings, simply pass `text=True` to functions in the `subprocess` module, so that we get properly decoded strings right out the box.
This fixes places that forget to do the decoding step — most especially, the `update-checkout` script. That script prints Git output as byte strings, which leads to unreadable results.
Additionally, in shell.run, use the same pipe for capturing both stdout and stderr. The distinction is pretty pointless in this use case; however, keeping the two channels separate means that we lose the original ordering of printed messages, which does matter.
* Update swift-rpathize.py to work with Python 3.8 and Python 2.7
In Python 2, str() is also a kind of bytes blob
In Python 3, str() is a Unicode string that's unrelated
* Avoid `l` as a variable name
Python-lint correctly warns about single-character variables that can be confused with numbers