diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 459e10a..38784ae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,9 +27,9 @@ on: env: # Use SHA instead of the branch for caching purposes - MONO_TAG: mono-6.8.0.123 + MONO_TAG: mono-6.12.0.111 PYTHON_VERSION: 3.8 - EMSDK_VERSION: 1.38.47-upstream + EMSDK_VERSION: 1.39.9 ANDROID_PLATFORM: android-29 ANDROID_CMAKE_VERSION: 3.6.4111459 ANDROID_API: 21 diff --git a/files/patches/mono_ios_asl_log_deprecated.diff b/files/patches/mono_ios_asl_log_deprecated.diff index 7da99bc..11ada2d 100644 --- a/files/patches/mono_ios_asl_log_deprecated.diff +++ b/files/patches/mono_ios_asl_log_deprecated.diff @@ -6,8 +6,8 @@ index 3cb127bad59..30ff5edc307 100644 */ #include --#if defined(HOST_WATCHOS) && (__WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_3_0) -+#if (defined(HOST_WATCHOS) && (__WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_3_0)) \ +-#if (defined(HOST_WATCHOS) && (__WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_3_0)) || defined(HOST_MACCAT) ++#if (defined(HOST_WATCHOS) && (__WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_3_0)) || defined(HOST_MACCAT) \ + || (defined(HOST_IOS) && (__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 100000)) /* emitted by clang: * > /Users/lewurm/work/mono-watch4/mono/utils/mono-log-darwin.c:35:2: error: 'asl_log' is \ diff --git a/format.sh b/format.sh index 8333cf8..387ddb9 100755 --- a/format.sh +++ b/format.sh @@ -6,13 +6,15 @@ IFS=$'\n\t' # Loops through all text files tracked by Git. git grep -zIl '' | while IFS= read -rd '' f; do - # Exclude csproj and hdr files. + # Exclude csproj and hdr files, and patches. if [[ "$f" == *"csproj" ]]; then continue elif [[ "$f" == *"hdr" ]]; then continue elif [[ "$f" == *"diff" ]]; then continue + elif [[ "$f" == *"patch" ]]; then + continue fi # Ensures that files are UTF-8 formatted. recode UTF-8 "$f" 2> /dev/null diff --git a/ios.py b/ios.py index eb4231a..e1d53de 100755 --- a/ios.py +++ b/ios.py @@ -96,6 +96,9 @@ def setup_ios_device_template(env: dict, opts: iOSOpts, target: str): 'ac_cv_func_futimens=no', 'ac_cv_func_utimensat=no', 'ac_cv_func_shm_open_working_with_mmap=no', + 'ac_cv_func_pthread_jit_write_protect_np=no', + 'ac_cv_func_preadv=no', + 'ac_cv_func_pwritev=no', 'mono_cv_sizeof_sunpath=104', 'mono_cv_uscore=yes' ] @@ -121,13 +124,7 @@ def setup_ios_device_template(env: dict, opts: iOSOpts, target: str): '-DSMALL_CONFIG', '-D_XOPEN_SOURCE', '-DHOST_IOS', '-DHAVE_LARGE_FILE_SUPPORT=1' ] - LDFLAGS = [] - - # https://github.com/mono/mono/issues/19393 - if os.environ.get('DISABLE_NO_WEAK_IMPORTS', '0') != '1': - LDFLAGS += ['-Wl,-no_weak_imports'] - - LDFLAGS += [ + LDFLAGS = [ '-arch %s' % arch, '-framework', 'CoreFoundation', '-lobjc', '-lc++' @@ -225,6 +222,9 @@ def setup_ios_simulator_template(env: dict, opts: iOSOpts, target: str): 'ac_cv_func_futimens=no', 'ac_cv_func_utimensat=no', 'ac_cv_func_shm_open_working_with_mmap=no', + 'ac_cv_func_pthread_jit_write_protect_np=no', + 'ac_cv_func_preadv=no', + 'ac_cv_func_pwritev=no', 'mono_cv_uscore=yes' ] diff --git a/llvm.py b/llvm.py index a79c759..f7b1cf2 100755 --- a/llvm.py +++ b/llvm.py @@ -38,8 +38,8 @@ def make(opts: BaseOpts, target: str): CMAKE_ARGS += [ '-DCMAKE_EXE_LINKER_FLAGS="-static"', - '-DCROSS_TOOLCHAIN_FLAGS_NATIVE=-DCMAKE_TOOLCHAIN_FILE=%s/external/llvm/cmake/modules/NATIVE.cmake' % opts.mono_source_root, - '-DCMAKE_TOOLCHAIN_FILE=%s/external/llvm/cmake/modules/%s.cmake' % (opts.mono_source_root, mxe), + '-DCROSS_TOOLCHAIN_FLAGS_NATIVE=-DCMAKE_TOOLCHAIN_FILE=%s/external/llvm-project/llvm/cmake/modules/NATIVE.cmake' % opts.mono_source_root, + '-DCMAKE_TOOLCHAIN_FILE=%s/external/llvm-project/llvm/cmake/modules/%s.cmake' % (opts.mono_source_root, mxe), '-DLLVM_ENABLE_THREADS=Off', '-DLLVM_BUILD_EXECUTION_ENGINE=Off' ] @@ -58,7 +58,7 @@ def make(opts: BaseOpts, target: str): 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/external/llvm/cmake/modules/%s.cmake' % (opts.mono_source_root, mxe) + dst_file='%s/external/llvm-project/llvm/cmake/modules/%s.cmake' % (opts.mono_source_root, mxe) ) if target in ['llvm32', 'llvmwin32']: diff --git a/patch_emscripten.py b/patch_emscripten.py index 4bccfa5..c3e8947 100755 --- a/patch_emscripten.py +++ b/patch_emscripten.py @@ -23,7 +23,6 @@ def main(raw_args): patches = [ '%s/sdks/builds/fix-emscripten-8511.diff' % mono_source_root, - '%s/sdks/builds/emscripten-pr-8457.diff' % mono_source_root ] from subprocess import Popen