Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Emscripten 3.1.64 - Latest Libraries #8056

Draft
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

danoli3
Copy link
Member

@danoli3 danoli3 commented Jul 23, 2024

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

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

@danoli3
Copy link
Member Author

danoli3 commented Jul 25, 2024

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)

@danoli3
Copy link
Member Author

danoli3 commented Jul 26, 2024

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

@danoli3
Copy link
Member Author

danoli3 commented Aug 1, 2024

The simple and safe thing is to pass all -s flags at both compile and link time.

@danoli3 danoli3 mentioned this pull request Aug 2, 2024
@danoli3 danoli3 marked this pull request as draft August 27, 2024 18:21
@danoli3 danoli3 added this to the 0.12.1 milestone Aug 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant