71 Commits

Author SHA1 Message Date
Rémi Verschelde
4150d2a1b7 Update various toolchains for 4.6
- Fedora 43
- SCons 4.10.1
- MinGW 13.0.0 with GCC 15.2.1 and binutils 2.45
- Emscripten 4.0.20
- Xcode 26.1.1
2025-11-22 20:48:32 +01:00
Stuart Carnie
4b58ce13e4 Apple: Update to Apple 26.0 SDKs 2025-10-18 07:26:07 +11:00
Stuart Carnie
af9461918e Apple: add visionOS and tvOS build support; unify build container
Remove `ios` image, superseded by `appleembedded`.
2025-06-13 23:27:51 +02:00
Rémi Verschelde
bc0a7d9700 Update various toolchains for 4.5
- Fedora 42
- SCons 4.9.1
- MinGW 12.0.0 with GCC 14.2.1 and binutils 2.43.1
- Android NDK r28b, API 25
- Emscripten 4.0.10
- Xcode 16.4 (macOS 15.5, iOS 18.5)
2025-06-12 23:09:06 +02:00
Rémi Verschelde
440561d8b5 Update various toolchains for 4.4
- Fedora 41
- SCons 4.8.1
- MinGW 12.0.0 with GCC 14.2.1 and binutils 2.42
- Xcode 16.2 (macOS 15.2, iOS 18.2)
2024-12-16 21:01:55 +01:00
Rémi Verschelde
59d3e56fa8 Merge pull request #141 from godotengine/4.3-toolchains-update-3
Update various toolchains for 4.3
2024-06-20 10:02:35 +02:00
Rémi Verschelde
f504c58cb2 Update various toolchains for 4.3
- Fedora 40
- SCons 4.7.0
- MinGW 11.0.1 with GCC 14.1.1 and binutils 2.41
- Xcode 15.5 (macOS 14.5, iOS 17.5)
- Emscripten 3.1.61
2024-06-19 15:23:33 +02:00
Rémi Verschelde
6cfed75f1e Improve error handling if Xcode xip file isn't readable
Fixes #140.
2024-05-06 22:20:29 +02:00
Rémi Verschelde
af40006600 Update various toolchains for 4.3
- .NET 8.0
- SCons 4.6.0
- Xcode 15.2 (macOS 14.2, iOS 17.2)
- Android API 34
- Emscripten 3.1.53
- Add wayland-devel dependency for Linux
2024-02-08 17:14:28 +01:00
Rémi Verschelde
ced8cc8618 Update to Fedora 39, update all toolchains
- Base image: Fedora 39
- SCons: 4.5.2
- Linux: GCC 10.2.0 built against glibc 2.19, binutils 2.35.1
- Windows: MinGW 11.0.0, GCC 13.2.1, binutils 2.40
- Web: Emscripten 3.1.39
- Android: Android NDK 23.2.8568313, build-tools 33.0.2, platform android-33, CMake 3.22.1, JDK 17
  CMake 3.22.1, JDK 17
- macOS: Xcode 15.0 with Apple Clang (LLVM 16.0.0), MacOSX SDK 14.0
- iOS: Xcode 15.0 with Apple Clang (LLVM 16.0.0), iPhoneOS SDK 17.0

Switches macOS/iOS builds to use Apple Clang, to maximize compatibility with
upstream Xcode.

Also add gettext which is needed by Godot build scripts to compile PO files
to MO.
2023-10-24 11:24:52 +02:00
Rémi Verschelde
0e210c72f1 Drop now unused MSVC / VS 2017 container
UWP support was removed from Godot 4.x, and recent attempts at building
this container couldn't reproduce a functional one for UWP builds anyway.
2023-09-25 11:16:27 +02:00
Maks
73fa70dcf4 Change "/bin/bash" to "/usr/bin/env bash" in shell files (#129) 2023-09-08 14:20:11 +02:00
Rémi Verschelde
5053b4b092 Remove Dockerfile.export, unnecessary with --headless mode 2023-09-04 10:15:05 +02:00
Rémi Verschelde
46a2320545 build: Fix error getting base dir after #119 2023-05-24 16:50:53 +02:00
Unai Martinez-Corral
5f596e34f2 build: make podman_build a function (#121) 2023-05-24 16:20:18 +02:00
Unai Martinez-Corral
9afdb20dc5 build: skip confirm if non-interactive 2023-04-19 19:40:47 +02:00
Unai Martinez-Corral
ccec966d09 support executing build.sh from anywhere (#119) 2023-04-19 19:32:39 +02:00
Hein-Pieter van Braam
8f6852e813 Make the build script work with SELinux
Generally speaking the scripts are executed from a user's homedirectory.
By default the SELinux context will be: unconfined_u:object_r:user_home_t:s0

For podman to work with SELinux enable the context needs to be
system_u:object_r:container_file_t:s0. Podman can do this automatically
if the volume is made with the :z attribute.
2023-02-09 15:17:36 +01:00
Rémi Verschelde
dd1c2c06b9 Xcode: Update to Xcode 14.1, macOS 13.0, iOS 16.1
Use Fedora 36's Clang since it provides version 14.0.5 which fits the version
used by Xcode 14.1.
2022-11-03 12:34:17 +01:00
Rémi Verschelde
39f8e4d3f4 Web: Rename javascript to web 2022-08-29 15:12:09 +02:00
Rémi Verschelde
58a04947c4 .NET 6: Remove all Mono build code, install .NET SDK 6.0 2022-08-29 09:11:39 +02:00
Rémi Verschelde
06420a2e06 Android: Mono build now supports NDK r23, drops unused android cross compilers 2022-07-08 17:10:37 +02:00
Rémi Verschelde
18b7ecfcd9 Update to Android NDK r23, Emscripten 3.1.14
Keeping NDK r21 for building Mono itself as it's not compatible yet
with NDK r22+ (see godotengine/godot-mono-builds#68).
2022-06-25 13:35:41 +02:00
Rémi Verschelde
541cf38dd5 Update godot-mono-builds to build BTLS DLL again 2022-05-24 16:08:46 +02:00
Rémi Verschelde
55baf826a0 Update godot-mono-builds with problematic changes reverted
See https://github.com/godotengine/godot-mono-builds/issues/66.
2022-05-19 08:50:23 +02:00
Rémi Verschelde
dbc4904d7a Add distro identifier to image version, simplify script
We have no reason to checkout a Mono commit anymore, all commits on the
last supported branch 2020-02 get a Preview release tag.
2022-05-19 08:45:54 +02:00
Rémi Verschelde
d1cfeabb99 Update to Xcode 13.3.1 (MacOSX 12.3 and iPhoneOS 15.4) 2022-05-19 08:44:39 +02:00
Rémi Verschelde
36e4d7cd79 Upgrade to Fedora 36 and Mono 6.12.0.178, newer toolchains
- F36 gives us MinGW GCC 11.2.1 and binutils 2.37 for Windows builds.
  * Had to downgrade autotools to F35 version for Mono wasm builds.
- OSX and iOS builds now use LLVM 14 for osxcross.
- Emscripten updated to 3.1.10 for classical builds (still using
  1.39.9 for Mono).
- Mono 6.12.0.178, and updated godot-mono-builds to fix issue with
  btls-lib on macOS ARM64 (fixes #95).
- SCons 4.3.0.
- Linux toolchains not updated yet, need to prepare a new buildroot
  with latest GCC/binutils.
2022-05-10 11:06:46 +02:00
Rémi Verschelde
d8d17c5cae godot-mono-builds: Revert f63f4e2 temporarily to work around #95 2021-10-11 12:44:04 +02:00
Rémi Verschelde
3c80b0d5ea Update README with Fedora 34 digest, disable MSVC build 2021-10-11 12:27:55 +02:00
Rémi Verschelde
6636cb9d01 Android: Install platform 30, sync updated godot-mono-builds 2021-08-17 08:56:14 +02:00
Rémi Verschelde
8b32344741 Windows: Update godot-mono-builds to fix https://github.com/godotengine/godot/issues/36958 2021-07-30 09:58:23 +02:00
Rémi Verschelde
56418cb8d8 Windows: Update godot-mono-builds with fixed copy_bcl for win32 2021-07-27 08:56:46 +02:00
Rémi Verschelde
a1fe8335d7 Update README with current list of containers 2021-07-13 08:28:01 +02:00
Rémi Verschelde
28fc5dde48 Linux: New container based on Fedora using Godot SDKs
We now provide pre-built toolchains for Linux with old glibc and the required
Godot dependencies, which can be used to build portable Godot binaries without
having to be on an extremely old Linux distro.

So we can retire the old Ubuntu 14.04 containers and instead do our portable
builds directly on Fedora 34, like for other platforms.

This commit also makes use of `godot-mono-builds` to build Mono and the BCL
for Linux, instead of doing it manually. The same will be done for Windows and
macOS in the next commit.
2021-07-12 22:28:16 +02:00
Rémi Verschelde
c98720506a Mono: Update to 6.12.0.147, adds Apple Silicon support
This is a Preview release of Mono, so we use `centos8-preview` packages which
correspond to its MSBuild version requirements (16.10.1).

For osxcross, we need to build compiler-rt to be able to link the new Apple
Silicon support code. See #83 for details.
Includes a backport of https://github.com/tpoechtrager/osxcross/pull/284 to
simplify the install process.

Actual macOS arm64 builds will be added in a follow-up commit.
2021-07-12 22:27:42 +02:00
Rémi Verschelde
011a019429 Update to Mono 6.12.0.122 (current stable)
That's what we'll use for Godot 3.3.
2021-03-28 01:31:10 +01:00
Rémi Verschelde
64ee6284b5 OSX/iOS: Update to Xcode 12.4 and latest osxcross
Osxcross update should improve things for Apple Silicon, notably we
no longer need to disable LDID fake signing, it was replaced by
adhoc-codesign.
2021-03-28 01:31:09 +01:00
Rémi Verschelde
cc43bc75f3 Mono: Update godot-mono-builds to d462909236457cd212b17378c29ce336749e260d
Should help fix issue with JavaScript builds.
2021-03-26 13:40:38 +01:00
Jose Juan Montes
5e9f238967 Adding usage documentation. 2021-02-23 02:32:35 +01:00
Hein-Pieter van Braam-Stewart
aaa066f0cf Add warning about wine binfmt support 2021-02-11 05:04:16 +01:00
Rémi Verschelde
57fdc2cebf Windows: Request net_4_x explicitly so that configure aborts if it can't be built 2021-02-10 23:25:47 +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
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
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
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
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
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
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
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