summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Wirtz <dcode@dcode.io>2018-01-20 00:56:54 +0100
committerAlon Zakai <alonzakai@gmail.com>2018-01-19 15:56:54 -0800
commit3a13cbeaed21e452b855ce7b132de92d09b9e997 (patch)
treeb2e84c5f2be72263627b8c2668256a8a12eb289f
parent63ebdb6d360c6e96e6f0e10974dfd8c29baade73 (diff)
downloadbinaryen-3a13cbeaed21e452b855ce7b132de92d09b9e997.tar.gz
binaryen-3a13cbeaed21e452b855ce7b132de92d09b9e997.tar.bz2
binaryen-3a13cbeaed21e452b855ce7b132de92d09b9e997.zip
Use out-of-tree-compatible paths in build-js.sh, see #1370 (#1373)
-rwxr-xr-xbuild-js.sh152
1 files changed, 79 insertions, 73 deletions
diff --git a/build-js.sh b/build-js.sh
index a82b46a25..2e21a84ec 100755
--- a/build-js.sh
+++ b/build-js.sh
@@ -24,7 +24,7 @@ if [ "$1" == "-h" ] || [ "$1" == "--help" ] || [ "$1" == "-help" ]; then
exit 1
fi
-if [ -z $EMSCRIPTEN ]; then
+if [ -z "$EMSCRIPTEN" ]; then
if (which emcc >/dev/null); then
# Found emcc in PATH -- set EMSCRIPTEN (we need this to access webidl_binder.py)
EMSCRIPTEN=$(dirname "$(which emcc)")
@@ -57,85 +57,91 @@ else
# See https://gist.github.com/rsms/e33c61a25a31c08260161a087be03169
fi
+# input sources relative to this script
+BINARYEN_SRC="$(dirname $0)/src"
+
+# output binaries relative to current working directory
+BINARYEN_BIN="$PWD/bin"
+
echo "building shared bitcode"
"$EMSCRIPTEN/em++" \
$EMCC_ARGS \
- src/asmjs/asm_v_wasm.cpp \
- src/asmjs/shared-constants.cpp \
- src/cfg/Relooper.cpp \
- src/emscripten-optimizer/optimizer-shared.cpp \
- src/emscripten-optimizer/parser.cpp \
- src/emscripten-optimizer/simple_ast.cpp \
- src/ir/ExpressionAnalyzer.cpp \
- src/ir/ExpressionManipulator.cpp \
- src/ir/LocalGraph.cpp \
- src/passes/pass.cpp \
- src/passes/CoalesceLocals.cpp \
- src/passes/CodeFolding.cpp \
- src/passes/CodePushing.cpp \
- src/passes/ConstHoisting.cpp \
- src/passes/DeadCodeElimination.cpp \
- src/passes/DuplicateFunctionElimination.cpp \
- src/passes/ExtractFunction.cpp \
- src/passes/Flatten.cpp \
- src/passes/I64ToI32Lowering.cpp \
- src/passes/Inlining.cpp \
- src/passes/InstrumentLocals.cpp \
- src/passes/InstrumentMemory.cpp \
- src/passes/LegalizeJSInterface.cpp \
- src/passes/LocalCSE.cpp \
- src/passes/LogExecution.cpp \
- src/passes/MemoryPacking.cpp \
- src/passes/MergeBlocks.cpp \
- src/passes/MergeLocals.cpp \
- src/passes/Metrics.cpp \
- src/passes/NameList.cpp \
- src/passes/OptimizeInstructions.cpp \
- src/passes/PickLoadSigns.cpp \
- src/passes/PostEmscripten.cpp \
- src/passes/Precompute.cpp \
- src/passes/Print.cpp \
- src/passes/PrintCallGraph.cpp \
- src/passes/RedundantSetElimination.cpp \
- src/passes/RelooperJumpThreading.cpp \
- src/passes/RemoveImports.cpp \
- src/passes/RemoveMemory.cpp \
- src/passes/RemoveUnusedBrs.cpp \
- src/passes/RemoveUnusedModuleElements.cpp \
- src/passes/RemoveUnusedNames.cpp \
- src/passes/ReorderFunctions.cpp \
- src/passes/ReorderLocals.cpp \
- src/passes/ReReloop.cpp \
- src/passes/SafeHeap.cpp \
- src/passes/SimplifyLocals.cpp \
- src/passes/SpillPointers.cpp \
- src/passes/SSAify.cpp \
- src/passes/TrapMode.cpp \
- src/passes/Untee.cpp \
- src/passes/Vacuum.cpp \
- src/support/bits.cpp \
- src/support/colors.cpp \
- src/support/safe_integer.cpp \
- src/support/threads.cpp \
- src/wasm/literal.cpp \
- src/wasm/wasm-binary.cpp \
- src/wasm/wasm-s-parser.cpp \
- src/wasm/wasm-type.cpp \
- src/wasm/wasm-validator.cpp \
- src/wasm/wasm.cpp \
- src/wasm-emscripten.cpp \
- -Isrc/ \
+ $BINARYEN_SRC/asmjs/asm_v_wasm.cpp \
+ $BINARYEN_SRC/asmjs/shared-constants.cpp \
+ $BINARYEN_SRC/cfg/Relooper.cpp \
+ $BINARYEN_SRC/emscripten-optimizer/optimizer-shared.cpp \
+ $BINARYEN_SRC/emscripten-optimizer/parser.cpp \
+ $BINARYEN_SRC/emscripten-optimizer/simple_ast.cpp \
+ $BINARYEN_SRC/ir/ExpressionAnalyzer.cpp \
+ $BINARYEN_SRC/ir/ExpressionManipulator.cpp \
+ $BINARYEN_SRC/ir/LocalGraph.cpp \
+ $BINARYEN_SRC/passes/pass.cpp \
+ $BINARYEN_SRC/passes/CoalesceLocals.cpp \
+ $BINARYEN_SRC/passes/CodeFolding.cpp \
+ $BINARYEN_SRC/passes/CodePushing.cpp \
+ $BINARYEN_SRC/passes/ConstHoisting.cpp \
+ $BINARYEN_SRC/passes/DeadCodeElimination.cpp \
+ $BINARYEN_SRC/passes/DuplicateFunctionElimination.cpp \
+ $BINARYEN_SRC/passes/ExtractFunction.cpp \
+ $BINARYEN_SRC/passes/Flatten.cpp \
+ $BINARYEN_SRC/passes/I64ToI32Lowering.cpp \
+ $BINARYEN_SRC/passes/Inlining.cpp \
+ $BINARYEN_SRC/passes/InstrumentLocals.cpp \
+ $BINARYEN_SRC/passes/InstrumentMemory.cpp \
+ $BINARYEN_SRC/passes/LegalizeJSInterface.cpp \
+ $BINARYEN_SRC/passes/LocalCSE.cpp \
+ $BINARYEN_SRC/passes/LogExecution.cpp \
+ $BINARYEN_SRC/passes/MemoryPacking.cpp \
+ $BINARYEN_SRC/passes/MergeBlocks.cpp \
+ $BINARYEN_SRC/passes/MergeLocals.cpp \
+ $BINARYEN_SRC/passes/Metrics.cpp \
+ $BINARYEN_SRC/passes/NameList.cpp \
+ $BINARYEN_SRC/passes/OptimizeInstructions.cpp \
+ $BINARYEN_SRC/passes/PickLoadSigns.cpp \
+ $BINARYEN_SRC/passes/PostEmscripten.cpp \
+ $BINARYEN_SRC/passes/Precompute.cpp \
+ $BINARYEN_SRC/passes/Print.cpp \
+ $BINARYEN_SRC/passes/PrintCallGraph.cpp \
+ $BINARYEN_SRC/passes/RedundantSetElimination.cpp \
+ $BINARYEN_SRC/passes/RelooperJumpThreading.cpp \
+ $BINARYEN_SRC/passes/RemoveImports.cpp \
+ $BINARYEN_SRC/passes/RemoveMemory.cpp \
+ $BINARYEN_SRC/passes/RemoveUnusedBrs.cpp \
+ $BINARYEN_SRC/passes/RemoveUnusedModuleElements.cpp \
+ $BINARYEN_SRC/passes/RemoveUnusedNames.cpp \
+ $BINARYEN_SRC/passes/ReorderFunctions.cpp \
+ $BINARYEN_SRC/passes/ReorderLocals.cpp \
+ $BINARYEN_SRC/passes/ReReloop.cpp \
+ $BINARYEN_SRC/passes/SafeHeap.cpp \
+ $BINARYEN_SRC/passes/SimplifyLocals.cpp \
+ $BINARYEN_SRC/passes/SpillPointers.cpp \
+ $BINARYEN_SRC/passes/SSAify.cpp \
+ $BINARYEN_SRC/passes/TrapMode.cpp \
+ $BINARYEN_SRC/passes/Untee.cpp \
+ $BINARYEN_SRC/passes/Vacuum.cpp \
+ $BINARYEN_SRC/support/bits.cpp \
+ $BINARYEN_SRC/support/colors.cpp \
+ $BINARYEN_SRC/support/safe_integer.cpp \
+ $BINARYEN_SRC/support/threads.cpp \
+ $BINARYEN_SRC/wasm/literal.cpp \
+ $BINARYEN_SRC/wasm/wasm-binary.cpp \
+ $BINARYEN_SRC/wasm/wasm-s-parser.cpp \
+ $BINARYEN_SRC/wasm/wasm-type.cpp \
+ $BINARYEN_SRC/wasm/wasm-validator.cpp \
+ $BINARYEN_SRC/wasm/wasm.cpp \
+ $BINARYEN_SRC/wasm-emscripten.cpp \
+ -I$BINARYEN_SRC \
-o shared.bc
echo "building wasm.js"
"$EMSCRIPTEN/em++" \
$EMCC_ARGS \
- src/wasm-js.cpp \
+ $BINARYEN_SRC/wasm-js.cpp \
shared.bc \
- -Isrc/ \
- -o bin/wasm${OUT_FILE_SUFFIX}.js \
+ -I$BINARYEN_SRC/ \
+ -o $BINARYEN_BIN/wasm${OUT_FILE_SUFFIX}.js \
-s MODULARIZE=1 \
-s 'EXTRA_EXPORTED_RUNTIME_METHODS=["writeAsciiToMemory"]' \
-s 'EXPORT_NAME="WasmJS"'
@@ -581,11 +587,11 @@ export_function "_BinaryenSetAPITracing"
"$EMSCRIPTEN/em++" \
$EMCC_ARGS \
- src/binaryen-c.cpp \
+ $BINARYEN_SRC/binaryen-c.cpp \
shared.bc \
- -Isrc/ \
+ -I$BINARYEN_SRC/ \
-s EXPORTED_FUNCTIONS=[${EXPORTED_FUNCTIONS}] \
- -o bin/binaryen${OUT_FILE_SUFFIX}.js \
+ -o $BINARYEN_BIN/binaryen${OUT_FILE_SUFFIX}.js \
-s MODULARIZE_INSTANCE=1 \
-s 'EXPORT_NAME="Binaryen"' \
- --post-js src/js/binaryen.js-post.js
+ --post-js $BINARYEN_SRC/js/binaryen.js-post.js