Commit Graph

102 Commits

Author SHA1 Message Date
qjyqjyqjyqjy
b3707d15c5 Android: Fix NDK version variable expansion (#66)
To properly expand in the shell it needs to be in double quotes, not single quotes.
2021-01-18 15:53:30 +01:00
Rémi Verschelde
3926b63c6b Android: Update env variables and NDK preinstallation to match Godot buildsystem changes (#64) 2021-01-06 16:30:37 +01:00
Fredia Huya-Kouadio
d40854f75a Update Dockerfile.android
Updates based on feedback.
2021-01-06 07:24:02 -08:00
Fredia Huya-Kouadio
c079413258 Update Dockerfile.android
Updates based on feedback.
2021-01-06 07:14:57 -08:00
Fredia Huya-Kouadio
5978e67f01 Update Dockerfile.android
Update configuration based on the Android buildsystem change in https://github.com/godotengine/godot/pull/44949.
2021-01-05 14:09:02 -08:00
Rémi Verschelde
ffd8d9bfa8 Merge pull request #63 from godotengine/js-emscripten-2.0.11
JavaScript: Bump Emscripten to 2.0.11 for standard builds, update godot-mono-builds
2020-12-30 10:07:01 +01:00
Rémi Verschelde
efa506e301 JavaScript: Bump Emscripten to 2.0.11 for standard builds, update godot-mono-builds 2020-12-30 09:59:55 +01:00
Rémi Verschelde
3794b73dbc Merge pull request #62 from godotengine/js-emscripten-2.0.10
JavaScript: Install Emscripten 2.0.10 for standard builds with GDNative
2020-12-10 14:25:32 +01:00
Fabio Alessandrelli
ab8503aa31 JavaScript: Install Emscripten SDK 1.39.9 (Mono) and 2.0.10 (Standard).
Mono needs to stay on 1.39.9 for compatibility with Mono 6.12.x, but for
standard builds the latest is best, and 2.0.10+ is needed for GDNative support.

None is sourced by default, they will be sourced by the build script.

We use a copy of the same Git clone to ensure that `emsdk_env.sh` is
compatible, otherwise we end up with a dirty state when sourcing both.
2020-12-10 13:40:29 +01:00
Rémi Verschelde
ca5d4473ae Merge pull request #61 from godotengine/android-mono-api-18
Android: Fix 32-bit Mono builds compat with API < 21
2020-12-10 09:52:08 +01:00
Rémi Verschelde
ae944a9610 Android: Fix 32-bit Mono builds compat with API < 21
The fix is done in https://github.com/godotengine/godot-mono-builds/pull/22.

Also bump build-tools/platform to API 30 to match current 3.2 branch.
2020-12-10 09:42:49 +01:00
Rémi Verschelde
62116611f3 Merge pull request #60 from godotengine/xcode-12.2
Update to Xcode 12.2 SDKs
2020-11-19 13:33:54 +01:00
Rémi Verschelde
8faf54b9db Update to Xcode 12.2 SDKs
- macOS 11.0 SDK for Big Sur update
- iOS 14.2 SDK

Cf. https://github.com/godotengine/godot-build-scripts/pull/10
2020-11-19 12:58:03 +01:00
Rémi Verschelde
7e387bd357 Merge pull request #59 from godotengine/mono-6.12.0.111
Update to Mono 6.12.0.111
2020-11-19 11:47:45 +01:00
Rémi Verschelde
98f617fbbd Update to Mono 6.12.0.111
- Since with latest godot-mono-builds, removing the need for downstream
  patches for iOS and Emscripten builds.
2020-11-19 11:46:24 +01:00
Rémi Verschelde
0601c06840 Merge pull request #58 from godotengine/mono-6.12
Update to Mono 6.12.0.102, use Fedora 32
2020-10-22 14:51:54 +02:00
Rémi Verschelde
dede88afa4 Update to Mono 6.12.0.102, use Fedora 32
- Base container: Fedora 32
- Mono uses version 6.12.0.102, MSBuild 16.6
- Linux builds use GCC 9
- Windows builds use Fedora 32's mingw-gcc (GCC 9)
- JavaScript uses Emscripten 1.39.9 (Mono 6.12 requires 1.39.7 but that version
  fails generating .wasm, so we backport a patch to get 1.39.9)
- Install SCons 4.0.1 from pip
2020-10-20 13:27:57 +02:00
Rémi Verschelde
8b2f41062b Android: Fix installing SDK command line tools 2020-10-13 17:09:01 +02:00
Rémi Verschelde
97e8849d93 Merge pull request #57 from godotengine/android-29-pin-ndk
Android: Update and pin NDK version, use android 29
2020-10-09 13:25:58 +02:00
Rémi Verschelde
7e119fda47 Android: Update and pin NDK version, use android 29 2020-10-09 13:20:22 +02:00
Rémi Verschelde
795edeff5e Merge pull request #56 from godotengine/xcode-12.0.1
iOS and OSX: Upgrade containers to use latest osxcross and Xcode 12.0.1
2020-10-07 12:36:29 +02:00
Rémi Verschelde
3366693a05 iOS and OSX: Upgrade containers to use latest osxcross and Xcode 12.0.1
Provides SDKs for iOS 14.0 and macOS 10.15.

Mono is patched to fix a regression in Xcode 11.4+, still unfixed by Apple.
Another patch is backported from Unity's Mono fork to fix another issue with
the macOS 11.0 beta SDK.

Fixes missing arguments in Xcode and iOS dockerfiles, seems like some changes
were not properly committed during the last refactor.
2020-10-07 12:33:54 +02:00
Rémi Verschelde
aa95c5535b Merge pull request #55 from Calinou/scripts-executable
Make all scripts executable
2020-10-05 20:35:39 +02:00
Hugo Locurcio
ef854376f7 Make all scripts executable
Unlike `build.sh`, other scripts weren't executable already.
2020-10-04 17:41:21 +02:00
Rémi Verschelde
e1cf3dfa45 Merge pull request #53 from arichnad/master
podman is required.  also, "files" subdirectory here is incorrect.
2020-07-14 20:20:17 +02:00
adrian
bb2e4e0600 podman is required. "docker build -v" does not exist, this is only in podman.
files subdirectory here is incorrect.
2020-07-08 09:37:11 -04:00
Rémi Verschelde
3ccc623ac2 Merge pull request #47 from godotengine/mono-ios
iOS: Build Mono runtime
2020-04-14 12:44:29 +02:00
Rémi Verschelde
d3cbff6cc7 iOS: Build Mono runtime
iOS image is now based on the OSX one, as we'll need the OSX
toolchain to build the AOT cross-compiler.

We can't build the cross-compiler yet though as godot-mono-builds
doesn't support OSXCross for that part, and we will likely need
to build libclang manually beforehand too.
2020-04-14 12:05:42 +02:00
Rémi Verschelde
106d163be4 Mono: Remove patch applied by godot-mono-builds patch_mono.py already 2020-04-07 16:18:37 +02:00
Rémi Verschelde
dce2101e6e Use parallel make in godot-mono-builds scripts
Builds are faster with 64 jobs instead of 1 :)

It's mostly relevant for 'make' but we also use the -j flag
for 'configure' as it can also trigger a build for external
dependencies (like llvm for upcoming iOS Mono builds).
2020-04-07 16:18:37 +02:00
Rémi Verschelde
a26fc11c30 Factor out cloning and patching for godot-mono-builds
This will also be used for iOS so it makes sense to do it all
together with the split out mono clone.

This also allows to pin the commit used more easily.
2020-04-07 16:18:37 +02:00
Rémi Verschelde
4812a83c56 Wasm: Fix mono patch application on Emscripten 1.38.47 2020-04-07 16:18:37 +02:00
Cory Petkovsek
86739a8185 Optimize mono & dnf downloads 2020-03-20 01:13:06 +08:00
Rémi Verschelde
854a4e462d Merge pull request #36 from godotengine/mono-fix-tls-reattach-unity-fork
Mono: Add patch from Unity fork to fix TLS re-attachment
2020-01-22 11:32:03 +01:00
Rémi Verschelde
cb26a84aea Mono: Add patch from Unity fork to fix TLS re-attachment
Fixes godotengine/godot#33735.
2020-01-21 15:06:46 +01:00
Rémi Verschelde
bf4ea28425 OSX: Don't keep backup of mono/etc/config 2020-01-10 10:52:03 +01:00
Rémi Verschelde
8a912c7f0e Windows: Set WINEPATH for 32-bit wine to fix Mono build
Symlinking the BCL from `/usr/lib/mono` no longer seems needed
for either architecture, everything is built properly.

Fixes #34.
2020-01-07 14:01:22 +01:00
Rémi Verschelde
01cb76abed Merge pull request #33 from godotengine/mono-win32-fix-container
Windows: Prevent 32-bit build failure from skipping symlinks
2020-01-07 10:43:34 +01:00
Rémi Verschelde
58ab466fd8 Windows: Prevent 32-bit build failure from skipping symlinks
Like most programming language, in a logic statement `A && B || C`,
bash will not evaluate B if A is false (failing in our case).
Using `A && (B || C)` to prevent that.

A build error in the Windows 32-bit Mono build thus caused skipping
all subsequent `ln` statements up until `|| /bin/true`, which is used
to link only the folders which are missing from the self-built mono
prefix.

The build error still needs to be fixed but it doesn't seem to prevent
using the resulting container to build 32-bit Windows binaries.
2020-01-07 09:57:27 +01:00
Rémi Verschelde
4b458b46f5 Mono: Upgrade Android/JavaScript version of godot-mono-builds.git 2020-01-03 20:42:22 +01:00
Rémi Verschelde
8f3eb0167f Merge pull request #32 from godotengine/win64-fix-mono-6
Windows: Workaround Mono 6 BCL cross-compiling bug using Wine
2019-12-18 08:20:26 +01:00
Rémi Verschelde
4cbbe672b5 Windows: Workaround Mono 6 BCL cross-compiling bug using Wine
This can be reverted once a proper fix has been deployed in upstream
Mono. No ETA yet as we're busy and it's unlikely to happen if we don't
do it ourselves :)

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2019-12-18 08:18:10 +01:00
Rémi Verschelde
da57f92dba Merge pull request #31 from godotengine/osx-config-update
OSX: Update Mono config based on upstream one
2019-12-18 08:15:15 +01:00
Rémi Verschelde
65e94a9acb OSX: Update Mono config based on upstream one
Taken from a system-wide install of Mono 6.4 on macOS,
provided by @neikeq.
2019-12-18 08:14:36 +01:00
Rémi Verschelde
64669476c5 Merge pull request #29 from godotengine/mono-version-fix-hash
Mono: Allow specifying fixed git hash and pretty image version
2019-12-09 11:02:04 +01:00
Rémi Verschelde
0a63061960 Mono: Allow specifying fixed git hash and pretty image version
Specifying only a branch like '2019-08' is problematic if upstream commits
something between the builds of two containers.

We could make a tarball in the first container build and reuse that, but we
need the flexibility of Git for some patching in the Android and JavaScript
builds, so instead we allow specifying a git tree-ish as the third argument.

We can therefore also give a pretty version string to use for the image name
as second argument, e.g. 6.6.0.160 for bef1e6335812d32f8eab648c0228fc624b9f8357.

As we can't `git clone` a commit hash directly, we still need to provide both
branch name and then commit hash for this use case.
2019-12-04 11:50:04 +01:00
Rémi Verschelde
ffdd1a039c JavaScript: Drop -upstream suffix from image name 2019-12-03 12:47:26 +01:00
Rémi Verschelde
43f2cf8654 Merge pull request #28 from godotengine/fix-javascript-mono
JavaScript: Update and fix mono patch for Emscripten 1.38.42+
2019-12-03 09:57:40 +01:00
Rémi Verschelde
bd49e7a478 Merge pull request #27 from godotengine/fix-img-version
[WIP] Properly pass img_version to all containers
2019-12-03 09:56:39 +01:00
Rémi Verschelde
e6e211f495 JavaScript: Update and fix mono patch for Emscripten 1.38.42+
Cherry-pick the whole https://github.com/mono/mono/pull/16636

We were also attempting to patch the wrong folder previously (I had it
working in my local tests but committed the wrong patch when rebasing
to make the Git history pretty... :)).
2019-12-03 09:55:09 +01:00