Commit Graph

31 Commits

Author SHA1 Message Date
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 58a04947c4 .NET 6: Remove all Mono build code, install .NET SDK 6.0 2022-08-29 09:11:39 +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 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 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 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 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
Rémi Verschelde d269202615 iOS: Fixup sed path after #68 2021-07-12 12:32:19 +02:00
bruvzg 371ef4a99e
Add Apple Silicon iOS simulator build support. 2021-06-03 08:15:50 +03: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 7df68e3578 iOS: Download arm64 AOT compiler directly from godot-mono-builds
That release matches Mono 6.12.0.114.
2021-01-27 21:48:45 +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
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
Cory Petkovsek 86739a8185 Optimize mono & dnf downloads 2020-03-20 01:13:06 +08: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 d4d8ce85f2 Pin specific commit for all Git clones
This helps ensure that container builds are reproducible if thirdparty
repositories change.
2019-12-03 09:52:56 +01:00
Rémi Verschelde cd973e1d9f Properly pass img_version to all containers
Continuation and fixup of #23.
2019-12-03 08:13:45 +01:00
Rémi Verschelde a5ceea36da Use /bin/bash as default CMD instruction
The previous `['/bin/bash']` was not working, running the image
with `podman run -it <name>` would evaluate to:
```
> sh -c ['/bin/bash']
sh: [/bin/bash]: No such file or directory
```
2019-11-18 21:52:37 +01:00
Rémi Verschelde f7966f0a1e Disable installation of weak deps
This saves us from pulling gtk2 and gtk3 as weak deps of
perl and git or whatnot... And we don't need to pull in all
the documentation on Ubuntu.

Also ensures that we properly run `dnf clean all` after each
installation.
2019-11-18 17:09:03 +01:00
Rémi Verschelde 046e892f76 Install common dependencies in Dockerfile.base 2019-11-15 10:17:07 +01:00
Hein-Pieter van Braam-Stewart db63b23b59 Update XCode version for iOS and MacOS 2019-10-01 22:04:13 +02:00
Hein-Pieter van Braam 0c45f623d5 Add YASM to all containers where it makes sense 2019-02-23 22:31:19 +01:00
Hein-Pieter van Braam e5d6158b9e Several small fixes
* Mono config on MacOSX is not portable from the Linux and Windows
version.
* Rename the compilers so that 'gcc' and 'g++' are the new version by
default.
* Add default environment variables to containers.
2019-01-17 23:12:40 +01:00
Hein-Pieter van Braam 0a9d7b2777 Initial commit 2019-01-07 21:51:22 +01:00