This doesn't work because different modules may require different engines; for example:
- bash requires a fork-capable engine (such as cranelift or LLVM without g0m0) whereas PHP requires an EH-enabled engine (LLVM, which can have g0m0 as well).
- wasixcc doesn't require exception handling, so the feature will not be enabled, but clang needs it and thus can't be spawned from wasixcc.
The solution would be to apply some sort of engine-picking logic when subprocesses are spawned; this can be user-provided custom logic (probably most useful for Edge), with the default being wasmer's built-in engine detection logic.