228 Commits

Author SHA1 Message Date
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
d4d62af520 Merge pull request #116 from godotengine/xcode-14.1 2022-11-04 10:10:30 +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
6c3ec4bded Merge pull request #114 from godotengine/emscripten-3.1.18 2022-09-09 14:04:46 +02:00
Rémi Verschelde
b36283843d Web: Downgrade to Emscripten 3.1.18
Emscripten 3.1.19 and 3.1.20 have a showstopping regression that
breaks calling our main function for the editor build.
2022-09-09 14:00:10 +02:00
Rémi Verschelde
1c625d37bd Merge pull request #113 from godotengine/godot4-dotnet6 2022-08-30 09:56:39 +02: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
d863b0a20f Add details about toolchains in use 2022-06-27 16:54:48 +02:00
Rémi Verschelde
63c20a4d9e Cleanup and improve README
Removed old instructions about Ubuntu 18.04 as there's no good reason
to use such an old OS to build those containers, and we're not testing
it so chances are that the containers may not build/work properly there.

It saves a lot of trouble to just use latest Fedora (or possibly RHEL/CentOS)
to build those containers.
2022-06-27 16:54:48 +02:00
Rémi Verschelde
05a9d70c7e Merge pull request #109 from godotengine/android-ndk-r23
Update to Android NDK r23, Emscripten 3.1.14
2022-06-27 12:20:19 +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
469fc4515c iOS: Delete unneeded cctools-port compiled objects
And don't install clang since we built it manually in the OSX image.
2022-05-24 22:52:47 +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
e6cb701ab3 Merge pull request #108 from godotengine/back-to-f36 2022-05-21 16:12:01 +02:00
Rémi Verschelde
53fb4ea624 Set base to Fedora 36, F35 had worse issues
This reverts #105 as we found that the MinGW/GCC/binutils
combinations in Fedora 35 generates broken Windows binaries.

To workaround the issue with LLVM 14 on F36, we build Clang 13.0.1
from source for osxcross in the OSX container. This matches Xcode 13.
2022-05-20 22:02:04 +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
a830ebfd2b Merge pull request #107 from godotengine/image-distro-version 2022-05-19 08:47:52 +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
5159c672e8 Merge pull request #106 from godotengine/xcode-13.3.1 2022-05-19 08:45:46 +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
568a6c03bd Merge pull request #105 from godotengine/base-f35
Set base to Fedora 35 for now, F36 still a bit too new
2022-05-19 08:44:21 +02:00
Rémi Verschelde
6cfd2d060a Set base to Fedora 35 for now, F36 still a bit too new
Notably LLVM 14 on F36 doesn't seem to play nice with macOS builds.
We probably need to wait for Xcode 14 to have support for LLVM 14.

Going back to F35 also avoids issues with autoconf 2.71.
2022-05-19 08:43:19 +02:00
Rémi Verschelde
232fa5de5d Merge pull request #104 from godotengine/f36-mono-6.12.0.178
Upgrade to Fedora 36 and Mono 6.12.0.178, newer toolchains
2022-05-12 13:09:09 +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
b3a5c3b5f6 Merge pull request #103 from Faless/pi/arm_toolchain 2022-05-03 13:53:00 +02:00
Fabio Alessandrelli
1b17a96cec [Linux] Add armhf toolchain to the build image. 2022-04-24 06:26:17 +02:00
Rémi Verschelde
1daaf42a89 Android: Install Java 11 instead of 8, now needed for Godot 3.4 2021-10-18 12:14:32 +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
16caa526cd OSX: Sync with latest osxcross, use upstream patch for compiler_rt 2021-10-11 12:43:39 +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
5566d8c186 Merge pull request #93 from godotengine/android-api-30
Android: Install platform 30, sync updated godot-mono-builds
2021-08-17 08:58:22 +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
8319182d3d Merge pull request #90 from godotengine/xcode-install-xar-package
Xcode: Install `xar` package from Fedora
2021-07-30 13:09:05 +02:00
Rémi Verschelde
8a83edb8c9 Xcode: Install xar package from Fedora
It's better maintained than https://github.com/mackyle/xar and that saves us
some work.

Supersedes #88 and #89.
2021-07-30 12:21:38 +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
6e076e2952 Merge pull request #87 from godotengine/macos-compiler_rt-arm64
macOS: Build compiler_rt for ARM64 too
2021-07-27 11:53:56 +02:00
Rémi Verschelde
83531c1f8b macOS: Build compiler_rt for ARM64 too 2021-07-27 11:52:09 +02:00
Rémi Verschelde
f218eaad48 Merge pull request #86 from godotengine/windows-fix-copy_bcl-win32
Windows: Update godot-mono-builds with fixed copy_bcl for win32
2021-07-27 08:57:31 +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
e9875afbec Merge pull request #84 from godotengine/containers-overhaul-linux-sdk-macos-arm64 2021-07-13 13:29:09 +02:00
Rémi Verschelde
a1fe8335d7 Update README with current list of containers 2021-07-13 08:28:01 +02:00
Rémi Verschelde
428340a423 Windows: Use godot-mono-builds scripts, remove Wine dependency
Streamlines the build process as done for Linux and macOS in previous commits,
and as was done for mobile and web platforms from the start. We're now fully
in sync with `godot-mono-builds`.

This also removes the need to hack around cross-compilation issues using Wine,
which also seemed no longer to work on Fedora 34 anyway.
2021-07-12 22:29:03 +02:00
Rémi Verschelde
c55dffec9a macOS: Use godot-mono-builds scripts, add macOS arm64
This changes our handmade `configure` calls to rely on the streamlined build
process from `godot-mono-builds`, so that our builds are consistent with the
ones generated there.

This enables us to target macOS arm64 easily as neikeq did the relevant work
in the `godot-mono-builds` scripts.

Includes a backport of https://github.com/mono/mono/pull/21147 to fix Mono
build with `godot-mono-builds` using a wrapper for osxcross.
2021-07-12 22:28:44 +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
b409e6b9e9 Toolchain updates: Fedora 34, Emscripten 2.0.25, and more
- Update base image from Fedora 33 to Fedora 34 (newer GCC, Clang, MinGW and
  binutils).
- Update Emscripten for classical builds from 2.0.15 to 2.0.25.
- Update Android SDK tools to latest version, and build-tools from 30.0.1 to
  30.0.3.
- Update osxcross and ios cctools-port to latest commits.
- Update iOS Mono build's min target version to match Godot's buildsystem.
  See #83 for details.
2021-07-12 22:27:42 +02:00
Rémi Verschelde
8f8fdf5ba8 Merge pull request #85 from godotengine/ios-disable-arm64-sim
iOS: Disable non-working arm64 simulator build
2021-07-12 22:27:17 +02:00
Rémi Verschelde
6b22d8a24c iOS: Disable non-working arm64 simulator build
We have to wait for a resolution to https://github.com/tpoechtrager/cctools-port/issues/102
or try a custom LLVM build with the proposed patch in that issue.
2021-07-12 15:31:06 +02:00