diff options
-rwxr-xr-x | scripts/embedwast.py | 60 | ||||
-rw-r--r-- | src/passes/CMakeLists.txt | 4 |
2 files changed, 39 insertions, 25 deletions
diff --git a/scripts/embedwast.py b/scripts/embedwast.py index 7327f195a..6d97b21e9 100755 --- a/scripts/embedwast.py +++ b/scripts/embedwast.py @@ -1,31 +1,45 @@ -#! /usr/bin/env python - -# Copyright 2018 WebAssembly Community Group participants +#!/usr/bin/env python +# +# Copyright 2018 WebAssembly Community Group participants # -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import sys -wast = open('wasm-intrinsics.wast').read() +input_file = sys.argv[1] +output_file = sys.argv[2] + +with open(input_file) as f: + wast = f.read() + +output = """\ +// Automatically generated by embedwast.py + +#include "passes/intrinsics-module.h" + +static const char theModule[%d] = { +""" % (len(wast) + 1) -output = "" -output += "#include \"passes/intrinsics-module.h\"\n" -output += "namespace wasm {\n" -output += "const char theModule[" + str(len(wast) + 1) + "] = {\n" for c in wast: - output += str(ord(c)) + ', ' -output += '0' -output += "\n};\n" -output += "const char* IntrinsicsModuleWast = theModule;\n" -output += "}\n" -open(sys.argv[1], 'w').write(output) + output += str(ord(c)) + ', ' + +output += '''0 +}; + +namespace wasm { +const char* IntrinsicsModuleWast = theModule; +} +''' + +with open(output_file, 'w') as f: + f.write(output) diff --git a/src/passes/CMakeLists.txt b/src/passes/CMakeLists.txt index 05ed3821b..bbb2a4610 100644 --- a/src/passes/CMakeLists.txt +++ b/src/passes/CMakeLists.txt @@ -1,7 +1,7 @@ add_custom_command( OUTPUT WasmIntrinsics.cpp - COMMAND python ../../scripts/embedwast.py ${CMAKE_CURRENT_BINARY_DIR}/WasmIntrinsics.cpp - DEPENDS ../../scripts/embedwast.py wasm-intrinsics.wast) + COMMAND python ${CMAKE_SOURCE_DIR}/scripts/embedwast.py ${CMAKE_SOURCE_DIR}/src/passes/wasm-intrinsics.wast ${CMAKE_CURRENT_BINARY_DIR}/WasmIntrinsics.cpp + DEPENDS ${CMAKE_SOURCE_DIR}/scripts/embedwast.py wasm-intrinsics.wast) SET(passes_SOURCES pass.cpp |