diff --git a/scripts/build-dependencies-windows-arm64.bat b/scripts/build-dependencies-windows-arm64.bat index 2306ac254..e71b9699a 100644 --- a/scripts/build-dependencies-windows-arm64.bat +++ b/scripts/build-dependencies-windows-arm64.bat @@ -108,6 +108,7 @@ ninja -C build install || goto error cd .. || goto error echo Building libjpeg... +rmdir /S /Q "jpeg-%LIBJPEG%" %SEVENZIP% x "jpegsr%LIBJPEG%.zip" || goto error cd "jpeg-%LIBJPEG%" || goto error %PATCH% -p1 < "%SCRIPTDIR%\libjpeg-cmake.patch" || goto error @@ -181,6 +182,10 @@ echo Building Qt base... rmdir /S /Q "qtbase-everywhere-src-%QT%" %SEVENZIP% x "qtbase-everywhere-src-%QT%.zip" || goto error cd "qtbase-everywhere-src-%QT%" || goto error + +rem Disable the PCRE2 JIT, it doesn't properly verify AVX2 support. +%PATCH% -p1 < "%SCRIPTDIR%\qtbase-disable-pcre2-jit.patch" || goto error + cmake -B build %ARM64TOOLCHAIN% -DFEATURE_sql=OFF -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DQT_HOST_PATH="%X64INSTALLDIR%" %FORCEPDB% -DINPUT_gui=yes -DINPUT_widgets=yes -DINPUT_ssl=yes -DINPUT_openssl=no -DINPUT_schannel=yes -DFEATURE_system_png=ON -DFEATURE_system_jpeg=ON -DFEATURE_system_zlib=ON -DFEATURE_system_freetype=ON -DFEATURE_system_harfbuzz=ON %QTBUILDSPEC% || goto error cmake --build build --parallel || goto error ninja -C build install || goto error diff --git a/scripts/build-dependencies-windows-x64.bat b/scripts/build-dependencies-windows-x64.bat index e802cc278..392d63a1a 100644 --- a/scripts/build-dependencies-windows-x64.bat +++ b/scripts/build-dependencies-windows-x64.bat @@ -105,6 +105,7 @@ ninja -C build install || goto error cd .. || goto error echo Building libjpeg... +rmdir /S /Q "jpeg-%LIBJPEG%" %SEVENZIP% x "jpegsr%LIBJPEG%.zip" || goto error cd "jpeg-%LIBJPEG%" || goto error %PATCH% -p1 < "%SCRIPTDIR%\libjpeg-cmake.patch" || goto error @@ -178,6 +179,10 @@ echo Building Qt base... rmdir /S /Q "qtbase-everywhere-src-%QT%" %SEVENZIP% x "qtbase-everywhere-src-%QT%.zip" || goto error cd "qtbase-everywhere-src-%QT%" || goto error + +rem Disable the PCRE2 JIT, it doesn't properly verify AVX2 support. +%PATCH% -p1 < "%SCRIPTDIR%\qtbase-disable-pcre2-jit.patch" || goto error + cmake -B build -DFEATURE_sql=OFF -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" %FORCEPDB% -DINPUT_gui=yes -DINPUT_widgets=yes -DINPUT_ssl=yes -DINPUT_openssl=no -DINPUT_schannel=yes -DFEATURE_system_png=ON -DFEATURE_system_jpeg=ON -DFEATURE_system_zlib=ON -DFEATURE_system_freetype=ON -DFEATURE_system_harfbuzz=ON %QTBUILDSPEC% || goto error cmake --build build --parallel || goto error ninja -C build install || goto error diff --git a/scripts/qtbase-disable-pcre2-jit.patch b/scripts/qtbase-disable-pcre2-jit.patch new file mode 100644 index 000000000..dee5482c6 --- /dev/null +++ b/scripts/qtbase-disable-pcre2-jit.patch @@ -0,0 +1,35 @@ +--- qtbase/src/3rdparty/pcre2/CMakeLists.txt 2024-03-19 08:46:43.000000000 -0700 ++++ qtbase/src/3rdparty/pcre2/CMakeLists.txt 2024-06-06 21:52:20.539619500 -0700 +@@ -41,6 +41,7 @@ + src/pcre2_xclass.c + DEFINES + HAVE_CONFIG_H ++ PCRE2_DISABLE_JIT + PUBLIC_DEFINES + PCRE2_CODE_UNIT_WIDTH=16 + PUBLIC_INCLUDE_DIRECTORIES +@@ -52,23 +53,8 @@ + ## Scopes: + ##################################################################### + +-qt_internal_extend_target(BundledPcre2 CONDITION QNX OR UIKIT +- DEFINES +- PCRE2_DISABLE_JIT +-) +- +-qt_internal_extend_target(BundledPcre2 CONDITION (TEST_architecture_arch STREQUAL "arm") AND WIN32 +- DEFINES +- PCRE2_DISABLE_JIT +-) +- +-qt_internal_extend_target(BundledPcre2 CONDITION (TEST_architecture_arch STREQUAL "arm64") AND WIN32 +- DEFINES +- PCRE2_DISABLE_JIT +-) +- + if (APPLE) +- target_compile_options(BundledPcre2 PRIVATE "SHELL:-Xarch_arm64 -DPCRE2_DISABLE_JIT") ++ target_compile_options(BundledPcre2 PRIVATE "SHELL:-Xarch_arm64") + endif() + + qt_internal_extend_target(BundledPcre2 CONDITION WIN32