Fix is_link_cmd command to support response file #70
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.
Fix pyodide/pyodide#5131
This fixes the
is_link_cmd
function which is used to detect the linker invocation.If the command is too long, build systems like Ninja (or CMake, etc) use a response file to store the commands into a file. For instance, the command
becomes
where the file
output.so.rsp
stores all the commandline parameters.Therefore, this PR fixes the
is_link_cmd
to detect the response file.Note that I also removed the usage of
re
module, as I found that using string commands are much cheaper than compiling the regex.