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

[3.x] [HTML5] Add GDNative+Threads build. #61989

Merged
merged 1 commit into from
Jun 13, 2022

Conversation

Faless
Copy link
Collaborator

@Faless Faless commented Jun 13, 2022

Requires an unreleased version of emscripten (or more correctly, a recent LLVM patch, see: emscripten-core/emscripten#17150 and https://reviews.llvm.org/D127333).

You can try it out by building LLVM from source, and overriding the LLVM version used by emscripten via the EM_LLVM_ROOT env variable (see here).

Only template versions work, the editor fails to start (possibly related to emscripten-core/emscripten#15487):

WebAssembly.instantiate(): imports count of 132022 exceeds internal limit of 100000

Will open on a dedicated PR for master soon.

@Faless Faless added this to the 3.5 milestone Jun 13, 2022
@Faless Faless requested a review from a team as a code owner June 13, 2022 08:10
@Faless Faless force-pushed the js/3.x_threads_gdnative_export branch from f32f1ca to 1e94917 Compare June 13, 2022 08:12
Copy link
Member

@akien-mga akien-mga left a comment

Choose a reason for hiding this comment

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

Changes look good. Given that it requires bleeding edge Emscripten and LLVM I guess it's a bit late for 3.5, we can likely merge this for 3.6?

@Faless
Copy link
Collaborator Author

Faless commented Jun 13, 2022

Changes look good. Given that it requires bleeding edge Emscripten and LLVM I guess it's a bit late for 3.5, we can likely merge this for 3.6?

I know it's very late, I was thinking maybe we could provide official builds in a point release (e.g. 3.5.1), but we can re-target for 3.x and backport it later on in case.

@Faless Faless modified the milestones: 3.5, 3.x Jun 13, 2022
@akien-mga
Copy link
Member

akien-mga commented Jun 13, 2022

Changes look good. Given that it requires bleeding edge Emscripten and LLVM I guess it's a bit late for 3.5, we can likely merge this for 3.6?

I know it's very late, I was thinking maybe we could provide official builds in a point release (e.g. 3.5.1), but we can re-target for 3.x and backport it later on in case.

Yeah I mean the changes seem harmless enough so I don't mind merging it for 3.5 to enable in a point release later. But then we should maybe unexpose the "Threads and GDNative" export option to avoid confusion, as we won't be providing templates for it in 3.5.stable.

You could keep it implemented but just not part of the property enum hint (and people who want to test with custom builds could set the value manually in their export_presets.cfg).

@Faless Faless force-pushed the js/3.x_threads_gdnative_export branch from 1e94917 to 65dc01b Compare June 13, 2022 09:45
@akien-mga akien-mga modified the milestones: 3.x, 3.5 Jun 13, 2022
@akien-mga akien-mga merged commit 0d2be43 into godotengine:3.x Jun 13, 2022
@akien-mga
Copy link
Member

Thanks!

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.

2 participants