fix(cpp): use reactor exec-model for library components #303
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.
Summary
-mexec-model=reactortocpp_componentcompilation (library components)-mexec-model=commandtocpp_wasm_binarycompilation (CLI executables)exec_modelto WasmComponentInfo metadata for introspectionProblem
cpp_componentwas incorrectly producing command-mode components that:wasi:cli/[email protected](CLI interface, not library)main()function causingundefined_weak:mainwarningsRoot Cause
Both
cpp_componentandcpp_wasm_binaryused identical clang invocations without specifying-mexec-model. WASI SDK defaults to command mode.Solution
cpp_componentreactor_initializecpp_wasm_binarycommand_start(main)Test plan
//examples/cpp_component/simple_calculator:simple_calculatorwasm-tools component wit- nowasi:cli/run//test/cpp_binary:hello_cppFixes #302