| Age | Commit message (Collapse) | Author | 
 | 
this.rtenv.callMain is not a function when using latest-upstream backend
Added needed changed for normal compiling with emscripten 1.38.41 and later
 | 
 | 
It is not supported in Emscripten's `latest-upstream` LLVM backend,
and doesn't seem necessary in the `latest` backend either.
It was initially added in #22857 to solve a compilation error with the latter.
Part of #30270.
 | 
 | 
Emscripten is apparently changing the variables in its config file,
causing potential breakage of our build system.
Binaries of the latest/latest-upstream releases are located in a
subfolder of BINARYEN_ROOT called emscripten.
Binaries of the other releases (e.g. sdk-1.38.31-64bit) are instead
placed under the EMSCRIPTEN_ROOT folder.
This PR checks if BINARYEN_ROOT has a subfolder called emscripten, if
that does not exists, it falls back to checking the EMSCRIPTEN_ROOT.
This way we give precedence to the new releases, given that activating
multiple releases sequentially might result in having mismatching
BINARYEN_ROOT and EMSCRIPTEN_ROOT.
 | 
 | 
Recent Emscripten SDK versions seem to only include the
`BINARYEN_ROOT` variable in the Emscripten configuration file,
whereas the platform's `detect.py` only looked at `EMSCRIPTEN_ROOT`.
 | 
 | 
Those were disable to keep size small, and on Android avoid the dependency on the STL,
but for tools build (editor) this is not really a concern.
Note: as of today it's not possible to build tools=yes for those platforms, but this
change is one of the necessary steps to enable it.
Fixes #25262.
 | 
 | 
Include paths are processed from left to right, so we use Prepend to
ensure that paths to bundled thirdparty files will have precedence over
system paths (e.g. `/usr/include` should have lowest priority).
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
Using codespell 1.14.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
The increased build time is negligible in comparison to the decreased
file size.
 | 
 | 
Drop logic for non-existent 'profile' target
 | 
 | 
Handle directories in engine.js preloadFile()
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
The messages generated by some assertions can be confusing to users.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
Rename engine.start() to startGame(), new start() takes string arguments
handed directly to main(). Rename Engine.loadEngine() to load().
Add setLocale(), setResizeCanvasOnStart(), setExecutableName() and
preloadFile().
 | 
 | 
Since WebGL 2.0 is required, requiring WebAssembly support as well has
little impact on compatibility.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
HTML5 start-up overhaul with download progress display
 | 
 | 
- Implement promise-based JS interface for custom HTML page
   integration
 - Add download progress callback
 - Add progress bar and indeterminate spinner to default HTML page
 - Try downloading files multiple times when failing
 - Get rid of godotfs.js
 - Separate steps for engine initialization, game initialization and game
   start
 - Allow multiple games on one HTML page
 - Substitution placeholders only used in .html file
 - Placeholders renamed: $GODOT_BASE => $GODOT_BASENAME,
   $GODOT_TMEM -> $GODOT_TOTAL_MEMORY
 - Emscripten Module is now Engine.RuntimeEnvironment (no longer a global)
 | 
 | 
- The Windows, UWP, Android (on Windows) and Linux builds are
  tested with Scons 3.0 alpha using Python 3.
- OSX and iOS should hopefully work but are not tested since
  I don't have a Mac.
- Builds using SCons 2.5 and Python 2 should not be impacted.
 | 
 | 
Tried to organize the configure(env) calls in sections, using the same order
for all platforms whenever possible.
Apart from cosmetic changes, the following issues were fixed:
- Android: cleanup linkage, remove GLESv1_CM and GLESv2
- iPhone: Remove obsolete "ios_gles22_override" option
- OSX:
  * Fix bits detection (default to 64) and remove obsolete "force_64_bits" option
    (closes #9449)
  * Make "fat" bits argument explicit
- Server: sync with X11
- Windows: clean up old DirectX 9 stuff
- X11:
  * Do not require system OpenSSL for building (closes #9443)
  * Fix typo'ed use_leak_sanitizer option
  * Fix .llvm suffix overriding custom extra_suffix
 | 
 | 
WebGL 2 export per WebAssembly or asm.js
 | 
 | 
 | 
 | 
All the warnings are factored out of the platform-specific files and moved to
SConstruct. Will have to check that it does not introduce regressions on some
platforms/compilers.
(cherry picked from commit 31107daa1a41fe9ab3c7c1868479e78e16848333)
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
work though
 | 
 | 
 | 
 | 
Also fix web builds on Windows and clean up
 | 
 | 
 | 
 | 
Will not yet compile
 | 
 | 
Emscripten injects its loader script when linking, so force relinking
whenever the HTML shell changes.
Also remove useless FULL_ES2 flag, which should be a linker flag, but
would impact performance too much.
 | 
 | 
This helps prevent browser lockups during start-up at the cost of having
to distribute an extra file.
 | 
 | 
This option is the default since Binaryen version 21.
 | 
 | 
This allows setting TOTAL_MEMORY during runtime at the cost of reserving
a bit more memory.
 |