If there are multiple versions of nasm in the PATH, try them all #36
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Xcode's build environment inserts macOS SDK binaries as first in the path, and Apple ships an ancient unusable version of nasm.
This effectively breaks nasm-based builds, even on machines that have a good copy of nasm installed via homebrew. It's a PITA issue to debug when the same build command works in terminal, but not in Xcode's shell script.
This works around the issue by trying normal "nasm" first, as before. If that nasm is too old, then searches rest of the PATH. Uses std to parse PATH in a portable way.
It also fixes error message in case no nasm is found. Previously it'd print "This version of NASM is too old: No such file or directory". Now it handles
Command
's error explicitly with a better message.