For other platforms:
- Android is stripped by gradle already.
- HTML5 already has stripped release builds.
Debug builds could be stripped with fastcomp's wasm-strip but it might be
deprecated?
- iOS is a static lib and shouldn't be stripped.
- UWP can't be stripped by default GNU strip it seems.
This allows signing the editor .app (will be done in next commit) and should
let users sign their macOS exports.
Co-authored-by: Shane Liesegang <shane@techie.net>
Classical builds now use Emscripten 2.0.10 and have threads and gdnative
templates.
Mono builds still use Emscripten 1.39.9 for compatibility with Mono 6.12.x, so
they cannot have GDNative support which requires 2.0.10+. And threads build
triggers wasm-ld errors without LTO, and wasm-ld crash with LTO, so no dice
there either.
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
The sums are included both in the release folder, and in a separate
`sha512sums` folder in the base directory, to allow verifying that
the sums on the download repository haven't been tampered with.
The in-container build scripts now get passed CLASSICAL and MONO env
variables which can be used to build one or the other, or both
(default).
`build.sh`, `build-release.sh` and `build-templates.sh` now all expect
command line switches to specify the version details, and optionally
which flavor to build.
For example to build Mono only:
./build.sh -v 3.2-beta4 -g master -b mono
./build-release.sh -v 3.2-beta4 -b mono
./build-templates.sh -v 3.2-beta4 -t 3.2.beta4 -b mono
Also took the opportunity to do some extra cleanup, like removing
unnecessary `builtin_*` options since they all default to True, even
for Linux in 3.2, as well as `use_lto` and `use_static_cpp` options
on platforms which don't implement them.
And I improved the `build-release.sh` script to be a bit easier to
read, and avoid having too many stray folders to cleanup.
The build scripts should now generate the final structure that we'd use
on the official mirrors, with the `mono` distribution as a subfolder of
the main release folder.
- Add Mono builds for Android.
- Remove now unused `MONO*_PREFIX` env variables (replaced by `mono_prefix`
command line option).
- Update iOS to SDK 12.4 and darwin17 for proper ARKit support.
- Drop 32-bit support for iOS (armv7, x86).
- Drop unused mandatory -t argument in build.sh.
- Remove infinite retries for OSX and iOS, builds now seem to
succeed right away and it prevents exiting the script.
- Factor out iOS SDK version.
- Make build order consistent in build.sh and build-release.sh
- Removing trailing whitespace.