summaryrefslogtreecommitdiff
path: root/build-js.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build-js.sh')
-rwxr-xr-xbuild-js.sh238
1 files changed, 237 insertions, 1 deletions
diff --git a/build-js.sh b/build-js.sh
index e087eb447..f251f97c8 100755
--- a/build-js.sh
+++ b/build-js.sh
@@ -141,12 +141,248 @@ echo "building wasm.js"
echo "building binaryen.js"
+function export_function { if [ -z ${EXPORTED_FUNCTIONS} ]; then EXPORTED_FUNCTIONS='"'$1'"'; else EXPORTED_FUNCTIONS=${EXPORTED_FUNCTIONS}',"'$1'"'; fi }
+export_function "_BinaryenNone"
+export_function "_BinaryenInt32"
+export_function "_BinaryenInt64"
+export_function "_BinaryenFloat32"
+export_function "_BinaryenFloat64"
+export_function "_BinaryenUndefined"
+export_function "_BinaryenInvalidId"
+export_function "_BinaryenBlockId"
+export_function "_BinaryenIfId"
+export_function "_BinaryenLoopId"
+export_function "_BinaryenBreakId"
+export_function "_BinaryenSwitchId"
+export_function "_BinaryenCallId"
+export_function "_BinaryenCallImportId"
+export_function "_BinaryenCallIndirectId"
+export_function "_BinaryenGetLocalId"
+export_function "_BinaryenSetLocalId"
+export_function "_BinaryenGetGlobalId"
+export_function "_BinaryenSetGlobalId"
+export_function "_BinaryenLoadId"
+export_function "_BinaryenStoreId"
+export_function "_BinaryenConstId"
+export_function "_BinaryenUnaryId"
+export_function "_BinaryenBinaryId"
+export_function "_BinaryenSelectId"
+export_function "_BinaryenDropId"
+export_function "_BinaryenReturnId"
+export_function "_BinaryenHostId"
+export_function "_BinaryenNopId"
+export_function "_BinaryenUnreachableId"
+export_function "_BinaryenAtomicCmpxchgId"
+export_function "_BinaryenAtomicRMWId"
+export_function "_BinaryenAtomicWaitId"
+export_function "_BinaryenAtomicWakeId"
+export_function "_BinaryenModuleCreate"
+export_function "_BinaryenModuleDispose"
+export_function "_BinaryenAddFunctionType"
+export_function "_BinaryenGetFunctionTypeBySignature"
+export_function "_BinaryenLiteralInt32"
+export_function "_BinaryenLiteralInt64"
+export_function "_BinaryenLiteralFloat32"
+export_function "_BinaryenLiteralFloat64"
+export_function "_BinaryenLiteralFloat32Bits"
+export_function "_BinaryenLiteralFloat64Bits"
+export_function "_BinaryenClzInt32"
+export_function "_BinaryenCtzInt32"
+export_function "_BinaryenPopcntInt32"
+export_function "_BinaryenNegFloat32"
+export_function "_BinaryenAbsFloat32"
+export_function "_BinaryenCeilFloat32"
+export_function "_BinaryenFloorFloat32"
+export_function "_BinaryenTruncFloat32"
+export_function "_BinaryenNearestFloat32"
+export_function "_BinaryenSqrtFloat32"
+export_function "_BinaryenEqZInt32"
+export_function "_BinaryenClzInt64"
+export_function "_BinaryenCtzInt64"
+export_function "_BinaryenPopcntInt64"
+export_function "_BinaryenNegFloat64"
+export_function "_BinaryenAbsFloat64"
+export_function "_BinaryenCeilFloat64"
+export_function "_BinaryenFloorFloat64"
+export_function "_BinaryenTruncFloat64"
+export_function "_BinaryenNearestFloat64"
+export_function "_BinaryenSqrtFloat64"
+export_function "_BinaryenEqZInt64"
+export_function "_BinaryenExtendSInt32"
+export_function "_BinaryenExtendUInt32"
+export_function "_BinaryenWrapInt64"
+export_function "_BinaryenTruncSFloat32ToInt32"
+export_function "_BinaryenTruncSFloat32ToInt64"
+export_function "_BinaryenTruncUFloat32ToInt32"
+export_function "_BinaryenTruncUFloat32ToInt64"
+export_function "_BinaryenTruncSFloat64ToInt32"
+export_function "_BinaryenTruncSFloat64ToInt64"
+export_function "_BinaryenTruncUFloat64ToInt32"
+export_function "_BinaryenTruncUFloat64ToInt64"
+export_function "_BinaryenReinterpretFloat32"
+export_function "_BinaryenReinterpretFloat64"
+export_function "_BinaryenConvertSInt32ToFloat32"
+export_function "_BinaryenConvertSInt32ToFloat64"
+export_function "_BinaryenConvertUInt32ToFloat32"
+export_function "_BinaryenConvertUInt32ToFloat64"
+export_function "_BinaryenConvertSInt64ToFloat32"
+export_function "_BinaryenConvertSInt64ToFloat64"
+export_function "_BinaryenConvertUInt64ToFloat32"
+export_function "_BinaryenConvertUInt64ToFloat64"
+export_function "_BinaryenPromoteFloat32"
+export_function "_BinaryenDemoteFloat64"
+export_function "_BinaryenReinterpretInt32"
+export_function "_BinaryenReinterpretInt64"
+export_function "_BinaryenAddInt32"
+export_function "_BinaryenSubInt32"
+export_function "_BinaryenMulInt32"
+export_function "_BinaryenDivSInt32"
+export_function "_BinaryenDivUInt32"
+export_function "_BinaryenRemSInt32"
+export_function "_BinaryenRemUInt32"
+export_function "_BinaryenAndInt32"
+export_function "_BinaryenOrInt32"
+export_function "_BinaryenXorInt32"
+export_function "_BinaryenShlInt32"
+export_function "_BinaryenShrUInt32"
+export_function "_BinaryenShrSInt32"
+export_function "_BinaryenRotLInt32"
+export_function "_BinaryenRotRInt32"
+export_function "_BinaryenEqInt32"
+export_function "_BinaryenNeInt32"
+export_function "_BinaryenLtSInt32"
+export_function "_BinaryenLtUInt32"
+export_function "_BinaryenLeSInt32"
+export_function "_BinaryenLeUInt32"
+export_function "_BinaryenGtSInt32"
+export_function "_BinaryenGtUInt32"
+export_function "_BinaryenGeSInt32"
+export_function "_BinaryenGeUInt32"
+export_function "_BinaryenAddInt64"
+export_function "_BinaryenSubInt64"
+export_function "_BinaryenMulInt64"
+export_function "_BinaryenDivSInt64"
+export_function "_BinaryenDivUInt64"
+export_function "_BinaryenRemSInt64"
+export_function "_BinaryenRemUInt64"
+export_function "_BinaryenAndInt64"
+export_function "_BinaryenOrInt64"
+export_function "_BinaryenXorInt64"
+export_function "_BinaryenShlInt64"
+export_function "_BinaryenShrUInt64"
+export_function "_BinaryenShrSInt64"
+export_function "_BinaryenRotLInt64"
+export_function "_BinaryenRotRInt64"
+export_function "_BinaryenEqInt64"
+export_function "_BinaryenNeInt64"
+export_function "_BinaryenLtSInt64"
+export_function "_BinaryenLtUInt64"
+export_function "_BinaryenLeSInt64"
+export_function "_BinaryenLeUInt64"
+export_function "_BinaryenGtSInt64"
+export_function "_BinaryenGtUInt64"
+export_function "_BinaryenGeSInt64"
+export_function "_BinaryenGeUInt64"
+export_function "_BinaryenAddFloat32"
+export_function "_BinaryenSubFloat32"
+export_function "_BinaryenMulFloat32"
+export_function "_BinaryenDivFloat32"
+export_function "_BinaryenCopySignFloat32"
+export_function "_BinaryenMinFloat32"
+export_function "_BinaryenMaxFloat32"
+export_function "_BinaryenEqFloat32"
+export_function "_BinaryenNeFloat32"
+export_function "_BinaryenLtFloat32"
+export_function "_BinaryenLeFloat32"
+export_function "_BinaryenGtFloat32"
+export_function "_BinaryenGeFloat32"
+export_function "_BinaryenAddFloat64"
+export_function "_BinaryenSubFloat64"
+export_function "_BinaryenMulFloat64"
+export_function "_BinaryenDivFloat64"
+export_function "_BinaryenCopySignFloat64"
+export_function "_BinaryenMinFloat64"
+export_function "_BinaryenMaxFloat64"
+export_function "_BinaryenEqFloat64"
+export_function "_BinaryenNeFloat64"
+export_function "_BinaryenLtFloat64"
+export_function "_BinaryenLeFloat64"
+export_function "_BinaryenGtFloat64"
+export_function "_BinaryenGeFloat64"
+export_function "_BinaryenPageSize"
+export_function "_BinaryenCurrentMemory"
+export_function "_BinaryenGrowMemory"
+export_function "_BinaryenHasFeature"
+export_function "_BinaryenAtomicRMWAdd"
+export_function "_BinaryenAtomicRMWSub"
+export_function "_BinaryenAtomicRMWAnd"
+export_function "_BinaryenAtomicRMWOr"
+export_function "_BinaryenAtomicRMWXor"
+export_function "_BinaryenAtomicRMWXchg"
+export_function "_BinaryenBlock"
+export_function "_BinaryenIf"
+export_function "_BinaryenLoop"
+export_function "_BinaryenBreak"
+export_function "_BinaryenSwitch"
+export_function "_BinaryenCall"
+export_function "_BinaryenCallImport"
+export_function "_BinaryenCallIndirect"
+export_function "_BinaryenGetLocal"
+export_function "_BinaryenSetLocal"
+export_function "_BinaryenTeeLocal"
+export_function "_BinaryenGetGlobal"
+export_function "_BinaryenSetGlobal"
+export_function "_BinaryenLoad"
+export_function "_BinaryenStore"
+export_function "_BinaryenConst"
+export_function "_BinaryenUnary"
+export_function "_BinaryenBinary"
+export_function "_BinaryenSelect"
+export_function "_BinaryenDrop"
+export_function "_BinaryenReturn"
+export_function "_BinaryenHost"
+export_function "_BinaryenNop"
+export_function "_BinaryenUnreachable"
+export_function "_BinaryenAtomicRMW"
+export_function "_BinaryenAtomicCmpxchg"
+export_function "_BinaryenAtomicWait"
+export_function "_BinaryenAtomicWake"
+export_function "_BinaryenExpressionGetId"
+export_function "_BinaryenExpressionGetType"
+export_function "_BinaryenExpressionPrint"
+export_function "_BinaryenAddFunction"
+export_function "_BinaryenAddGlobal"
+export_function "_BinaryenAddImport"
+export_function "_BinaryenRemoveImport"
+export_function "_BinaryenAddExport"
+export_function "_BinaryenRemoveExport"
+export_function "_BinaryenSetFunctionTable"
+export_function "_BinaryenSetMemory"
+export_function "_BinaryenSetStart"
+export_function "_BinaryenModuleParse"
+export_function "_BinaryenModulePrint"
+export_function "_BinaryenModulePrintAsmjs"
+export_function "_BinaryenModuleValidate"
+export_function "_BinaryenModuleOptimize"
+export_function "_BinaryenModuleRunPasses"
+export_function "_BinaryenModuleAutoDrop"
+export_function "_BinaryenModuleWrite"
+export_function "_BinaryenModuleRead"
+export_function "_BinaryenModuleInterpret"
+export_function "_RelooperCreate"
+export_function "_RelooperAddBlock"
+export_function "_RelooperAddBranch"
+export_function "_RelooperAddBlockWithSwitch"
+export_function "_RelooperAddBranchForSwitch"
+export_function "_RelooperRenderAndDispose"
+export_function "_BinaryenSetAPITracing"
+
"$EMSCRIPTEN/em++" \
$EMCC_ARGS \
src/binaryen-c.cpp \
shared.bc \
-Isrc/ \
- -s 'EXPORTED_FUNCTIONS=["_BinaryenNone", "_BinaryenInt32", "_BinaryenInt64", "_BinaryenFloat32", "_BinaryenFloat64", "_BinaryenUndefined", "_BinaryenInvalidId", "_BinaryenBlockId", "_BinaryenIfId", "_BinaryenLoopId", "_BinaryenBreakId", "_BinaryenSwitchId", "_BinaryenCallId", "_BinaryenCallImportId", "_BinaryenCallIndirectId", "_BinaryenGetLocalId", "_BinaryenSetLocalId", "_BinaryenGetGlobalId", "_BinaryenSetGlobalId", "_BinaryenLoadId", "_BinaryenStoreId", "_BinaryenConstId", "_BinaryenUnaryId", "_BinaryenBinaryId", "_BinaryenSelectId", "_BinaryenDropId", "_BinaryenReturnId", "_BinaryenHostId", "_BinaryenNopId", "_BinaryenUnreachableId", "_BinaryenAtomicCmpxchgId", "_BinaryenAtomicRMWId", "_BinaryenAtomicWaitId", "_BinaryenAtomicWakeId", "_BinaryenModuleCreate", "_BinaryenModuleDispose", "_BinaryenAddFunctionType", "_BinaryenGetFunctionTypeBySignature", "_BinaryenLiteralInt32", "_BinaryenLiteralInt64", "_BinaryenLiteralFloat32", "_BinaryenLiteralFloat64", "_BinaryenLiteralFloat32Bits", "_BinaryenLiteralFloat64Bits", "_BinaryenClzInt32", "_BinaryenCtzInt32", "_BinaryenPopcntInt32", "_BinaryenNegFloat32", "_BinaryenAbsFloat32", "_BinaryenCeilFloat32", "_BinaryenFloorFloat32", "_BinaryenTruncFloat32", "_BinaryenNearestFloat32", "_BinaryenSqrtFloat32", "_BinaryenEqZInt32", "_BinaryenClzInt64", "_BinaryenCtzInt64", "_BinaryenPopcntInt64", "_BinaryenNegFloat64", "_BinaryenAbsFloat64", "_BinaryenCeilFloat64", "_BinaryenFloorFloat64", "_BinaryenTruncFloat64", "_BinaryenNearestFloat64", "_BinaryenSqrtFloat64", "_BinaryenEqZInt64", "_BinaryenExtendSInt32", "_BinaryenExtendUInt32", "_BinaryenWrapInt64", "_BinaryenTruncSFloat32ToInt32", "_BinaryenTruncSFloat32ToInt64", "_BinaryenTruncUFloat32ToInt32", "_BinaryenTruncUFloat32ToInt64", "_BinaryenTruncSFloat64ToInt32", "_BinaryenTruncSFloat64ToInt64", "_BinaryenTruncUFloat64ToInt32", "_BinaryenTruncUFloat64ToInt64", "_BinaryenReinterpretFloat32", "_BinaryenReinterpretFloat64", "_BinaryenConvertSInt32ToFloat32", "_BinaryenConvertSInt32ToFloat64", "_BinaryenConvertUInt32ToFloat32", "_BinaryenConvertUInt32ToFloat64", "_BinaryenConvertSInt64ToFloat32", "_BinaryenConvertSInt64ToFloat64", "_BinaryenConvertUInt64ToFloat32", "_BinaryenConvertUInt64ToFloat64", "_BinaryenPromoteFloat32", "_BinaryenDemoteFloat64", "_BinaryenReinterpretInt32", "_BinaryenReinterpretInt64", "_BinaryenAddInt32", "_BinaryenSubInt32", "_BinaryenMulInt32", "_BinaryenDivSInt32", "_BinaryenDivUInt32", "_BinaryenRemSInt32", "_BinaryenRemUInt32", "_BinaryenAndInt32", "_BinaryenOrInt32", "_BinaryenXorInt32", "_BinaryenShlInt32", "_BinaryenShrUInt32", "_BinaryenShrSInt32", "_BinaryenRotLInt32", "_BinaryenRotRInt32", "_BinaryenEqInt32", "_BinaryenNeInt32", "_BinaryenLtSInt32", "_BinaryenLtUInt32", "_BinaryenLeSInt32", "_BinaryenLeUInt32", "_BinaryenGtSInt32", "_BinaryenGtUInt32", "_BinaryenGeSInt32", "_BinaryenGeUInt32", "_BinaryenAddInt64", "_BinaryenSubInt64", "_BinaryenMulInt64", "_BinaryenDivSInt64", "_BinaryenDivUInt64", "_BinaryenRemSInt64", "_BinaryenRemUInt64", "_BinaryenAndInt64", "_BinaryenOrInt64", "_BinaryenXorInt64", "_BinaryenShlInt64", "_BinaryenShrUInt64", "_BinaryenShrSInt64", "_BinaryenRotLInt64", "_BinaryenRotRInt64", "_BinaryenEqInt64", "_BinaryenNeInt64", "_BinaryenLtSInt64", "_BinaryenLtUInt64", "_BinaryenLeSInt64", "_BinaryenLeUInt64", "_BinaryenGtSInt64", "_BinaryenGtUInt64", "_BinaryenGeSInt64", "_BinaryenGeUInt64", "_BinaryenAddFloat32", "_BinaryenSubFloat32", "_BinaryenMulFloat32", "_BinaryenDivFloat32", "_BinaryenCopySignFloat32", "_BinaryenMinFloat32", "_BinaryenMaxFloat32", "_BinaryenEqFloat32", "_BinaryenNeFloat32", "_BinaryenLtFloat32", "_BinaryenLeFloat32", "_BinaryenGtFloat32", "_BinaryenGeFloat32", "_BinaryenAddFloat64", "_BinaryenSubFloat64", "_BinaryenMulFloat64", "_BinaryenDivFloat64", "_BinaryenCopySignFloat64", "_BinaryenMinFloat64", "_BinaryenMaxFloat64", "_BinaryenEqFloat64", "_BinaryenNeFloat64", "_BinaryenLtFloat64", "_BinaryenLeFloat64", "_BinaryenGtFloat64", "_BinaryenGeFloat64", "_BinaryenPageSize", "_BinaryenCurrentMemory", "_BinaryenGrowMemory", "_BinaryenHasFeature", "_BinaryenAtomicRMWAdd", "_BinaryenAtomicRMWSub", "_BinaryenAtomicRMWAnd", "_BinaryenAtomicRMWOr", "_BinaryenAtomicRMWXor", "_BinaryenAtomicRMWXchg", "_BinaryenBlock", "_BinaryenIf", "_BinaryenLoop", "_BinaryenBreak", "_BinaryenSwitch", "_BinaryenCall", "_BinaryenCallImport", "_BinaryenCallIndirect", "_BinaryenGetLocal", "_BinaryenSetLocal", "_BinaryenTeeLocal", "_BinaryenGetGlobal", "_BinaryenSetGlobal", "_BinaryenLoad", "_BinaryenStore", "_BinaryenConst", "_BinaryenUnary", "_BinaryenBinary", "_BinaryenSelect", "_BinaryenDrop", "_BinaryenReturn", "_BinaryenHost", "_BinaryenNop", "_BinaryenUnreachable", "_BinaryenAtomicRMW", "_BinaryenAtomicCmpxchg", "_BinaryenAtomicWait", "_BinaryenAtomicWake", "_BinaryenExpressionGetId", "_BinaryenExpressionGetType", "_BinaryenExpressionPrint", "_BinaryenAddFunction", "_BinaryenAddGlobal", "_BinaryenAddImport", "_BinaryenRemoveImport", "_BinaryenAddExport", "_BinaryenRemoveExport", "_BinaryenSetFunctionTable", "_BinaryenSetMemory", "_BinaryenSetStart", "_BinaryenModuleParse", "_BinaryenModulePrint", "_BinaryenModulePrintAsmjs", "_BinaryenModuleValidate", "_BinaryenModuleOptimize", "_BinaryenModuleRunPasses", "_BinaryenModuleAutoDrop", "_BinaryenModuleWrite", "_BinaryenModuleRead", "_BinaryenModuleInterpret", "_RelooperCreate", "_RelooperAddBlock", "_RelooperAddBranch", "_RelooperAddBlockWithSwitch", "_RelooperAddBranchForSwitch", "_RelooperRenderAndDispose", "_BinaryenSetAPITracing"]' \
+ -s EXPORTED_FUNCTIONS=[${EXPORTED_FUNCTIONS}] \
-o bin/binaryen${OUT_FILE_SUFFIX}.js \
--pre-js src/js/binaryen.js-pre.js \
--post-js src/js/binaryen.js-post.js