Codegen: proper command line argument parsing #720
Merged
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.
I wanted to run
inv codegen.local
with a--clean
flag (to overwrite all generated code).Adding the flag to the existing runner code, where we manually parse command line variables, proved very cumbersome (and conflicted with the previous addition of the
--clean
flag forinv codegen <user> <func>
).So, once and for all, I use
boost::program_options
for the code generation binaries, the same way we did before for function runner binaries.In addition, hacking around with
wasi-libc
and the toolchain in general makes it necessary to re-run the codegen several times during debugging for different runtimes. As a consequence, I re-factorcodegen.local
tocodegen.tests
(more intuitive) and break it down into:codegen.wavm
,codegen.wamr
,codegen.sgx
,codegen.python
, andcodegen.libs
. Each of which can be called indepdently as a separate task.