From 0dfb9e625df69e2e17378a6ca9384db379d571d1 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Sat, 27 Jun 2026 04:42:36 +0200 Subject: [PATCH 1/3] external_deps: rework the cmake toolchain configuration --- external_deps/build.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/external_deps/build.sh b/external_deps/build.sh index f3ae7b1f98..25951c9744 100755 --- a/external_deps/build.sh +++ b/external_deps/build.sh @@ -237,6 +237,11 @@ cmake_build() { cmake_args+=(-DCMAKE_CXX_FLAGS="${CXXFLAGS}") cmake_args+=(-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}") + if [ -n "${CMAKE_TOOLCHAIN:-}" ] + then + cmake_args+=(-DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN}") + fi + # Check for ${@} not being empty to workaround a macOS bash limitation. if [ -n "${1:-}" ] then @@ -246,7 +251,6 @@ cmake_build() { rm -rf build cmake -S . -B build \ - -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN}" \ -DCMAKE_BUILD_TYPE='Release' \ -DBUILD_SHARED_LIBS="${LIBS_SHARED}" \ "${cmake_args[@]}" @@ -1453,7 +1457,7 @@ setup_default() { LIBS_SHARED='OFF' LIBS_STATIC='ON' - CMAKE_TOOLCHAIN='' + EXE_EXT='' # Always reset flags, we heavily cross-compile and must not inherit any stray flag @@ -1467,6 +1471,7 @@ setup_default() { unset MACOS_ARCH unset CMAKE_OSX_ARCHITECTURES unset MACOSX_DEPLOYMENT_TARGET + unset CMAKE_TOOLCHAIN } # Set up environment for 32-bit i686 Windows for Visual Studio (compile all as .dll) From 4b6f8aa5c1b299b1487244b95d8b07118833bc0e Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Sat, 27 Jun 2026 04:36:07 +0200 Subject: [PATCH 2/3] external_deps: rework the macos configuration --- external_deps/build.sh | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/external_deps/build.sh b/external_deps/build.sh index 25951c9744..79d15bb503 100755 --- a/external_deps/build.sh +++ b/external_deps/build.sh @@ -229,6 +229,13 @@ cmake_build() { ;; esac + case "${PLATFORM}" in + macos-*) + cmake_args+=(-DCMAKE_OSX_ARCHITECTURES="${MACOS_ARCH}") + cmake_args+=(-DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOS_VERSION}") + ;; + esac + cmake_args+=(-DCMAKE_C_COMPILER="$(get_compiler_name ${CC})") cmake_args+=(-DCMAKE_CXX_COMPILER="$(get_compiler_name ${CXX})") cmake_args+=(-DCMAKE_C_COMPILER_ARG1="$(get_compiler_arg1 ${CC})") @@ -1422,10 +1429,9 @@ common_setup_macos() { CC='clang' CXX='clang++' STRIP='strip' - CFLAGS+=" -arch ${MACOS_ARCH}" - CXXFLAGS+=" -arch ${MACOS_ARCH}" - LDFLAGS+=" -arch ${MACOS_ARCH}" - export CMAKE_OSX_ARCHITECTURES="${MACOS_ARCH}" + CFLAGS+=" -arch ${MACOS_ARCH} -mmacosx-version-min=${MACOS_VERSION}" + CXXFLAGS+=" -arch ${MACOS_ARCH} -mmacosx-version-min=${MACOS_VERSION}" + LDFLAGS+=" -arch ${MACOS_ARCH} -mmacosx-version-min=${MACOS_VERSION}" } common_setup_linux() { @@ -1469,8 +1475,8 @@ setup_default() { unset BITNESS unset MACOS_ARCH - unset CMAKE_OSX_ARCHITECTURES - unset MACOSX_DEPLOYMENT_TARGET + unset MACOS_VERSION + unset MACOS_HOST unset CMAKE_TOOLCHAIN } @@ -1504,13 +1510,18 @@ setup_windows-amd64-mingw() { common_setup mingw x86_64-w64-mingw32 } +setup_macos() { + MACOS_HOST="${MACOS_ARCH}-apple-macos${MACOS_VERSION}" + common_setup macos "${MACOS_HOST}" +} + # Set up environment for 64-bit amd64 macOS setup_macos-amd64-default() { setup_default MACOS_ARCH=x86_64 # OpenAL requires 10.14. - export MACOSX_DEPLOYMENT_TARGET=10.14 # works with CMake - common_setup macos "x86_64-apple-macos${MACOSX_DEPLOYMENT_TARGET}" + MACOS_VERSION='10.14' + setup_macos } # Set up environment for 32-bit i686 Linux From 61bc533a90eea54e0cb7b1bde147c438ae6f1763 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Tue, 7 Jul 2026 09:41:54 +0200 Subject: [PATCH 3/3] external_deps: set MinGW flags as flags --- external_deps/build.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/external_deps/build.sh b/external_deps/build.sh index 79d15bb503..10c596beb4 100755 --- a/external_deps/build.sh +++ b/external_deps/build.sh @@ -236,10 +236,8 @@ cmake_build() { ;; esac - cmake_args+=(-DCMAKE_C_COMPILER="$(get_compiler_name ${CC})") - cmake_args+=(-DCMAKE_CXX_COMPILER="$(get_compiler_name ${CXX})") - cmake_args+=(-DCMAKE_C_COMPILER_ARG1="$(get_compiler_arg1 ${CC})") - cmake_args+=(-DCMAKE_CXX_COMPILER_ARG1="$(get_compiler_arg1 ${CXX})") + cmake_args+=(-DCMAKE_C_COMPILER="${CC}") + cmake_args+=(-DCMAKE_CXX_COMPILER="${CXX}") cmake_args+=(-DCMAKE_C_FLAGS="${CFLAGS}") cmake_args+=(-DCMAKE_CXX_FLAGS="${CXXFLAGS}") cmake_args+=(-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}") @@ -1413,9 +1411,11 @@ common_setup_windows() { common_setup_msvc() { LIBS_SHARED='ON' LIBS_STATIC='OFF' + CC="${HOST}-gcc" + CXX="${HOST}-g++" # Libtool bug prevents -static-libgcc from being set in LDFLAGS - CC="${HOST}-gcc -static-libgcc" - CXX="${HOST}-g++ -static-libgcc" + CFLAGS+=' -static-libgcc' + CXXFLAGS+=' -static-libgcc' common_setup_windows }