mirror of
https://github.com/godotengine/godot-mono-builds.git
synced 2026-01-05 18:10:45 +03:00
Compare commits
22 Commits
osx-versio
...
release-75
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7533d081e4 | ||
|
|
aaee521d08 | ||
|
|
20368d7289 | ||
|
|
c865201eba | ||
|
|
62c407fd0f | ||
|
|
2ef74ff260 | ||
|
|
1cc1257eda | ||
|
|
187d156c89 | ||
|
|
4e93604bc4 | ||
|
|
efd26fbbff | ||
|
|
baa6f22377 | ||
|
|
dfb29cab81 | ||
|
|
0d72e71a50 | ||
|
|
1755de4f1e | ||
|
|
6d4f576264 | ||
|
|
f63f4e2e44 | ||
|
|
aad08390cb | ||
|
|
2d30ce6362 | ||
|
|
c6bdc0feca | ||
|
|
d62d874dd2 | ||
|
|
2bf7d71c7c | ||
|
|
fb6da044d7 |
179
.github/workflows/build.yml
vendored
179
.github/workflows/build.yml
vendored
@@ -21,21 +21,20 @@ on:
|
||||
branches:
|
||||
- 'release/**'
|
||||
|
||||
# Use ubuntu-16.04 for the best compatibility.
|
||||
# Use ubuntu-latest for the Windows builds because of outdated MinGW headers on ubuntu-16.04.
|
||||
# Use ubuntu-latest for the WASM runtime ("machine `wasm32' not recognized" on ubuntu-16.04)
|
||||
# Use ubuntu-18.04 for Linux for the best glibc compatibility.
|
||||
# Use ubuntu-latest for other platforms.
|
||||
|
||||
env:
|
||||
# Use SHA or tag instead of the branch for caching purposes.
|
||||
MONO_TAG: mono-6.12.0.147
|
||||
MONO_TAG: mono-6.12.0.179
|
||||
PYTHON_VERSION: 3.9
|
||||
# Should match the version that Mono supports.
|
||||
EMSDK_VERSION: 1.39.9
|
||||
ANDROID_CMAKE_VERSION: 3.10.2.4988404
|
||||
# These should be synced with the Godot repo.
|
||||
# platform/android/java/app/config.gradle
|
||||
ANDROID_PLATFORM: android-29
|
||||
ANDROID_API: 18
|
||||
ANDROID_PLATFORM: android-30
|
||||
ANDROID_API: 19
|
||||
ANDROID_NDK_VERSION: 21.4.7075529
|
||||
# platform/iphone/detect.py
|
||||
IOS_VERSION_MIN: 10.0
|
||||
@@ -43,7 +42,7 @@ env:
|
||||
jobs:
|
||||
linux:
|
||||
name: Linux
|
||||
runs-on: ubuntu-16.04
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
matrix:
|
||||
target: [x86, x86_64]
|
||||
@@ -65,13 +64,13 @@ jobs:
|
||||
sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl
|
||||
- name: Cache Mono Sources
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -80,11 +79,11 @@ jobs:
|
||||
- name: Clean Mono
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Patch Mono
|
||||
@@ -101,7 +100,7 @@ jobs:
|
||||
mkdir -p $HOME/mono-installs-artifacts
|
||||
(cd $HOME/mono-installs && zip -ry $HOME/mono-installs-artifacts/linux-${{ matrix.target }}.zip desktop-linux-${{ matrix.target }}-release)
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: linux-${{ matrix.target }}
|
||||
path: ~/mono-installs-artifacts/linux-${{ matrix.target }}.zip
|
||||
@@ -109,7 +108,7 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: linux-${{ matrix.target }}-config.log
|
||||
path: ~/mono-configs/desktop-linux-${{ matrix.target }}-release/config.log
|
||||
@@ -139,13 +138,13 @@ jobs:
|
||||
sudo apt-get -y install mingw-w64 libz-mingw-w64-dev
|
||||
- name: Cache Mono Sources
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -154,11 +153,11 @@ jobs:
|
||||
- name: Clean Mono
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Patch Mono
|
||||
@@ -175,7 +174,7 @@ jobs:
|
||||
mkdir -p $HOME/mono-installs-artifacts
|
||||
(cd $HOME/mono-installs && zip -ry $HOME/mono-installs-artifacts/windows-${{ matrix.target }}.zip desktop-windows-${{ matrix.target }}-release)
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: windows-${{ matrix.target }}
|
||||
path: ~/mono-installs-artifacts/windows-${{ matrix.target }}.zip
|
||||
@@ -183,7 +182,7 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: windows-${{ matrix.target }}-config.log
|
||||
path: ~/mono-configs/desktop-windows-${{ matrix.target }}-release/config.log
|
||||
@@ -203,13 +202,13 @@ jobs:
|
||||
brew install autoconf automake libtool pkg-config cmake python3
|
||||
- name: Cache Mono Sources
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -218,11 +217,11 @@ jobs:
|
||||
- name: Clean Mono
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Patch Mono
|
||||
@@ -239,7 +238,7 @@ jobs:
|
||||
mkdir -p $HOME/mono-installs-artifacts
|
||||
(cd $HOME/mono-installs && zip -ry $HOME/mono-installs-artifacts/osx-${{ matrix.target }}.zip desktop-osx-${{ matrix.target }}-release)
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: osx-${{ matrix.target }}
|
||||
path: ~/mono-installs-artifacts/osx-${{ matrix.target }}.zip
|
||||
@@ -247,7 +246,7 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: osx-${{ matrix.target }}-config.log
|
||||
path: ~/mono-configs/desktop-osx-${{ matrix.target }}-release/config.log
|
||||
@@ -267,13 +266,13 @@ jobs:
|
||||
brew install autoconf automake libtool pkg-config cmake python3
|
||||
- name: Cache Mono Sources
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -282,11 +281,11 @@ jobs:
|
||||
- name: Clean Mono
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Patch Mono
|
||||
@@ -304,7 +303,7 @@ jobs:
|
||||
mkdir -p $HOME/mono-installs-artifacts
|
||||
(cd $HOME/mono-installs && zip -ry $HOME/mono-installs-artifacts/ios-${{ matrix.target }}.zip ios-${{ matrix.target }}-release)
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ios-${{ matrix.target }}
|
||||
path: ~/mono-installs-artifacts/ios-${{ matrix.target }}.zip
|
||||
@@ -312,7 +311,7 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ios-${{ matrix.target }}-config.log
|
||||
path: ~/mono-configs/ios-${{ matrix.target }}-release/config.log
|
||||
@@ -337,13 +336,13 @@ jobs:
|
||||
brew install autoconf automake libtool pkg-config cmake python3
|
||||
- name: Cache Mono Sources
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -352,18 +351,18 @@ jobs:
|
||||
- name: Clean Mono
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Patch Mono
|
||||
run:
|
||||
python3 godot-mono-builds/patch_mono.py
|
||||
- name: Download LLVM artifact
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: llvm-${{ matrix.llvm }}-macos-latest
|
||||
# Tilde ~/ not supported when downloading yet: https://github.com/actions/download-artifact/issues/37
|
||||
@@ -391,7 +390,7 @@ jobs:
|
||||
mkdir -p $HOME/mono-installs-artifacts
|
||||
(cd $HOME/mono-installs && zip -ry $HOME/mono-installs-artifacts/ios-${{ matrix.target }}.zip ios-${{ matrix.target }}-release)
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ios-${{ matrix.target }}
|
||||
path: ~/mono-installs-artifacts/ios-${{ matrix.target }}.zip
|
||||
@@ -399,20 +398,20 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload Runtime config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ios-${{ matrix.target }}-runtime-config.log
|
||||
path: ~/mono-configs/ios-${{ matrix.runtime_target }}-release/config.log
|
||||
- name: Upload Cross config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ios-${{ matrix.target }}-config.log
|
||||
path: ~/mono-configs/ios-${{ matrix.target }}-release/config.log
|
||||
|
||||
android:
|
||||
name: Android
|
||||
runs-on: ubuntu-16.04
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
target: [armeabi-v7a, arm64-v8a, x86, x86_64]
|
||||
@@ -435,13 +434,13 @@ jobs:
|
||||
echo "ANDROID_NDK_ROOT=$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION" >> $GITHUB_ENV
|
||||
- name: Cache Mono Sources
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -450,11 +449,11 @@ jobs:
|
||||
- name: Clean Mono
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Patch Mono
|
||||
@@ -471,7 +470,7 @@ jobs:
|
||||
mkdir -p $HOME/mono-installs-artifacts
|
||||
(cd $HOME/mono-installs && zip -ry $HOME/mono-installs-artifacts/android-${{ matrix.target }}.zip android-${{ matrix.target }}-release)
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: android-${{ matrix.target }}
|
||||
path: ~/mono-installs-artifacts/android-${{ matrix.target }}.zip
|
||||
@@ -479,7 +478,7 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: android-${{ matrix.target }}-config.log
|
||||
path: ~/mono-configs/android-${{ matrix.target }}-release/config.log
|
||||
@@ -491,7 +490,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
target: [cross-arm, cross-arm64, cross-x86, cross-x86_64, cross-arm-win, cross-arm64-win, cross-x86-win, cross-x86_64-win]
|
||||
os: [ubuntu-16.04, ubuntu-latest]
|
||||
os: [ubuntu-18.04, ubuntu-latest]
|
||||
exclude:
|
||||
- target: cross-arm
|
||||
os: ubuntu-latest
|
||||
@@ -502,30 +501,30 @@ jobs:
|
||||
- target: cross-x86_64
|
||||
os: ubuntu-latest
|
||||
- target: cross-arm-win
|
||||
os: ubuntu-16.04
|
||||
os: ubuntu-18.04
|
||||
- target: cross-arm64-win
|
||||
os: ubuntu-16.04
|
||||
os: ubuntu-18.04
|
||||
- target: cross-x86-win
|
||||
os: ubuntu-16.04
|
||||
os: ubuntu-18.04
|
||||
- target: cross-x86_64-win
|
||||
os: ubuntu-16.04
|
||||
os: ubuntu-18.04
|
||||
include:
|
||||
- target: cross-arm
|
||||
llvm: llvm64
|
||||
runtime_target: armeabi-v7a
|
||||
os: ubuntu-16.04
|
||||
os: ubuntu-18.04
|
||||
- target: cross-arm64
|
||||
llvm: llvm64
|
||||
runtime_target: arm64-v8a
|
||||
os: ubuntu-16.04
|
||||
os: ubuntu-18.04
|
||||
- target: cross-x86
|
||||
llvm: llvm64
|
||||
runtime_target: x86
|
||||
os: ubuntu-16.04
|
||||
os: ubuntu-18.04
|
||||
- target: cross-x86_64
|
||||
llvm: llvm64
|
||||
runtime_target: x86_64
|
||||
os: ubuntu-16.04
|
||||
os: ubuntu-18.04
|
||||
- target: cross-arm-win
|
||||
llvm: llvmwin64
|
||||
runtime_target: armeabi-v7a
|
||||
@@ -564,13 +563,13 @@ jobs:
|
||||
echo "ANDROID_NDK_ROOT=$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION" >> $GITHUB_ENV
|
||||
- name: Cache Mono Sources
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -579,15 +578,15 @@ jobs:
|
||||
- name: Clean Mono
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Download LLVM artifact
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: llvm-${{ matrix.llvm }}-${{ matrix.os }}
|
||||
# Tilde ~/ not supported when downloading yet: https://github.com/actions/download-artifact/issues/37
|
||||
@@ -616,7 +615,7 @@ jobs:
|
||||
mkdir -p $HOME/mono-installs-artifacts
|
||||
(cd $HOME/mono-installs && zip -ry $HOME/mono-installs-artifacts/android-${{ matrix.target }}.zip android-${{ matrix.target }}-release)
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: android-${{ matrix.target }}
|
||||
path: ~/mono-installs-artifacts/android-${{ matrix.target }}.zip
|
||||
@@ -624,13 +623,13 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload Runtime config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: android-${{ matrix.target }}-runtime-config.log
|
||||
path: ~/mono-configs/android-${{ matrix.runtime_target }}-release/config.log
|
||||
- name: Upload Cross config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: android-${{ matrix.target }}-config.log
|
||||
path: ~/mono-configs/android-${{ matrix.target }}-release/config.log
|
||||
@@ -651,13 +650,13 @@ jobs:
|
||||
sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl
|
||||
- name: Cache Mono Sources
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -666,15 +665,15 @@ jobs:
|
||||
- name: Clean Mono
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Setup Emscripten SDK
|
||||
uses: mymindstorm/setup-emsdk@v10
|
||||
uses: mymindstorm/setup-emsdk@v11
|
||||
with:
|
||||
version: ${{ env.EMSDK_VERSION }}
|
||||
- name: Patch Mono
|
||||
@@ -691,7 +690,7 @@ jobs:
|
||||
mkdir -p $HOME/mono-installs-artifacts
|
||||
(cd $HOME/mono-installs && zip -ry $HOME/mono-installs-artifacts/wasm-${{ matrix.target }}.zip wasm-${{ matrix.target }}-release)
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: wasm-${{ matrix.target }}
|
||||
path: ~/mono-installs-artifacts/wasm-${{ matrix.target }}.zip
|
||||
@@ -699,7 +698,7 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: wasm-${{ matrix.target }}-config.log
|
||||
path: ~/mono-configs/wasm-${{ matrix.target }}-release/config.log
|
||||
@@ -709,11 +708,11 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-16.04, ubuntu-latest, macos-latest]
|
||||
os: [ubuntu-18.04, ubuntu-latest, macos-latest]
|
||||
target: [llvm64, llvmwin64]
|
||||
exclude:
|
||||
# Ubuntu 16.04 is only needed for the Linux build
|
||||
- os: ubuntu-16.04
|
||||
# Ubuntu 18.04 is only needed for the Linux build
|
||||
- os: ubuntu-18.04
|
||||
target: llvmwin64
|
||||
# Ubuntu latest is only needed for the Windows build
|
||||
- os: ubuntu-latest
|
||||
@@ -724,7 +723,7 @@ jobs:
|
||||
steps:
|
||||
- name: Cache LLVM
|
||||
id: cache_llvm
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/mono-installs/llvm-${{ matrix.target }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-llvm-${{ matrix.target }}
|
||||
@@ -747,13 +746,13 @@ jobs:
|
||||
- name: Cache Mono Sources
|
||||
if: steps.cache_llvm.outputs.cache-hit != 'true'
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true' && steps.cache_llvm.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -764,12 +763,12 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
if: steps.cache_llvm.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
if: steps.cache_llvm.outputs.cache-hit != 'true'
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Patch Mono
|
||||
@@ -781,7 +780,7 @@ jobs:
|
||||
run:
|
||||
python3 godot-mono-builds/llvm.py make --target=${{ matrix.target }} -j 2
|
||||
- name: Upload LLVM Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: llvm-${{ matrix.target }}-${{ matrix.os }}
|
||||
path: ~/mono-installs/llvm-${{ matrix.target }}
|
||||
@@ -790,14 +789,14 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: llvm-${{ matrix.target }}-${{ matrix.os }}-config.log
|
||||
path: ~/mono-configs/llvm-${{ matrix.target }}/config.log
|
||||
|
||||
bcl:
|
||||
name: BCL
|
||||
runs-on: ubuntu-16.04
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
matrix:
|
||||
product: [desktop, desktop-win32, android, ios, wasm]
|
||||
@@ -811,13 +810,13 @@ jobs:
|
||||
sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl
|
||||
- name: Cache Mono Sources
|
||||
id: cache_mono_sources
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.MONO_SOURCE_ROOT }}
|
||||
key: ${{ runner.os }}-${{ env.MONO_TAG }}-mono-sources
|
||||
- name: Checkout Mono Sources
|
||||
if: steps.cache_mono_sources.outputs.cache-hit != 'true'
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: mono/mono
|
||||
ref: ${{ env.MONO_TAG }}
|
||||
@@ -826,11 +825,11 @@ jobs:
|
||||
- name: Clean Mono
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: godot-mono-builds
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2.2.2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Patch Mono
|
||||
@@ -848,7 +847,7 @@ jobs:
|
||||
mkdir -p $HOME/mono-installs-artifacts
|
||||
(cd $HOME/mono-installs && zip -ry $HOME/mono-installs-artifacts/bcl-${{ matrix.product }}.zip ${{ matrix.product }}-bcl)
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: bcl-${{ matrix.product }}
|
||||
path: ~/mono-installs-artifacts/bcl-${{ matrix.product }}.zip
|
||||
@@ -856,7 +855,7 @@ jobs:
|
||||
run: pushd ${{ env.MONO_SOURCE_ROOT }} && git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive && popd
|
||||
- name: Upload config.log After Error
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: bcl-${{ matrix.product }}-config.log
|
||||
path: ~/mono-configs/bcl/config.log
|
||||
@@ -865,7 +864,7 @@ jobs:
|
||||
if: success() && github.event_name == 'create' && startsWith(github.ref, 'refs/heads/release/')
|
||||
needs: [linux, windows, osx, ios, ios-cross, android, android-cross, wasm, bcl]
|
||||
name: Create Release
|
||||
runs-on: ubuntu-16.04
|
||||
runs-on: ubuntu-18.04
|
||||
outputs:
|
||||
release_upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
steps:
|
||||
@@ -894,7 +893,7 @@ jobs:
|
||||
if: success() && github.event_name == 'create' && startsWith(github.ref, 'refs/heads/release/')
|
||||
needs: create-release
|
||||
name: Upload Release Artifacts
|
||||
runs-on: ubuntu-16.04
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
matrix:
|
||||
artifact_name: [linux-x86, linux-x86_64, windows-x86, windows-x86_64, osx-x86_64,
|
||||
@@ -906,7 +905,7 @@ jobs:
|
||||
bcl-desktop, bcl-desktop-win32, bcl-android, bcl-ios, bcl-wasm]
|
||||
steps:
|
||||
- name: Download Artifact
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.artifact_name }}
|
||||
path: ./
|
||||
|
||||
@@ -9,9 +9,9 @@ This repository contains scripts for building the Mono runtime to use with Godot
|
||||
The scripts are tested against specific versions of the toolchains used by Godot.
|
||||
While they may work with other versions, you might have issues applying patches or compiling, so we recommend using the versions below.
|
||||
|
||||
- Mono: 6.12.0.147.
|
||||
- Mono: 6.12.0.179.
|
||||
- Emscripten: 1.39.9.
|
||||
- Android: API level 29.
|
||||
- Android: API level 30.
|
||||
|
||||
## Command-line options
|
||||
|
||||
@@ -36,7 +36,7 @@ export MONO_SOURCE_ROOT=$HOME/git/mono
|
||||
|
||||
### Notes
|
||||
- Python 3.7 or higher is required.
|
||||
- OSXCROSS is supported expect for building the Mono cross-compilers.
|
||||
- OSXCROSS is supported except for building the Mono cross-compilers.
|
||||
- Building on Windows is not supported. It's possible to use Cygwin or WSL (Windows Subsystem for Linux) but this hasn't been tested.
|
||||
|
||||
## Compiling Godot for Desktop with this Runtime
|
||||
|
||||
19
android.py
19
android.py
@@ -104,17 +104,6 @@ def setup_android_target_template(env: dict, opts: AndroidOpts, target: str):
|
||||
if target in extra_target_envs:
|
||||
env.update(extra_target_envs[target])
|
||||
|
||||
android_new_ndk = True
|
||||
|
||||
with open(path_join(opts.android_ndk_root, 'source.properties')) as file:
|
||||
for line in file:
|
||||
line = line.strip()
|
||||
if line.startswith('Pkg.Revision ') or line.startswith('Pkg.Revision='):
|
||||
pkg_revision = line.split('=')[1].strip()
|
||||
mayor = int(pkg_revision.split('.')[0])
|
||||
android_new_ndk = mayor >= 18
|
||||
break
|
||||
|
||||
arch = AndroidTargetTable.archs[target]
|
||||
abi_name = AndroidTargetTable.abi_names[target]
|
||||
host_triple = AndroidTargetTable.host_triples[target]
|
||||
@@ -176,14 +165,14 @@ def setup_android_target_template(env: dict, opts: AndroidOpts, target: str):
|
||||
CFLAGS += [
|
||||
'-fstack-protector',
|
||||
'-DMONODROID=1'
|
||||
'-D__ANDROID_API__=' + api,
|
||||
]
|
||||
CFLAGS += ['-D__ANDROID_API__=' + api] if android_new_ndk else []
|
||||
|
||||
CXXFLAGS += [
|
||||
'-fstack-protector',
|
||||
'-DMONODROID=1'
|
||||
'-D__ANDROID_API__=' + api,
|
||||
]
|
||||
CXXFLAGS += ['-D__ANDROID_API__=' + api] if android_new_ndk else []
|
||||
|
||||
CPPFLAGS += ['-I%s/sysroot/usr/include' % toolchain_path]
|
||||
CXXCPPFLAGS += ['-I%s/sysroot/usr/include' % toolchain_path]
|
||||
@@ -216,7 +205,7 @@ def setup_android_target_template(env: dict, opts: AndroidOpts, target: str):
|
||||
]
|
||||
|
||||
CONFIGURE_FLAGS += ['--enable-monodroid']
|
||||
CONFIGURE_FLAGS += ['--with-btls-android-ndk-asm-workaround'] if android_new_ndk else []
|
||||
CONFIGURE_FLAGS += ['--with-btls-android-ndk-asm-workaround']
|
||||
|
||||
CONFIGURE_FLAGS += [
|
||||
'--with-btls-android-cmake-toolchain=%s/build/cmake/android.toolchain.cmake' % opts.android_ndk_root,
|
||||
@@ -524,7 +513,7 @@ def main(raw_args):
|
||||
parser.add_argument('--android-ndk', default=android_ndk_default, help=default_help)
|
||||
# Default API version should be in sync with Godot's platform/android/detect.py.
|
||||
# Note that `get_api_version_or_min` will upgrade it to 21 for arm64v8 and x86_64.
|
||||
parser.add_argument('--android-api-version', default='18', help=default_help)
|
||||
parser.add_argument('--android-api-version', default='19', help=default_help)
|
||||
parser.add_argument('--android-cmake-version', default='autodetect', help=default_help)
|
||||
|
||||
cmd_utils.add_runtime_arguments(parser, default_help)
|
||||
|
||||
19
bcl.py
19
bcl.py
@@ -40,7 +40,7 @@ def get_profile_install_dirs(opts: BaseOpts, product: str):
|
||||
profiles = profiles_table[product]
|
||||
return [path_join(install_dir, get_profile_dir(profile, product)) for profile in profiles]
|
||||
|
||||
def configure_bcl(opts: BclOpts):
|
||||
def configure_bcl(opts: BclOpts, product: str):
|
||||
stamp_file = path_join(opts.configure_dir, '.stamp-bcl-configure')
|
||||
|
||||
if os.path.isfile(stamp_file):
|
||||
@@ -54,12 +54,21 @@ def configure_bcl(opts: BclOpts):
|
||||
|
||||
CONFIGURE_FLAGS = [
|
||||
'--disable-boehm',
|
||||
'--disable-btls-lib',
|
||||
'--disable-nls',
|
||||
'--disable-support-build',
|
||||
'--with-mcs-docs=no'
|
||||
]
|
||||
|
||||
if product == 'desktop-win32':
|
||||
CONFIGURE_FLAGS += [
|
||||
'--enable-btls',
|
||||
'--enable-btls-lib'
|
||||
]
|
||||
else:
|
||||
CONFIGURE_FLAGS += [
|
||||
'--disable-btls-lib'
|
||||
]
|
||||
|
||||
configure = path_join(opts.mono_source_root, 'configure')
|
||||
configure_args = CONFIGURE_FLAGS
|
||||
|
||||
@@ -84,8 +93,8 @@ def make_bcl(opts: BclOpts):
|
||||
touch(stamp_file)
|
||||
|
||||
|
||||
def build_bcl(opts: BclOpts):
|
||||
configure_bcl(opts)
|
||||
def build_bcl(opts: BclOpts, product: str):
|
||||
configure_bcl(opts, product)
|
||||
make_bcl(opts)
|
||||
|
||||
|
||||
@@ -97,7 +106,7 @@ def clean_bcl(opts: BclOpts):
|
||||
|
||||
|
||||
def make_product(opts: BclOpts, product: str):
|
||||
build_bcl(opts)
|
||||
build_bcl(opts, product)
|
||||
|
||||
build_dir = path_join(opts.configure_dir, 'bcl')
|
||||
|
||||
|
||||
31
desktop.py
31
desktop.py
@@ -87,7 +87,8 @@ def setup_desktop_template(env: dict, opts: DesktopOpts, product: str, target_pl
|
||||
'--disable-mcs-build',
|
||||
'--enable-maintainer-mode',
|
||||
'--with-tls=pthread',
|
||||
'--without-ikvm-native'
|
||||
'--without-ikvm-native',
|
||||
'--enable-btls'
|
||||
]
|
||||
|
||||
if target_platform == 'windows':
|
||||
@@ -98,7 +99,6 @@ def setup_desktop_template(env: dict, opts: DesktopOpts, product: str, target_pl
|
||||
CONFIGURE_FLAGS += [
|
||||
'--disable-iconv',
|
||||
'--disable-nls',
|
||||
'--enable-dynamic-btls',
|
||||
'--with-sigaltstack=yes',
|
||||
]
|
||||
|
||||
@@ -123,16 +123,6 @@ def setup_desktop_template(env: dict, opts: DesktopOpts, product: str, target_pl
|
||||
#'--enable-static-gcc-libs'
|
||||
]
|
||||
elif target_platform == 'osx':
|
||||
osx_sysroot_path = opts.osx_sdk_path
|
||||
|
||||
if not osx_sysroot_path and sys.platform == 'darwin':
|
||||
# Auto-detect on macOS
|
||||
osx_sysroot_path = xcrun_find_sdk('macosx')
|
||||
|
||||
osx_sysroot_flags = ['-isysroot', osx_sysroot_path, '-mmacosx-version-min=%s' % opts.osx_version_min]
|
||||
|
||||
CFLAGS = osx_sysroot_flags
|
||||
|
||||
if is_cross_compiling(target_platform):
|
||||
osxcross_root = os.environ['OSXCROSS_ROOT']
|
||||
osx_toolchain_path = path_join(osxcross_root, 'target')
|
||||
@@ -162,10 +152,15 @@ def setup_desktop_template(env: dict, opts: DesktopOpts, product: str, target_pl
|
||||
env['_%s-%s_CC' % (product, target)] = '%s/usr/bin/clang' % osx_toolchain
|
||||
env['_%s-%s_CXX' % (product, target)] = '%s/usr/bin/clang++' % osx_toolchain
|
||||
|
||||
CFLAGS += ['-arch', target_arch[target_platform][target]]
|
||||
osx_sysroot = '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk'
|
||||
|
||||
env['_%s-%s_CFLAGS' % (product, target)] = CFLAGS
|
||||
env['_%s-%s_CXXFLAGS' % (product, target)] = CFLAGS
|
||||
CFLAGS = [
|
||||
'-isysroot', osx_sysroot,
|
||||
'-arch', target_arch[target_platform][target]
|
||||
]
|
||||
|
||||
env['_%s-%s_CFLAGS' % (product, target)] = CFLAGS
|
||||
env['_%s-%s_CXXFLAGS' % (product, target)] = CFLAGS
|
||||
|
||||
env['_%s-%s_CONFIGURE_FLAGS' % (product, target)] = CONFIGURE_FLAGS
|
||||
|
||||
@@ -230,7 +225,7 @@ def copy_bcl(opts: DesktopOpts, product: str, target_platform: str, target: str)
|
||||
from distutils.dir_util import copy_tree
|
||||
from bcl import get_profile_install_dirs
|
||||
dest_dir = path_join(opts.install_dir, '%s-%s-%s' % (product, target, opts.configuration), 'lib/mono/4.5')
|
||||
for src_dir in get_profile_install_dirs(opts, 'desktop'):
|
||||
for src_dir in get_profile_install_dirs(opts, 'desktop-win32' if target_platform == 'windows' else 'desktop'):
|
||||
if not os.path.isdir(src_dir):
|
||||
raise BuildError('BCL source directory does not exist: %s. The BCL must be built prior to this.' % src_dir)
|
||||
copy_tree(src_dir, dest_dir)
|
||||
@@ -258,13 +253,9 @@ def run_main(raw_args, target_platform):
|
||||
|
||||
default_help = 'default: %(default)s'
|
||||
|
||||
default_osx_version_min = '10.9'
|
||||
|
||||
parser.add_argument('action', choices=['configure', 'make', 'copy-bcl', 'clean'])
|
||||
parser.add_argument('--target', choices=targets[target_platform], action='append', required=True)
|
||||
parser.add_argument('--with-llvm', action='store_true', default=False, help=default_help)
|
||||
parser.add_argument('--osx-sdk', default='', help=default_help)
|
||||
parser.add_argument('--osx-version-min', default=default_osx_version_min, help=default_help)
|
||||
|
||||
cmd_utils.add_runtime_arguments(parser, default_help)
|
||||
|
||||
|
||||
48
files/patches/fix-mono-log-spam.diff
Normal file
48
files/patches/fix-mono-log-spam.diff
Normal file
@@ -0,0 +1,48 @@
|
||||
diff --git a/mono/metadata/threadpool-io.c b/mono/metadata/threadpool-io.c
|
||||
index fdfef2de91e28..45ac0d84b2429 100644
|
||||
--- a/mono/metadata/threadpool-io.c
|
||||
+++ b/mono/metadata/threadpool-io.c
|
||||
@@ -180,6 +180,7 @@ selector_thread_wakeup_drain_pipes (void)
|
||||
{
|
||||
gchar buffer [128];
|
||||
gint received;
|
||||
+ static gint warnings_issued = 0;
|
||||
|
||||
for (;;) {
|
||||
#if !defined(HOST_WIN32)
|
||||
@@ -192,11 +193,16 @@ selector_thread_wakeup_drain_pipes (void)
|
||||
* some unices (like AIX) send ERESTART, which doesn't
|
||||
* exist on some other OSes errno
|
||||
*/
|
||||
- if (errno != EINTR && errno != EAGAIN && errno != ERESTART)
|
||||
+ if (errno != EINTR && errno != EAGAIN && errno != ERESTART) {
|
||||
#else
|
||||
- if (errno != EINTR && errno != EAGAIN)
|
||||
+ if (errno != EINTR && errno != EAGAIN) {
|
||||
#endif
|
||||
- g_warning ("selector_thread_wakeup_drain_pipes: read () failed, error (%d) %s\n", errno, g_strerror (errno));
|
||||
+ // limit amount of spam we write
|
||||
+ if (warnings_issued < 100) {
|
||||
+ g_warning ("selector_thread_wakeup_drain_pipes: read () failed, error (%d) %s\n", errno, g_strerror (errno));
|
||||
+ warnings_issued++;
|
||||
+ }
|
||||
+ }
|
||||
break;
|
||||
}
|
||||
#else
|
||||
@@ -204,8 +210,13 @@ selector_thread_wakeup_drain_pipes (void)
|
||||
if (received == 0)
|
||||
break;
|
||||
if (received == SOCKET_ERROR) {
|
||||
- if (WSAGetLastError () != WSAEINTR && WSAGetLastError () != WSAEWOULDBLOCK)
|
||||
- g_warning ("selector_thread_wakeup_drain_pipes: recv () failed, error (%d)\n", WSAGetLastError ());
|
||||
+ if (WSAGetLastError () != WSAEINTR && WSAGetLastError () != WSAEWOULDBLOCK) {
|
||||
+ // limit amount of spam we write
|
||||
+ if (warnings_issued < 100) {
|
||||
+ g_warning ("selector_thread_wakeup_drain_pipes: recv () failed, error (%d)\n", WSAGetLastError ());
|
||||
+ warnings_issued++;
|
||||
+ }
|
||||
+ }
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
10
ios.py
10
ios.py
@@ -390,10 +390,8 @@ def setup_ios_cross_template(env: dict, opts: iOSOpts, target: str, host_arch: s
|
||||
|
||||
AC_VARS = ['ac_cv_func_shm_open_working_with_mmap=no']
|
||||
|
||||
osx_sysroot_flags = ['-isysroot', osx_sysroot_path, '-mmacosx-version-min=%s' % opts.osx_version_min]
|
||||
|
||||
CFLAGS = osx_sysroot_flags + ['-Qunused-arguments']
|
||||
CXXFLAGS = osx_sysroot_flags + ['-Qunused-arguments', '-stdlib=libc++']
|
||||
CFLAGS = ['-isysroot', osx_sysroot_path, '-mmacosx-version-min=10.9', '-Qunused-arguments']
|
||||
CXXFLAGS = ['-isysroot', osx_sysroot_path, '-mmacosx-version-min=10.9', '-Qunused-arguments', '-stdlib=libc++']
|
||||
CPPFLAGS = ['-DMONOTOUCH=1']
|
||||
LDFLAGS = ['-stdlib=libc++']
|
||||
|
||||
@@ -502,8 +500,7 @@ def main(raw_args):
|
||||
|
||||
default_ios_toolchain = '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain'
|
||||
default_osx_toolchain = '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain'
|
||||
default_ios_version_min = '10.0'
|
||||
default_osx_version_min = '10.9'
|
||||
default_ios_version_min = '10.0' # Same as Godot
|
||||
|
||||
parser.add_argument('action', choices=['configure', 'make', 'clean'])
|
||||
parser.add_argument('--target', choices=target_values, action='append', required=True)
|
||||
@@ -512,7 +509,6 @@ def main(raw_args):
|
||||
parser.add_argument('--ios-version-min', default=default_ios_version_min, help=default_help)
|
||||
parser.add_argument('--osx-toolchain', default=default_osx_toolchain, help=default_help)
|
||||
parser.add_argument('--osx-sdk', default='', help=default_help)
|
||||
parser.add_argument('--osx-version-min', default=default_osx_version_min, help=default_help)
|
||||
parser.add_argument('--osx-triple-abi', default='darwin18', help=default_help)
|
||||
|
||||
cmd_utils.add_runtime_arguments(parser, default_help)
|
||||
|
||||
10
options.py
10
options.py
@@ -38,15 +38,12 @@ class iOSOpts(RuntimeOpts):
|
||||
ios_version_min: str
|
||||
osx_toolchain_path: str
|
||||
osx_sdk_path: str
|
||||
osx_version_min: str
|
||||
osx_triple_abi: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class DesktopOpts(RuntimeOpts):
|
||||
with_llvm: bool
|
||||
osx_sdk_path: str
|
||||
osx_version_min: str
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -98,8 +95,7 @@ def ios_opts_from_args(args):
|
||||
ios_sdk_path = abspath(args.ios_sdk) if args.ios_sdk else '',
|
||||
ios_version_min = args.ios_version_min,
|
||||
osx_toolchain_path = abspath(args.osx_toolchain),
|
||||
osx_sdk_path = abspath(args.osx_sdk) if args.osx_sdk else '',
|
||||
osx_version_min = args.osx_version_min,
|
||||
osx_sdk_path = abspath(args.osx_sdk) if args.ios_sdk else '',
|
||||
osx_triple_abi = args.osx_triple_abi
|
||||
)
|
||||
|
||||
@@ -115,9 +111,7 @@ def bcl_opts_from_args(args):
|
||||
def desktop_opts_from_args(args):
|
||||
return DesktopOpts(
|
||||
**vars(runtime_opts_from_args(args)),
|
||||
with_llvm = args.with_llvm,
|
||||
osx_sdk_path = abspath(args.osx_sdk) if args.osx_sdk else '',
|
||||
osx_version_min = args.osx_version_min
|
||||
with_llvm = args.with_llvm
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ def main(raw_args):
|
||||
|
||||
patches = [
|
||||
'fix-mono-android-tkill.diff',
|
||||
'fix-mono-log-spam.diff',
|
||||
'mono-dbg-agent-clear-tls-instead-of-abort.diff',
|
||||
'bcl-profile-platform-override.diff',
|
||||
'mono_ios_asl_log_deprecated.diff',
|
||||
|
||||
Reference in New Issue
Block a user