Skip to content

Commit 3a13cbe

Browse files
dcodeIOkripken
authored andcommitted
Use out-of-tree-compatible paths in build-js.sh, see #1370 (#1373)
1 parent 63ebdb6 commit 3a13cbe

File tree

1 file changed

+79
-73
lines changed

1 file changed

+79
-73
lines changed

build-js.sh

Lines changed: 79 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ if [ "$1" == "-h" ] || [ "$1" == "--help" ] || [ "$1" == "-help" ]; then
2424
exit 1
2525
fi
2626

27-
if [ -z $EMSCRIPTEN ]; then
27+
if [ -z "$EMSCRIPTEN" ]; then
2828
if (which emcc >/dev/null); then
2929
# Found emcc in PATH -- set EMSCRIPTEN (we need this to access webidl_binder.py)
3030
EMSCRIPTEN=$(dirname "$(which emcc)")
@@ -57,85 +57,91 @@ else
5757
# See https://gist.github.com/rsms/e33c61a25a31c08260161a087be03169
5858
fi
5959

60+
# input sources relative to this script
61+
BINARYEN_SRC="$(dirname $0)/src"
62+
63+
# output binaries relative to current working directory
64+
BINARYEN_BIN="$PWD/bin"
65+
6066
echo "building shared bitcode"
6167

6268
"$EMSCRIPTEN/em++" \
6369
$EMCC_ARGS \
64-
src/asmjs/asm_v_wasm.cpp \
65-
src/asmjs/shared-constants.cpp \
66-
src/cfg/Relooper.cpp \
67-
src/emscripten-optimizer/optimizer-shared.cpp \
68-
src/emscripten-optimizer/parser.cpp \
69-
src/emscripten-optimizer/simple_ast.cpp \
70-
src/ir/ExpressionAnalyzer.cpp \
71-
src/ir/ExpressionManipulator.cpp \
72-
src/ir/LocalGraph.cpp \
73-
src/passes/pass.cpp \
74-
src/passes/CoalesceLocals.cpp \
75-
src/passes/CodeFolding.cpp \
76-
src/passes/CodePushing.cpp \
77-
src/passes/ConstHoisting.cpp \
78-
src/passes/DeadCodeElimination.cpp \
79-
src/passes/DuplicateFunctionElimination.cpp \
80-
src/passes/ExtractFunction.cpp \
81-
src/passes/Flatten.cpp \
82-
src/passes/I64ToI32Lowering.cpp \
83-
src/passes/Inlining.cpp \
84-
src/passes/InstrumentLocals.cpp \
85-
src/passes/InstrumentMemory.cpp \
86-
src/passes/LegalizeJSInterface.cpp \
87-
src/passes/LocalCSE.cpp \
88-
src/passes/LogExecution.cpp \
89-
src/passes/MemoryPacking.cpp \
90-
src/passes/MergeBlocks.cpp \
91-
src/passes/MergeLocals.cpp \
92-
src/passes/Metrics.cpp \
93-
src/passes/NameList.cpp \
94-
src/passes/OptimizeInstructions.cpp \
95-
src/passes/PickLoadSigns.cpp \
96-
src/passes/PostEmscripten.cpp \
97-
src/passes/Precompute.cpp \
98-
src/passes/Print.cpp \
99-
src/passes/PrintCallGraph.cpp \
100-
src/passes/RedundantSetElimination.cpp \
101-
src/passes/RelooperJumpThreading.cpp \
102-
src/passes/RemoveImports.cpp \
103-
src/passes/RemoveMemory.cpp \
104-
src/passes/RemoveUnusedBrs.cpp \
105-
src/passes/RemoveUnusedModuleElements.cpp \
106-
src/passes/RemoveUnusedNames.cpp \
107-
src/passes/ReorderFunctions.cpp \
108-
src/passes/ReorderLocals.cpp \
109-
src/passes/ReReloop.cpp \
110-
src/passes/SafeHeap.cpp \
111-
src/passes/SimplifyLocals.cpp \
112-
src/passes/SpillPointers.cpp \
113-
src/passes/SSAify.cpp \
114-
src/passes/TrapMode.cpp \
115-
src/passes/Untee.cpp \
116-
src/passes/Vacuum.cpp \
117-
src/support/bits.cpp \
118-
src/support/colors.cpp \
119-
src/support/safe_integer.cpp \
120-
src/support/threads.cpp \
121-
src/wasm/literal.cpp \
122-
src/wasm/wasm-binary.cpp \
123-
src/wasm/wasm-s-parser.cpp \
124-
src/wasm/wasm-type.cpp \
125-
src/wasm/wasm-validator.cpp \
126-
src/wasm/wasm.cpp \
127-
src/wasm-emscripten.cpp \
128-
-Isrc/ \
70+
$BINARYEN_SRC/asmjs/asm_v_wasm.cpp \
71+
$BINARYEN_SRC/asmjs/shared-constants.cpp \
72+
$BINARYEN_SRC/cfg/Relooper.cpp \
73+
$BINARYEN_SRC/emscripten-optimizer/optimizer-shared.cpp \
74+
$BINARYEN_SRC/emscripten-optimizer/parser.cpp \
75+
$BINARYEN_SRC/emscripten-optimizer/simple_ast.cpp \
76+
$BINARYEN_SRC/ir/ExpressionAnalyzer.cpp \
77+
$BINARYEN_SRC/ir/ExpressionManipulator.cpp \
78+
$BINARYEN_SRC/ir/LocalGraph.cpp \
79+
$BINARYEN_SRC/passes/pass.cpp \
80+
$BINARYEN_SRC/passes/CoalesceLocals.cpp \
81+
$BINARYEN_SRC/passes/CodeFolding.cpp \
82+
$BINARYEN_SRC/passes/CodePushing.cpp \
83+
$BINARYEN_SRC/passes/ConstHoisting.cpp \
84+
$BINARYEN_SRC/passes/DeadCodeElimination.cpp \
85+
$BINARYEN_SRC/passes/DuplicateFunctionElimination.cpp \
86+
$BINARYEN_SRC/passes/ExtractFunction.cpp \
87+
$BINARYEN_SRC/passes/Flatten.cpp \
88+
$BINARYEN_SRC/passes/I64ToI32Lowering.cpp \
89+
$BINARYEN_SRC/passes/Inlining.cpp \
90+
$BINARYEN_SRC/passes/InstrumentLocals.cpp \
91+
$BINARYEN_SRC/passes/InstrumentMemory.cpp \
92+
$BINARYEN_SRC/passes/LegalizeJSInterface.cpp \
93+
$BINARYEN_SRC/passes/LocalCSE.cpp \
94+
$BINARYEN_SRC/passes/LogExecution.cpp \
95+
$BINARYEN_SRC/passes/MemoryPacking.cpp \
96+
$BINARYEN_SRC/passes/MergeBlocks.cpp \
97+
$BINARYEN_SRC/passes/MergeLocals.cpp \
98+
$BINARYEN_SRC/passes/Metrics.cpp \
99+
$BINARYEN_SRC/passes/NameList.cpp \
100+
$BINARYEN_SRC/passes/OptimizeInstructions.cpp \
101+
$BINARYEN_SRC/passes/PickLoadSigns.cpp \
102+
$BINARYEN_SRC/passes/PostEmscripten.cpp \
103+
$BINARYEN_SRC/passes/Precompute.cpp \
104+
$BINARYEN_SRC/passes/Print.cpp \
105+
$BINARYEN_SRC/passes/PrintCallGraph.cpp \
106+
$BINARYEN_SRC/passes/RedundantSetElimination.cpp \
107+
$BINARYEN_SRC/passes/RelooperJumpThreading.cpp \
108+
$BINARYEN_SRC/passes/RemoveImports.cpp \
109+
$BINARYEN_SRC/passes/RemoveMemory.cpp \
110+
$BINARYEN_SRC/passes/RemoveUnusedBrs.cpp \
111+
$BINARYEN_SRC/passes/RemoveUnusedModuleElements.cpp \
112+
$BINARYEN_SRC/passes/RemoveUnusedNames.cpp \
113+
$BINARYEN_SRC/passes/ReorderFunctions.cpp \
114+
$BINARYEN_SRC/passes/ReorderLocals.cpp \
115+
$BINARYEN_SRC/passes/ReReloop.cpp \
116+
$BINARYEN_SRC/passes/SafeHeap.cpp \
117+
$BINARYEN_SRC/passes/SimplifyLocals.cpp \
118+
$BINARYEN_SRC/passes/SpillPointers.cpp \
119+
$BINARYEN_SRC/passes/SSAify.cpp \
120+
$BINARYEN_SRC/passes/TrapMode.cpp \
121+
$BINARYEN_SRC/passes/Untee.cpp \
122+
$BINARYEN_SRC/passes/Vacuum.cpp \
123+
$BINARYEN_SRC/support/bits.cpp \
124+
$BINARYEN_SRC/support/colors.cpp \
125+
$BINARYEN_SRC/support/safe_integer.cpp \
126+
$BINARYEN_SRC/support/threads.cpp \
127+
$BINARYEN_SRC/wasm/literal.cpp \
128+
$BINARYEN_SRC/wasm/wasm-binary.cpp \
129+
$BINARYEN_SRC/wasm/wasm-s-parser.cpp \
130+
$BINARYEN_SRC/wasm/wasm-type.cpp \
131+
$BINARYEN_SRC/wasm/wasm-validator.cpp \
132+
$BINARYEN_SRC/wasm/wasm.cpp \
133+
$BINARYEN_SRC/wasm-emscripten.cpp \
134+
-I$BINARYEN_SRC \
129135
-o shared.bc
130136

131137
echo "building wasm.js"
132138

133139
"$EMSCRIPTEN/em++" \
134140
$EMCC_ARGS \
135-
src/wasm-js.cpp \
141+
$BINARYEN_SRC/wasm-js.cpp \
136142
shared.bc \
137-
-Isrc/ \
138-
-o bin/wasm${OUT_FILE_SUFFIX}.js \
143+
-I$BINARYEN_SRC/ \
144+
-o $BINARYEN_BIN/wasm${OUT_FILE_SUFFIX}.js \
139145
-s MODULARIZE=1 \
140146
-s 'EXTRA_EXPORTED_RUNTIME_METHODS=["writeAsciiToMemory"]' \
141147
-s 'EXPORT_NAME="WasmJS"'
@@ -581,11 +587,11 @@ export_function "_BinaryenSetAPITracing"
581587

582588
"$EMSCRIPTEN/em++" \
583589
$EMCC_ARGS \
584-
src/binaryen-c.cpp \
590+
$BINARYEN_SRC/binaryen-c.cpp \
585591
shared.bc \
586-
-Isrc/ \
592+
-I$BINARYEN_SRC/ \
587593
-s EXPORTED_FUNCTIONS=[${EXPORTED_FUNCTIONS}] \
588-
-o bin/binaryen${OUT_FILE_SUFFIX}.js \
594+
-o $BINARYEN_BIN/binaryen${OUT_FILE_SUFFIX}.js \
589595
-s MODULARIZE_INSTANCE=1 \
590596
-s 'EXPORT_NAME="Binaryen"' \
591-
--post-js src/js/binaryen.js-post.js
597+
--post-js $BINARYEN_SRC/js/binaryen.js-post.js

0 commit comments

Comments
 (0)