Compare commits

..

2 Commits

Author SHA1 Message Date
Rémi Verschelde
fcf205c105 CI: Mono 6.12.0.182, Android 32 and other updates 2022-06-22 09:07:55 +02:00
Rémi Verschelde
2fa04b9dc7 Windows: Re-add --enable-btls-lib to build BTLS dll
I reverted this by mistake while investigating an unrelated crash.
See #66 for details.

This reverts commits aaee521d08
and 20368d7289.
2022-05-24 15:46:20 +02:00
5 changed files with 61 additions and 18 deletions

View File

@@ -26,14 +26,14 @@ on:
env:
# Use SHA or tag instead of the branch for caching purposes.
MONO_TAG: mono-6.12.0.179
PYTHON_VERSION: 3.9
MONO_TAG: mono-6.12.0.182
PYTHON_VERSION: '3.10'
# Should match the version that Mono supports.
EMSDK_VERSION: 1.39.9
ANDROID_CMAKE_VERSION: 3.10.2.4988404
ANDROID_CMAKE_VERSION: 3.18.1
# These should be synced with the Godot repo.
# platform/android/java/app/config.gradle
ANDROID_PLATFORM: android-30
ANDROID_PLATFORM: android-32
ANDROID_API: 19
ANDROID_NDK_VERSION: 21.4.7075529
# platform/iphone/detect.py
@@ -83,7 +83,7 @@ jobs:
with:
path: godot-mono-builds
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono
@@ -157,7 +157,7 @@ jobs:
with:
path: godot-mono-builds
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono
@@ -221,7 +221,7 @@ jobs:
with:
path: godot-mono-builds
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono
@@ -285,7 +285,7 @@ jobs:
with:
path: godot-mono-builds
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono
@@ -355,7 +355,7 @@ jobs:
with:
path: godot-mono-builds
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono
@@ -453,7 +453,7 @@ jobs:
with:
path: godot-mono-builds
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono
@@ -582,7 +582,7 @@ jobs:
with:
path: godot-mono-builds
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Download LLVM artifact
@@ -669,7 +669,7 @@ jobs:
with:
path: godot-mono-builds
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Setup Emscripten SDK
@@ -768,7 +768,7 @@ jobs:
path: godot-mono-builds
- name: Setup Python
if: steps.cache_llvm.outputs.cache-hit != 'true'
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono
@@ -829,7 +829,7 @@ jobs:
with:
path: godot-mono-builds
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono

View File

@@ -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.179.
- Mono: 6.12.0.182.
- Emscripten: 1.39.9.
- Android: API level 30.
- Android: API level 32.
## Command-line options

View File

@@ -88,12 +88,13 @@ def setup_desktop_template(env: dict, opts: DesktopOpts, product: str, target_pl
'--enable-maintainer-mode',
'--with-tls=pthread',
'--without-ikvm-native',
'--enable-btls'
'--enable-btls',
]
if target_platform == 'windows':
CONFIGURE_FLAGS += [
'--with-libgdiplus=%s' % opts.mxe_prefix
'--with-libgdiplus=%s' % opts.mxe_prefix,
'--enable-btls-lib',
]
else:
CONFIGURE_FLAGS += [
@@ -210,6 +211,14 @@ def configure(opts: DesktopOpts, product: str, target_platform: str, target: str
def make(opts: DesktopOpts, product: str, target_platform: str, target: str):
build_dir = path_join(opts.configure_dir, '%s-%s-%s' % (product, target, opts.configuration))
if target_platform == 'windows':
mxe = 'mxe-Win64' if target == 'x86_64' else 'mxe-Win32'
replace_in_new_file(
src_file='%s/sdks/builds/%s.cmake.in' % (opts.mono_source_root, mxe),
search='@MXE_PATH@', replace=opts.mxe_prefix,
dst_file='%s/mono/btls/%s.cmake' % (opts.mono_source_root, mxe)
)
make_args = make_default_args(opts)
make_args += ['-C', build_dir]

View File

@@ -0,0 +1,33 @@
diff --git a/configure.ac b/configure.ac
index 088128e5e74..54693aace64 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5918,6 +5918,8 @@ if test "x$enable_btls" = "xyes"; then
if test "x$HAVE_YASM" != "xyes"; then
BTLS_CMAKE_ARGS="-DOPENSSL_NO_ASM=1"
fi
+ mono_btls_dir_abs=`cd $srcdir && pwd`/mono/btls
+ BTLS_CMAKE_ARGS="$BTLS_CMAKE_ARGS -DCYGWIN=TRUE -DCMAKE_TOOLCHAIN_FILE=\"$mono_btls_dir_abs/mxe-Win32.cmake\""
;;
esac
;;
@@ -5929,6 +5931,8 @@ if test "x$enable_btls" = "xyes"; then
if test "x$HAVE_YASM" != "xyes"; then
BTLS_CMAKE_ARGS="-DOPENSSL_NO_ASM=1"
fi
+ mono_btls_dir_abs=`cd $srcdir && pwd`/mono/btls
+ BTLS_CMAKE_ARGS="$BTLS_CMAKE_ARGS -DCYGWIN=TRUE -DCMAKE_TOOLCHAIN_FILE=\"$mono_btls_dir_abs/mxe-Win64.cmake\""
;;
esac
;;
diff --git a/mono/btls/CMakeLists.txt b/mono/btls/CMakeLists.txt
index 992f41e4c7f..9946f5d21a4 100644
--- a/mono/btls/CMakeLists.txt
+++ b/mono/btls/CMakeLists.txt
@@ -129,4 +129,5 @@ endif ()
if (CYGWIN)
target_link_libraries (mono-btls-shared wsock32 ws2_32)
+ target_link_options (mono-btls-shared PRIVATE -static-libgcc)
endif ()
\ No newline at end of file

View File

@@ -32,6 +32,7 @@ def main(raw_args):
'bcl-profile-platform-override.diff',
'mono_ios_asl_log_deprecated.diff',
'wasm_m2n_trampolines_hook.diff',
'btls-cmake-args-linux-mingw.diff'
]
if os.path.isfile(os.path.join(mono_source_root, 'mono/tools/offsets-tool/offsets-tool.py')):