gh-103963: fix 'make regen-opcode' in out-of-tree builds#104177
Merged
Uh oh!
There was an error while loading. Please reload this page.
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.
#104029 added a new file generated by
make regen-opcode, but unlike the existing path arguments togenerate_opcode_h.py, the newintrinsicoutfileargument was not wired in as an explicitly-provided argument from the Makefile. The result is that the default relative path is always used, which only works for in-tree builds. (The Makefile always uses a path relative to$srcdirwhich is set correctly in out-of-tree builds to find the source tree.)This PR handles
intrinsicoutfilein the same way thatoutfileandinternaloutfilewere already handled, which allowsmake regen-opcodeto work again in out-of-tree builds.This also makes the update of the file use
Tools/build/update_file.py, which avoids replacing the file if the contents haven't changed. This can avoid needless rebuilds.