diff options
Diffstat (limited to 'src/tools/wasm-metadce.cpp')
-rw-r--r-- | src/tools/wasm-metadce.cpp | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/tools/wasm-metadce.cpp b/src/tools/wasm-metadce.cpp index 5be60c298..cd8c8546a 100644 --- a/src/tools/wasm-metadce.cpp +++ b/src/tools/wasm-metadce.cpp @@ -365,6 +365,9 @@ int main(int argc, const char* argv[]) { bool debugInfo = false; std::string graphFile; bool dump = false; + std::string inputSourceMapFilename; + std::string outputSourceMapFilename; + std::string outputSourceMapUrl; const std::string WasmMetaDCEOption = "wasm-opt options"; @@ -423,6 +426,30 @@ int main(int argc, const char* argv[]) { o->extra["output"] = argument; Colors::setEnabled(false); }) + .add("--input-source-map", + "-ism", + "Consume source map from the specified file", + WasmMetaDCEOption, + Options::Arguments::One, + [&inputSourceMapFilename](Options* o, const std::string& argument) { + inputSourceMapFilename = argument; + }) + .add("--output-source-map", + "-osm", + "Emit source map to the specified file", + WasmMetaDCEOption, + Options::Arguments::One, + [&outputSourceMapFilename](Options* o, const std::string& argument) { + outputSourceMapFilename = argument; + }) + .add("--output-source-map-url", + "-osu", + "Emit specified string as source map URL", + WasmMetaDCEOption, + Options::Arguments::One, + [&outputSourceMapUrl](Options* o, const std::string& argument) { + outputSourceMapUrl = argument; + }) .add("--emit-text", "-S", "Emit text instead of binary for the output file", @@ -470,7 +497,7 @@ int main(int argc, const char* argv[]) { ModuleReader reader; reader.setDWARF(debugInfo); try { - reader.read(options.extra["infile"], wasm); + reader.read(options.extra["infile"], wasm, inputSourceMapFilename); } catch (ParseException& p) { p.dump(std::cerr); Fatal() << "error in parsing wasm input"; @@ -578,6 +605,10 @@ int main(int argc, const char* argv[]) { ModuleWriter writer; writer.setBinary(emitBinary); writer.setDebugInfo(debugInfo); + if (outputSourceMapFilename.size()) { + writer.setSourceMapFilename(outputSourceMapFilename); + writer.setSourceMapUrl(outputSourceMapUrl); + } writer.write(wasm, options.extra["output"]); } |