diff options
Diffstat (limited to 'src/s2wasm-main.cpp')
-rw-r--r-- | src/s2wasm-main.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/s2wasm-main.cpp b/src/s2wasm-main.cpp index e75147b75..03321a608 100644 --- a/src/s2wasm-main.cpp +++ b/src/s2wasm-main.cpp @@ -28,6 +28,7 @@ using namespace wasm; int main(int argc, const char *argv[]) { bool ignoreUnknownSymbols = false; + std::string startFunction; Options options("s2wasm", "Link .s file into .wast"); options .add("--output", "-o", "Output file (stdout if not specified)", @@ -41,6 +42,11 @@ int main(int argc, const char *argv[]) { [&ignoreUnknownSymbols](Options *, const std::string &) { ignoreUnknownSymbols = true; }) + .add("--start", "", "Generate the start method (default: main)", + Options::Arguments::Optional, + [&startFunction](Options *, const std::string &argument) { + startFunction = argument.size() ? argument : "main"; + }) .add("--global-base", "-g", "Where to start to place globals", Options::Arguments::One, [](Options *o, const std::string &argument) { @@ -70,7 +76,7 @@ int main(int argc, const char *argv[]) { : 0; if (options.debug) std::cerr << "Global base " << globalBase << '\n'; S2WasmBuilder s2wasm(wasm, input.c_str(), options.debug, globalBase, - stackAllocation, ignoreUnknownSymbols); + stackAllocation, ignoreUnknownSymbols, startFunction); if (options.debug) std::cerr << "Emscripten gluing..." << std::endl; std::stringstream meta; |