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

[Web] Update minimum requirements for emscripten to 3.1.62 #96610

Merged

Conversation

adamscott
Copy link
Member

This PR updates the minimum requirements for emscripten to 3.1.62

See godotengine/godot-cpp#1566 (comment) for more context.
tl;dr: Godot-cpp requires emscripten >= 3.1.62 to compile, why not set the same for the main project.

@adamscott adamscott added this to the 4.4 milestone Sep 5, 2024
@adamscott adamscott requested review from akien-mga and a team September 5, 2024 14:28
@adamscott adamscott requested a review from a team as a code owner September 5, 2024 14:28
@akien-mga akien-mga changed the title [WEB] Update minimum requirements for emscripten to 3.1.62 [Web] Update minimum requirements for emscripten to 3.1.62 Sep 5, 2024
platform/web/detect.py Outdated Show resolved Hide resolved
platform/web/detect.py Outdated Show resolved Hide resolved
platform/web/detect.py Outdated Show resolved Hide resolved
@akien-mga
Copy link
Member

I'm not too keen on dropping support for older compiler versions generally, especially versions as recent as just a couple months old.

But if both @Faless and @adamscott think it's a good idea, I'm fine. Emscripten is relatively easy to update / use different versions for different projects, so I guess it's not too big a hassle for users to have to update.

@adamscott
Copy link
Member Author

adamscott commented Sep 5, 2024

I'm not too keen on dropping support for older compiler versions generally, especially versions as recent as just a couple months old.

Are other compilers update at the same rhythm as emscripten? And is emscripten the outlier in version checks for flags? (from a quick check, there's only the Linux build that has a cc_semver check for gcc >= 12.1 if using mold)

We obviously don't test every version of emscripten. It makes things kinda hard to maintain, isn't it?

@akien-mga
Copy link
Member

Bump, review feedback still needs to be addressed.

@adamscott adamscott force-pushed the emscripten-minimum-requirements branch 3 times, most recently from af2554d to 1ed9e42 Compare September 24, 2024 14:39
@Faless
Copy link
Collaborator

Faless commented Sep 24, 2024

Emscripten is relatively easy to update / use different versions for different projects, so I guess it's not too big a hassle for users to have to update.

My feeling is that we should always try to stay close to the latest version. The reason is that the whole WASM ecosystem is still evolving, with parts being understandardized and left to tool conventions including things like the metadata format for dynamic linking.

You don't usually expect your application to break if you use an older or newer toolchain (when GCC did that it was a big fuss ).

Emscripten, on the other hand, constantly changes flags, add/remove functionalities, and, more importantly, changes the runtime.

Part of the heavy lifting emscripten does, is providing a "unix-like" runtime (file system, opengl abstraction, threads, etc).

The runtime is constantly changing, using more modern APIs, converting things that had to be done in JS to WASM (because new WASM specs comes out), etc.

This means that using old versions, will most likely produce worse, less performant binaries.

In some cases (e.g. audio), old versions, may use now deprecated APIs, that would either no longer work, or have terrible performance in browsers (which no longer care about support them since they are deprecated).

Copy link
Collaborator

@Faless Faless left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@adamscott adamscott force-pushed the emscripten-minimum-requirements branch from 1ed9e42 to 3fc34f3 Compare September 26, 2024 12:17
@adamscott adamscott force-pushed the emscripten-minimum-requirements branch from 3fc34f3 to a1e409c Compare September 26, 2024 14:19
@akien-mga akien-mga merged commit eeaca3a into godotengine:master Sep 26, 2024
19 checks passed
@akien-mga
Copy link
Member

Thanks!

@dustdfg
Copy link
Contributor

dustdfg commented Sep 28, 2024

Debian 12 now can't build godot for web :/

@Faless
Copy link
Collaborator

Faless commented Sep 28, 2024 via email

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.

4 participants