@@ -529,89 +529,42 @@ endif()
529529# binaryen.js
530530#
531531# Note that we can't emit binaryen.js directly, as there is libbinaryen already
532- # declared earlier, so we create binaryen_wasm/js .js, which must then be copied.
532+ # declared earlier, so we create binaryen_js .js, which must then be copied.
533533if (EMSCRIPTEN)
534534 # binaryen.js WebAssembly variant
535- add_executable (binaryen_wasm ${binaryen_SOURCES} )
536- target_link_libraries (binaryen_wasm PRIVATE binaryen)
537- target_link_libraries (binaryen_wasm PRIVATE "-sFILESYSTEM" )
538- target_link_libraries (binaryen_wasm PRIVATE "-sEXPORT_NAME=Binaryen" )
539- target_link_libraries (binaryen_wasm PRIVATE "-sNODERAWFS=0" )
540- # Do not error on the repeated NODERAWFS argument
541- target_link_libraries (binaryen_wasm PRIVATE "-Wno-unused-command-line-argument" )
542- # Emit a single file for convenience of people using binaryen.js as a library,
543- # so they only need to distribute a single file.
544- if (EMSCRIPTEN_ENABLE_SINGLE_FILE)
545- target_link_libraries (binaryen_wasm PRIVATE "-sSINGLE_FILE" )
546- endif ()
547- target_link_libraries (binaryen_wasm PRIVATE "-sEXPORT_ES6" )
548- target_link_libraries (binaryen_wasm PRIVATE "-sEXPORTED_RUNTIME_METHODS=stringToUTF8OnStack,stringToAscii" )
549- target_link_libraries (binaryen_wasm PRIVATE "-sEXPORTED_FUNCTIONS=_malloc,_free" )
550- target_link_libraries (binaryen_wasm PRIVATE "--post-js=${CMAKE_CURRENT_SOURCE_DIR} /src/js/binaryen.js-post.js" )
551- target_link_libraries (binaryen_wasm PRIVATE "-msign-ext" )
552- target_link_libraries (binaryen_wasm PRIVATE "-mbulk-memory" )
553- target_link_libraries (binaryen_wasm PRIVATE optimized "--closure=1" )
554- # TODO: Fix closure warnings! (#5062)
555- target_link_libraries (binaryen_wasm PRIVATE optimized "-Wno-error=closure" )
556- if (BYN_ENABLE_LTO)
557- target_link_libraries (binaryen_wasm PRIVATE optimized "-flto" )
558- endif ()
559- target_link_libraries (binaryen_wasm PRIVATE debug "--profiling" )
560- # Avoid catching exit as that can confuse error reporting in Node,
561- # see https://github.com/emscripten-core/emscripten/issues/17228
562- target_link_libraries (binaryen_wasm PRIVATE "-sNODEJS_CATCH_EXIT=0" )
563- install (TARGETS binaryen_wasm DESTINATION ${CMAKE_INSTALL_BINDIR} )
564-
565- # binaryen.js JavaScript variant
566535 add_executable (binaryen_js ${binaryen_SOURCES} )
567536 target_link_libraries (binaryen_js PRIVATE binaryen)
568- target_link_libraries (binaryen_js PRIVATE "-sWASM=0" )
569- target_link_libraries (binaryen_js PRIVATE "-sWASM_ASYNC_COMPILATION=0" )
570-
571- if (${CMAKE_CXX_COMPILER_VERSION} STREQUAL "6.0.1" )
572- # only valid with fastcomp and WASM=0
573- target_link_libraries (binaryen_js PRIVATE "-sELIMINATE_DUPLICATE_FUNCTIONS" )
574- endif ()
575- # Disabling filesystem and setting web environment for js_of_ocaml
576- # so it doesn't try to detect the "node" environment
577- if (JS_OF_OCAML)
578- target_link_libraries (binaryen_js PRIVATE "-sFILESYSTEM=0" )
579- target_link_libraries (binaryen_js PRIVATE "-sENVIRONMENT=web,worker" )
580- else ()
581- target_link_libraries (binaryen_js PRIVATE "-sFILESYSTEM=1" )
582- endif ()
537+ target_link_libraries (binaryen_js PRIVATE "-sFILESYSTEM" )
538+ target_link_libraries (binaryen_js PRIVATE "-sEXPORT_NAME=Binaryen" )
583539 target_link_libraries (binaryen_js PRIVATE "-sNODERAWFS=0" )
584540 # Do not error on the repeated NODERAWFS argument
585541 target_link_libraries (binaryen_js PRIVATE "-Wno-unused-command-line-argument" )
542+ # Emit a single file for convenience of people using binaryen.js as a library,
543+ # so they only need to distribute a single file.
586544 if (EMSCRIPTEN_ENABLE_SINGLE_FILE)
587545 target_link_libraries (binaryen_js PRIVATE "-sSINGLE_FILE" )
588546 endif ()
589- target_link_libraries (binaryen_js PRIVATE "-sEXPORT_NAME=Binaryen" )
590- # Currently, js_of_ocaml can only process ES5 code
591547 if (JS_OF_OCAML)
592- target_link_libraries (binaryen_js PRIVATE "-sEXPORT_ES6=0" )
548+ # js_of_ocaml needs a specified variable with special comment to provide the library to consumer
549+ target_link_libraries (binaryen_js PRIVATE "--extern-pre-js=${CMAKE_CURRENT_SOURCE_DIR} /src/js/binaryen.jsoo-extern-pre.js" )
550+ # Currently, js_of_ocaml can only process ES5 code
551+ target_link_libraries (binaryen_js PRIVATE optimized "--closure-args=\" --language_out=ECMASCRIPT5\" " )
593552 else ()
594- target_link_libraries (binaryen_js PRIVATE "-sEXPORT_ES6=1" )
553+ # Currently, js_of_ocaml can only process ES5 code
554+ target_link_libraries (binaryen_js PRIVATE "-sEXPORT_ES6" )
595555 endif ()
596556 target_link_libraries (binaryen_js PRIVATE "-sEXPORTED_RUNTIME_METHODS=stringToUTF8OnStack,stringToAscii" )
597557 target_link_libraries (binaryen_js PRIVATE "-sEXPORTED_FUNCTIONS=_malloc,_free" )
598558 target_link_libraries (binaryen_js PRIVATE "--post-js=${CMAKE_CURRENT_SOURCE_DIR} /src/js/binaryen.js-post.js" )
599- # js_of_ocaml needs a specified variable with special comment to provide the library to consumers
600- if (JS_OF_OCAML)
601- target_link_libraries (binaryen_js PRIVATE "--extern-pre-js=${CMAKE_CURRENT_SOURCE_DIR} /src/js/binaryen.jsoo-extern-pre.js" )
602- endif ()
559+ target_link_libraries (binaryen_js PRIVATE "-msign-ext" )
560+ target_link_libraries (binaryen_js PRIVATE "-mbulk-memory" )
603561 target_link_libraries (binaryen_js PRIVATE optimized "--closure=1" )
604- # Currently, js_of_ocaml can only process ES5 code
605- if (JS_OF_OCAML)
606- target_link_libraries (binaryen_js PRIVATE optimized "--closure-args=\" --language_out=ECMASCRIPT5\" " )
607- endif ()
608562 # TODO: Fix closure warnings! (#5062)
609563 target_link_libraries (binaryen_js PRIVATE optimized "-Wno-error=closure" )
610564 if (BYN_ENABLE_LTO)
611565 target_link_libraries (binaryen_js PRIVATE optimized "-flto" )
612566 endif ()
613567 target_link_libraries (binaryen_js PRIVATE debug "--profiling" )
614- target_link_libraries (binaryen_js PRIVATE debug "-sASSERTIONS" )
615568 # Avoid catching exit as that can confuse error reporting in Node,
616569 # see https://github.com/emscripten-core/emscripten/issues/17228
617570 target_link_libraries (binaryen_js PRIVATE "-sNODEJS_CATCH_EXIT=0" )
0 commit comments