summaryrefslogtreecommitdiff
path: root/src/s2wasm-main.cpp
diff options
context:
space:
mode:
authorJF Bastien <github@jfbastien.com>2016-02-05 11:23:11 +0100
committerJF Bastien <github@jfbastien.com>2016-02-05 11:23:11 +0100
commit8f67b6e27a38c93fbca7f3c44a88889b3896952f (patch)
tree7f8fc703d206af8044ab794e2ae340387134c7f9 /src/s2wasm-main.cpp
parentc1f9026c2788e4ef6f6af0c6d9aa04d22fc00320 (diff)
parent31409184708b04bae830869c7b6ce61726020444 (diff)
downloadbinaryen-8f67b6e27a38c93fbca7f3c44a88889b3896952f.tar.gz
binaryen-8f67b6e27a38c93fbca7f3c44a88889b3896952f.tar.bz2
binaryen-8f67b6e27a38c93fbca7f3c44a88889b3896952f.zip
Merge pull request #182 from WebAssembly/start
Support start
Diffstat (limited to 'src/s2wasm-main.cpp')
-rw-r--r--src/s2wasm-main.cpp8
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;