Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

[[ emscripten ]] Add WebAssembly build target and standalone builder options #7330

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

livecodeian
Copy link
Contributor

This patch adds a new emscripen-wasm build target and renames the current emscripten target to emscripten-js. This allows the building of both WebAssembly and asm.js versions of the emscripten standalone engine. In addition the standalone builder and deploy scripts have been modified to handle building HTML5 standalones using either of these target architectures.

Note This PR depends on the following thirdparty & ide pull requests:
livecode/livecode-thirdparty#144
livecode/livecode-ide#2129

Ian Macphail and others added 13 commits April 15, 2020 15:10
This patch adds the targets 'emscripten-wasm' and 'emscripten-js' to the build
system so that either architectures can be specified when compiling the
emscripten engine
…hitectures

This patch modifies prebuilts so that each emscripten arch target has its own
lib folder and set of prebuilt packages.
This patch adds source code stubs to resolve reported missing symbols while
compiling & linking the emscripten standalone engine.
…sm build

This patch modifies the build configuration files & tools in order to support
upgrading the emscripten sdk to a version which produces wasm output using
LLVM.
This patch updates the emscripten engine source to use the Asyncify API instead
of the current Emterpreter API to suspend engine execution.
This patch removes the recursion block in the emscripten implementation of
'MCScreenDC::wait()', allowing wait to be called from script within the event
loop.
This patch fixes a compiler error due to an unnecessary cast from int to off_t
…compile

This patch updates the C define options added by using the prebuilt libskia
library to match the values defined when the library is compiled
… version

This patch updates the IDE standalone building & deploy scripts for emscripten
to work with the new wasm version which involves changes to the name of files
bundled with the standalone.

in addition, the wasm file portion needs a 'Content-Type' header when accessed
via HTTP for testing.
This patch updates the development documentation for building the
emscripten engine. The instructions for building emscripten-js have been
modified to describe how to install the deprecated tools needed, and a
new section for building emscripten-wasm has been added.
This patch updates 'Installer/package.txt' to account for the switch to wasm
object files in the emscripten standalone engine.
…bly arch

This patch adds a release note for the addition of WebAssembly as a target
architecture when building HTML5 standalones
Ian Macphail added 3 commits April 23, 2020 09:06
This patch significantly reduces the size of the javascript portion of the
emscripten-wasm standalone engine by removing unnecessary JavaScript bindings
to exported functions in the engine.
This patch modifies the build configuration of emscripten engines to optimize
them for performance over filesize
This patch modifies 'buildbot.py' so that a BUILD_PLATFORM of 'emscripten'
will produce compiled binaries for the 'emscripten-js' target
@livecodepanos livecodepanos added this to the 9.7.0-dp-1 milestone May 12, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
2 participants