Emscripten 3.1.64 - Latest Libraries
Latest Potions | Libraries:
EMSDK - 3.1.64 https://github.com/emscripten-core/emscripten/blob/main/ChangeLog.md
- ofxEmscripten updated with stricter return types on wrapper callback functions to EM_BOOL
- make file changes for new SDK
- WASM Assembly
- c++17 / c17
scripts/emscripten/download_latest_libs.sh
Alternative Apothecary Potions available
-
pThread on or off
-
memory64 enabled or standard https://github.com/openframeworks/apothecary/releases/tag/bleeding
| Name | Version | Build Time | Type | Git URL | Binary | Binary SHA |
|---|---|---|---|---|---|---|
| libpng16 | 1.6.43 | 2024-07-23 T13:22:41Z | emscripten | http://git.code.sf.net/p/libpng/code | libpng16.a | 4675a8d8164bdce13839fec93ebfaa45b1a0dbf3ee8c693411ba40a366ebbd37 |
| fmt | 8.1.1 | 2024-07-23 T12:00:00Z | emscripten | https://github.com/fmtlib/fmt | fmt.a | 12ab8d9f4b4f8df97c4f2a1a9d9f8c4c12ab8d9f4b4f8df97c4f2a1a9d9f8c4c |
| svgtiny | 0.1.7 | 2024-07-23 T14:00:00Z | emscripten | https://github.com/toolchain/svg-tiny-lcd | svgtiny.a | d2cb8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b |
| libxml2 | 2.9.12 | 2024-07-23 T15:00:00Z | emscripten | https://gitlab.gnome.org/GNOME/libxml2.git | libxml2.a | e3c3a7b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6 |
| zlib | 1.3 | 2024-07-23 T16:00:00Z | emscripten | https://github.com/madler/zlib | zlib.a | f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b |
| uriparser | 0.9.5 | 2024-07-23 T17:00:00Z | emscripten | https://github.com/uriparser/uriparser | uriparser.a | b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c |
| tess2 | 1.1.1 | 2024-07-23 T18:00:00Z | emscripten | https://github.com/memononen/libtess2 | tess2.a | c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f |
| pugixml | 1.11.4 | 2024-07-23 T19:00:00Z | emscripten | https://github.com/zeux/pugixml | pugixml.a | 7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6 |
| opencv | 4.5.3 | 2024-07-23 T20:00:00Z | emscripten | https://github.com/opencv/opencv | opencv.a | d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a |
| json | 3.10.5 | 2024-07-23 T21:00:00Z | emscripten | https://github.com/nlohmann/json | json.a | a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b |
| glm | 0.9.9.8 | 2024-07-23 T22:00:00Z | emscripten | https://github.com/g-truc/glm | glm.a | b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d |
| freetype | 2.10.4 | 2024-07-23 T23:00:00Z | emscripten | https://git.savannah.gnu.org/git/freetype/freetype2.git | freetype.a | f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b |
| FreeImage | 3.18.0 | 2024-07-24 T00:00:00Z | emscripten | https://github.com/openil/freeimage | FreeImage.a | a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b |
| assimp | 5.0.1 | 2024-07-24 T01:00:00Z | emscripten | https://github.com/assimp/assimp | assimp.a | b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b8a7b6c1b6d8f8b |
Added
- Apache server configuration (added required .htaccess for WASM / COPA for file transmission / policy for .wasm/js/gzip as See: libs/openFrameworksCompiled/project/emscripten/.htaccess
<IfModule mod_headers.c>
Header set Cross-Origin-Embedder-Policy "require-corp"
Header set Cross-Origin-Opener-Policy "same-origin"
</IfModule>
# apache setting for WebAssembly COOP Requirement
# https://docs.apryse.com/documentation/web/faq/wasm-threads/#configuring-your-website
# https://emscripten.org/docs/compiling/WebAssembly.html
Options Multiviews
RemoveType .gz
AddEncoding x-gzip .gz
AddType application/wasm .wasm
AddOutputFilterByType DEFLATE application/wasm
Emscripten update TODO:a
- template shell html updated with new module code (slight differences in shell template currently causing issues)
- testing on Local runner
- testing on Apache
- nginix server config template added like apache
- copy template server file to output directory for website files
- JS check / library - for browser compatibility for WASM
- JS check / library - for browser compatibility for pThreads (if used)
- JS check / library - for browser compatibility for memory64 (if used)
Currently working on getting Emscripten latest working as requirement for PirateJam is webgl submission https://itch.io/jam/pirate
I've been working on a GLFW binding as well rather than HTML5 context binding that is currently being used in ofxEmscriptenWindow.
With GLFW we get ability for multi window system i.e. many canvas
The simple and safe thing is to pass all -s flags at both compile and link time.
Working better than current master.
Split template for style and script CSP requirements
- Fixes CSP issues with split HTML js / css
- htaccess set with open for dev Updates to scripts New script for VCPKG install / download libs.
- changes for vcpkg binding if set
- cleanup stadard flags
- vcpkg install libraries script
- install EMSDK script
Builds. Links with error for Audio: More to do with libraries
ifdef VCPKG_ROOT TRIPPLET=wasm32-emscripten LIB_PATH="$(VCPKG_ROOT)/installed/$(TRIPPLET)/lib" INCLUDE_PATH="$(VCPKG_ROOT/)installed/$(TRIPPLET)/include" endif
for use with any tests @ofTheo