depends: Bump qt package up to 6.7.3

This commit is contained in:
Hennadii Stepanov committed 2025-04-02 09:12:27 +01:00
1 parent 6d4214925f
commit 5e794e6202
26 files changed
+406 -562

No files matched your search

-40
View File
@@ -1,40 +0,0 @@
fix Qt macOS build with Clang 18
See:
https://github.com/pnggroup/libpng/commit/893b8113f04d408cc6177c6de19c9889a48faa24.
In a similar manner as zlib (madler/zlib#895),
libpng contains a header configuration that's no longer valid and
hasn't been exercised for the macOS target.
- The target OS conditional macros are misused. Specifically
`TARGET_OS_MAC` covers all Apple targets, including iOS, and it
should not be checked with `#if defined` as they would always be
defined (to either 1 or 0) on Apple platforms.
- `#include <fp.h>` no longer works for the macOS target and results
in a compilation failure. macOS ships all required functions in
`math.h`, and clients should use `math.h` instead.
--- a/qtbase/src/3rdparty/libpng/pngpriv.h
+++ b/qtbase/src/3rdparty/libpng/pngpriv.h
@@ -514,18 +514,8 @@
*/
# include <float.h>
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
- /* We need to check that <math.h> hasn't already been included earlier
- * as it seems it doesn't agree with <fp.h>, yet we should really use
- * <fp.h> if possible.
- */
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
-# include <fp.h>
-# endif
-# else
-# include <math.h>
-# endif
+# include <math.h>
+
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
* MATH=68881
-17
View File
@@ -1,17 +0,0 @@
build: remove explicit -lm link from qttools
This causes issues with at least the macOS cross build, and shouldn't
actually be required anywhere else. GCC with libstdc++ will already get libm.
--- a/qtbase/src/corelib/tools/tools.pri
+++ b/qtbase/src/corelib/tools/tools.pri
@@ -111,9 +111,6 @@ qtConfig(easingcurve) {
tools/qtimeline.cpp
}
-# Note: libm should be present by default becaue this is C++
-unix:!macx-icc:!vxworks:!haiku:!integrity:!wasm: LIBS_PRIVATE += -lm
-
TR_EXCLUDE += ../3rdparty/*
# MIPS DSP
+28 -4
View File
@@ -13,15 +13,39 @@ diff --git a/qtbase/configure b/qtbase/configure
index 08b49a8d..faea5b55 100755
--- a/qtbase/configure
+++ b/qtbase/configure
@@ -36,9 +36,9 @@
relconf=`basename $0`
@@ -9,9 +9,9 @@
# the directory of this script is the "source tree"
relpath=`dirname $0`
relpath=`dirname "$0"`
-relpath=`(cd "$relpath"; /bin/pwd)`
+relpath=`(cd "$relpath"; pwd)`
# the current directory is the "build tree" or "object tree"
-outpath=`/bin/pwd`
+outpath=`pwd`
outpathPrefix=$outpath
# do this early so we don't store it in config.status
WHICH="which"
--- a/qtbase/bin/qt-cmake.in
+++ b/qtbase/bin/qt-cmake.in
@@ -2,7 +2,7 @@
# The directory of this script is the expanded absolute path of the "$qt_prefix/bin" directory.
script_dir_path=`dirname $0`
-script_dir_path=`(cd "$script_dir_path"; /bin/pwd)`
+script_dir_path=`(cd "$script_dir_path"; pwd)`
# Try to use original cmake, otherwise to make it relocatable, use any cmake found in PATH.
original_cmake_path="@CMAKE_COMMAND@"
--- a/qtbase/bin/qt-configure-module.in
+++ b/qtbase/bin/qt-configure-module.in
@@ -2,7 +2,7 @@
set -eu
script_dir_path=`dirname $0`
-script_dir_path=`(cd "$script_dir_path"; /bin/pwd)`
+script_dir_path=`(cd "$script_dir_path"; pwd)`
printUsage()
{
@@ -1,104 +0,0 @@
QtGui: Fix duplication of logging category lcQpaFonts
Move it to qplatformfontdatabase.h.
Upstream commit:
- Qt 6.0: ab01885e48873fb2ad71841a3f1627fe4d9cd835
--- a/qtbase/src/gui/text/qplatformfontdatabase.cpp
+++ b/qtbase/src/gui/text/qplatformfontdatabase.cpp
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(lcQpaFonts, "qt.qpa.fonts")
+
void qt_registerFont(const QString &familyname, const QString &stylename,
const QString &foundryname, int weight,
QFont::Style style, int stretch, bool antialiased,
--- a/qtbase/src/gui/text/qplatformfontdatabase.h
+++ b/qtbase/src/gui/text/qplatformfontdatabase.h
@@ -50,6 +50,7 @@
//
#include <QtGui/qtguiglobal.h>
+#include <QtCore/qloggingcategory.h>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QList>
@@ -62,6 +63,7 @@
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(lcQpaFonts)
class QWritingSystemsPrivate;
--- a/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+++ b/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
@@ -86,8 +86,6 @@
QT_BEGIN_NAMESPACE
-Q_LOGGING_CATEGORY(lcQpaFonts, "qt.qpa.fonts")
-
static float SYNTHETIC_ITALIC_SKEW = std::tan(14.f * std::acos(0.f) / 90.f);
bool QCoreTextFontEngine::ct_getSfntTable(void *user_data, uint tag, uchar *buffer, uint *length)
--- a/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
+++ b/qtbase/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
@@ -64,8 +64,6 @@
QT_BEGIN_NAMESPACE
-Q_DECLARE_LOGGING_CATEGORY(lcQpaFonts)
-
class QCoreTextFontEngine : public QFontEngine
{
Q_GADGET
--- a/qtbase/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
+++ b/qtbase/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
@@ -68,8 +68,6 @@
QT_BEGIN_NAMESPACE
-Q_LOGGING_CATEGORY(lcQpaFonts, "qt.qpa.fonts")
-
#ifndef QT_NO_DIRECTWRITE
// ### fixme: Consider direct linking of dwrite.dll once Windows Vista pre SP2 is dropped (QTBUG-49711)
--- a/qtbase/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_p.h
+++ b/qtbase/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_p.h
@@ -63,8 +63,6 @@
QT_BEGIN_NAMESPACE
-Q_DECLARE_LOGGING_CATEGORY(lcQpaFonts)
-
class QWindowsFontEngineData
{
Q_DISABLE_COPY_MOVE(QWindowsFontEngineData)
--- a/qtbase/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
+++ b/qtbase/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
@@ -40,6 +40,7 @@
#include "qgenericunixthemes_p.h"
#include "qpa/qplatformtheme_p.h"
+#include "qpa/qplatformfontdatabase.h"
#include <QtGui/QPalette>
#include <QtGui/QFont>
@@ -76,7 +77,6 @@
QT_BEGIN_NAMESPACE
Q_DECLARE_LOGGING_CATEGORY(qLcTray)
-Q_LOGGING_CATEGORY(lcQpaFonts, "qt.qpa.fonts")
ResourceHelper::ResourceHelper()
{
@@ -1,17 +0,0 @@
Facilitate guix building with CROSS_LIBRARY_PATH
See discussion in https://github.com/bitcoin/bitcoin/pull/15277.
--- a/qtbase/mkspecs/features/toolchain.prf
+++ b/qtbase/mkspecs/features/toolchain.prf
@@ -236,8 +236,8 @@ isEmpty($${target_prefix}.INCDIRS) {
add_libraries = false
for (line, output) {
line ~= s/^[ \\t]*// # remove leading spaces
- contains(line, "LIBRARY_PATH=.*") {
- line ~= s/^LIBRARY_PATH=// # remove leading LIBRARY_PATH=
+ contains(line, "(CROSS_)?LIBRARY_PATH=.*") {
+ line ~= s/^(CROSS_)?LIBRARY_PATH=// # remove leading (CROSS_)?LIBRARY_PATH=
equals(QMAKE_HOST.os, Windows): \
paths = $$split(line, ;)
else: \
-23
View File
@@ -1,23 +0,0 @@
MAKEFILE_GENERATOR = UNIX
CONFIG += app_bundle incremental lib_version_first absolute_library_soname
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/macx.conf)
include(../common/gcc-base-mac.conf)
include(../common/clang.conf)
include(../common/clang-mac.conf)
QMAKE_MAC_SDK_PATH=$${MAC_SDK_PATH}
QMAKE_XCODE_VERSION = $${XCODE_VERSION}
QMAKE_XCODE_DEVELOPER_PATH=/Developer
QMAKE_MAC_SDK=macosx
QMAKE_MAC_SDK.macosx.Path = $${MAC_SDK_PATH}
QMAKE_MAC_SDK.macosx.platform_name = macosx
QMAKE_MAC_SDK.macosx.SDKVersion = $${MAC_SDK_VERSION}
QMAKE_MAC_SDK.macosx.PlatformPath = /phony
QMAKE_CXXFLAGS += -fuse-ld=lld
!host_build: QMAKE_CFLAGS += -target $${MAC_TARGET}
!host_build: QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS
!host_build: QMAKE_CXXFLAGS += -target $${MAC_TARGET}
!host_build: QMAKE_LFLAGS += -target $${MAC_TARGET}
QMAKE_AR = $${CROSS_COMPILE}ar cq
QMAKE_RANLIB=$${CROSS_COMPILE}ranlib
load(qt_config)
-61
View File
@@ -1,61 +0,0 @@
From 9563cef873ae82e06f60708d706d054717e801ce Mon Sep 17 00:00:00 2001
From: Carl Dong <contact@carldong.me>
Date: Thu, 18 Jul 2019 17:22:05 -0400
Subject: [PATCH] Wrap xlib related code blocks in #if's
They are not necessary to compile QT.
--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
+++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
@@ -49,7 +49,9 @@
#include <QtGui/QWindow>
#include <QtGui/QBitmap>
#include <QtGui/private/qguiapplication_p.h>
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
#include <X11/cursorfont.h>
+#endif
#include <xcb/xfixes.h>
#include <xcb/xcb_image.h>
@@ -391,6 +393,7 @@ void QXcbCursor::changeCursor(QCursor *cursor, QWindow *window)
xcb_flush(xcb_connection());
}
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
static int cursorIdForShape(int cshape)
{
int cursorId = 0;
@@ -444,6 +447,7 @@ static int cursorIdForShape(int cshape)
}
return cursorId;
}
+#endif
xcb_cursor_t QXcbCursor::createNonStandardCursor(int cshape)
{
@@ -558,7 +562,9 @@ static xcb_cursor_t loadCursor(void *dpy, int cshape)
xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
{
xcb_connection_t *conn = xcb_connection();
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
int cursorId = cursorIdForShape(cshape);
+#endif
xcb_cursor_t cursor = XCB_NONE;
#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
@@ -590,6 +596,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
// Non-standard X11 cursors are created from bitmaps
cursor = createNonStandardCursor(cshape);
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
// Create a glpyh cursor if everything else failed
if (!cursor && cursorId) {
cursor = xcb_generate_id(conn);
@@ -597,6 +604,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
cursorId, cursorId + 1,
0xFFFF, 0xFFFF, 0xFFFF, 0, 0, 0);
}
+#endif
if (cursor && cshape >= 0 && cshape < Qt::LastCursor && connection()->hasXFixes()) {
const char *name = cursorNames[cshape].front();
@@ -1,11 +0,0 @@
--- a/qtbase/mkspecs/features/mac/no_warn_empty_obj_files.prf
+++ b/qtbase/mkspecs/features/mac/no_warn_empty_obj_files.prf
@@ -1,7 +1,7 @@
# Prevent warnings about object files without any symbols. This is a common
# thing in Qt as we tend to build files unconditionally, and then use ifdefs
# to compile out parts that are not relevant.
-QMAKE_RANLIB += -no_warning_for_no_symbols
+# QMAKE_RANLIB += -no_warning_for_no_symbols
# We have to tell 'ar' to not run ranlib by itself
QMAKE_AR += -S
-12
View File
@@ -1,12 +0,0 @@
# Create the super cache so modules will add themselves to it.
cache(, super)
!QTDIR_build: cache(CONFIG, add, $$list(QTDIR_build))
TEMPLATE = subdirs
SUBDIRS = qtbase qttools qttranslations
qttools.depends = qtbase
qttranslations.depends = qttools
load(qt_configure)
@@ -7,7 +7,7 @@ Upstream report: https://bugreports.qt.io/browse/QTBUG-83160
diff --git a/qtbase/src/tools/moc/main.cpp b/qtbase/src/tools/moc/main.cpp
--- a/qtbase/src/tools/moc/main.cpp
+++ b/qtbase/src/tools/moc/main.cpp
@@ -238,6 +238,7 @@ int runMoc(int argc, char **argv)
@@ -186,6 +186,7 @@ int runMoc(int argc, char **argv)
dummyVariadicFunctionMacro.arguments += Symbol(0, PP_IDENTIFIER, "__VA_ARGS__");
pp.macros["__attribute__"] = dummyVariadicFunctionMacro;
pp.macros["__declspec"] = dummyVariadicFunctionMacro;
@@ -0,0 +1,37 @@
Avoid using native float16 types in Qt's qfloat16
Using native float16 types may introduce compatibility issues
in release binaries for Linux platforms.
See: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e42d2d2a20f2bb59928bc895ec9f46503a1b5c73
This patch can be dropped once the minimum required libgcc version
is updated to 12.x or newer.
--- a/qtbase/src/corelib/global/qtypes.h
+++ b/qtbase/src/corelib/global/qtypes.h
@@ -258,23 +258,8 @@ using qsizetype = QIntegerForSizeof<std::size_t>::Signed;
// Define a native float16 type
namespace QtPrivate {
-#if defined(__STDCPP_FLOAT16_T__)
-# define QFLOAT16_IS_NATIVE 1
-using NativeFloat16Type = std::float16_t;
-#elif defined(Q_CC_CLANG) && defined(__FLT16_MAX__) && 0
-// disabled due to https://github.com/llvm/llvm-project/issues/56963
-# define QFLOAT16_IS_NATIVE 1
-using NativeFloat16Type = decltype(__FLT16_MAX__);
-#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__) && defined(__ARM_FP16_FORMAT_IEEE)
-# define QFLOAT16_IS_NATIVE 1
-using NativeFloat16Type = __fp16;
-#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__) && defined(__SSE2__)
-# define QFLOAT16_IS_NATIVE 1
-using NativeFloat16Type = _Float16;
-#else
# define QFLOAT16_IS_NATIVE 0
using NativeFloat16Type = void;
-#endif
} // QtPrivate
#endif // __cplusplus
@@ -0,0 +1,21 @@
Avoid defining QT_NEEDS_QMAIN macro
Qt's QT_NEEDS_QMAIN macro renames our main() function to qMain(),
which breaks our assumptions regarding exported symbols. In particular,
the CONTROL_FLOW security check fails for Windows builds in Guix.
The QT_NEEDS_QMAIN macro is required for linking to the Qt DLLs only,
so we can safely disable it.
--- a/qtbase/src/entrypoint/CMakeLists.txt
+++ b/qtbase/src/entrypoint/CMakeLists.txt
@@ -104,8 +104,6 @@ if(WIN32)
APPEND PROPERTY INTERFACE_QT_MODULE_LDFLAGS "-lmingw32"
)
- target_compile_definitions(EntryPointPrivate INTERFACE QT_NEEDS_QMAIN)
- qt_internal_extend_target(EntryPointImplementation DEFINES QT_NEEDS_QMAIN)
endif()
qt_internal_add_sync_header_dependencies(EntryPointImplementation Core)
@@ -0,0 +1,34 @@
CMake: Prevent creation of empty InputSupportPrivate module
The combination of
-no-feature-evdev
-no-feature-tslib
-no-feature-libinput
led to the creation of the InputSupportPrivate module without source
files.
This triggered CMake upstream issue 23464 when using CMake < 3.25.
Fix this by adjusting the inexact condition that decides whether to
build InputSupportPrivate.
See: https://codereview.qt-project.org/c/qt/qtbase/+/633612
--- a/qtbase/src/platformsupport/CMakeLists.txt
+++ b/qtbase/src/platformsupport/CMakeLists.txt
@@ -3,7 +3,12 @@
add_subdirectory(devicediscovery)
add_subdirectory(fbconvenience)
-if(QT_FEATURE_evdev OR QT_FEATURE_integrityhid OR QT_FEATURE_libinput OR QT_FEATURE_tslib OR QT_FEATURE_xkbcommon)
+if(QT_FEATURE_evdev
+ OR QT_FEATURE_vxworksevdev
+ OR QT_FEATURE_integrityhid
+ OR QT_FEATURE_libinput
+ OR QT_FEATURE_tslib
+ OR (QT_FEATURE_libinput AND QT_FEATURE_xkbcommon))
add_subdirectory(input)
endif()
if(QT_FEATURE_kms)
@@ -0,0 +1,21 @@
CMake: Fix macOS -no-feature-sessionmanager build with CMake < 3.25
Work around CMake issue 23464.
See: https://codereview.qt-project.org/c/qt/qtbase/+/634002
--- a/qtbase/src/plugins/platforms/cocoa/CMakeLists.txt
+++ b/qtbase/src/plugins/platforms/cocoa/CMakeLists.txt
@@ -102,3 +102,10 @@ qt_internal_extend_target(QCocoaIntegrationPlugin CONDITION QT_FEATURE_sessionma
SOURCES
qcocoasessionmanager.cpp qcocoasessionmanager.h
)
+
+# Work around CMake issue 23464
+if(CMAKE_VERSION VERSION_LESS "3.25" AND NOT QT_FEATURE_sessionmanager)
+ set_target_properties(QCocoaIntegrationPlugin PROPERTIES
+ DISABLE_PRECOMPILE_HEADERS ON
+ )
+endif()
@@ -0,0 +1,61 @@
Skip building/installing unneeded tools:
1. Wrapper CMake scripts.
2. CI support files.
3. tracepointgen and tracegen tools.
4. Qt Look Ahead LR Parser Generator (qlalr).
5. Qt Vulkan Header Generator (qvkgen).
--- a/qtbase/cmake/QtBaseGlobalTargets.cmake
+++ b/qtbase/cmake/QtBaseGlobalTargets.cmake
@@ -118,9 +118,6 @@ qt_generate_global_module_pri_file()
qt_generate_global_device_pri_file()
qt_generate_qmake_and_qtpaths_wrapper_for_target()
-# Depends on the global features being evaluated.
-qt_internal_create_wrapper_scripts()
-
add_library(Qt::GlobalConfig ALIAS GlobalConfig)
add_library(GlobalConfigPrivate INTERFACE)
--- a/qtbase/cmake/QtBaseGlobalTargets.cmake
+++ b/qtbase/cmake/QtBaseGlobalTargets.cmake
@@ -349,12 +349,3 @@ elseif(WASM)
qt_install(PROGRAMS "${QT_BUILD_DIR}/${INSTALL_LIBEXECDIR}/qt-wasmtestrunner.py"
DESTINATION "${INSTALL_LIBEXECDIR}")
endif()
-
-# Install CI support files to libexec.
-qt_path_join(__qt_libexec_install_dir "${QT_INSTALL_DIR}" "${INSTALL_LIBEXECDIR}")
-qt_copy_or_install(FILES coin/instructions/qmake/ensure_pro_file.cmake
- DESTINATION "${__qt_libexec_install_dir}")
-qt_copy_or_install(PROGRAMS "util/testrunner/qt-testrunner.py"
- DESTINATION "${__qt_libexec_install_dir}")
-qt_copy_or_install(PROGRAMS "util/testrunner/sanitizer-testrunner.py"
- DESTINATION "${__qt_libexec_install_dir}")
--- a/qtbase/src/CMakeLists.txt
+++ b/qtbase/src/CMakeLists.txt
@@ -21,8 +21,6 @@ function(find_or_build_bootstrap_names)
endif()
add_subdirectory(tools/moc)
add_subdirectory(tools/rcc)
- add_subdirectory(tools/tracepointgen)
- add_subdirectory(tools/tracegen)
add_subdirectory(tools/cmake_automoc_parser)
endfunction()
--- a/qtbase/src/tools/CMakeLists.txt
+++ b/qtbase/src/tools/CMakeLists.txt
@@ -11,8 +11,6 @@ if (QT_FEATURE_dbus)
add_subdirectory(qdbuscpp2xml)
add_subdirectory(qdbusxml2cpp)
endif()
-add_subdirectory(qlalr)
-add_subdirectory(qvkgen)
if (QT_FEATURE_commandlineparser)
add_subdirectory(qtpaths)
endif()
@@ -0,0 +1,36 @@
QtTools: Skip unnecessary dependencies:
1. The LLVM installatiion.
2. Build only required tools.
--- a/qttools/configure.cmake
+++ b/qttools/configure.cmake
@@ -17,7 +17,7 @@
# Presumably because 6.0 ClangConfig.cmake files are not good enough?
# In any case explicitly request a minimum version of 8.x for now, otherwise
# building with CMake will fail at compilation time.
-qt_find_package(WrapLibClang 8 PROVIDED_TARGETS WrapLibClang::WrapLibClang)
+#qt_find_package(WrapLibClang 8 PROVIDED_TARGETS WrapLibClang::WrapLibClang)
# special case end
if(TARGET WrapLibClang::WrapLibClang)
--- a/qttools/src/linguist/CMakeLists.txt
+++ b/qttools/src/linguist/CMakeLists.txt
@@ -9,15 +9,8 @@ if(NOT QT_FEATURE_linguist)
return()
endif()
add_subdirectory(lconvert)
-add_subdirectory(lprodump)
add_subdirectory(lrelease)
-add_subdirectory(lrelease-pro)
add_subdirectory(lupdate)
-add_subdirectory(lupdate-pro)
-if(QT_FEATURE_process AND QT_FEATURE_pushbutton AND QT_FEATURE_toolbutton
- AND QT_FEATURE_png AND QT_FEATURE_printsupport AND TARGET Qt::Widgets)
- add_subdirectory(linguist)
-endif()
# Create a fake module that would emulate the Qt5::LinguistTools CMake Config package
qt_internal_add_module(Linguist
-6
View File
@@ -1,6 +0,0 @@
TEMPLATE = subdirs
SUBDIRS = linguist
fb = force_bootstrap
CONFIG += $$fb
cache(CONFIG, add, fb)
@@ -6,11 +6,11 @@ the SOURCE_DATE_EPOCH variable set, e.g., for Guix builds.
--- old/qtbase/src/tools/rcc/rcc.cpp
+++ new/qtbase/src/tools/rcc/rcc.cpp
@@ -227,14 +227,7 @@ void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib)
@@ -201,14 +201,7 @@ void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib)
if (lib.formatVersion() >= 2) {
// last modified time stamp
- const QDateTime lastModified = m_fileInfo.lastModified();
- const QDateTime lastModified = m_fileInfo.lastModified(QTimeZone::UTC);
- quint64 lastmod = quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0);
- static const quint64 sourceDate = 1000 * qgetenv("QT_RCC_SOURCE_DATE_OVERRIDE").toULongLong();
- if (sourceDate != 0)
@@ -1,84 +0,0 @@
Modify optimisation flags for various functions.
This fixes non-determinism issues in the asm produced for
these function when cross-compiling on x86_64 and aarch64 for
the arm64-apple-darwin HOST.
--- a/qtbase/src/corelib/itemmodels/qitemselectionmodel.cpp
+++ b/qtbase/src/corelib/itemmodels/qitemselectionmodel.cpp
@@ -1078,9 +1078,9 @@ void QItemSelectionModelPrivate::_q_layoutChanged(const QList<QPersistentModelIn
if (hint != QAbstractItemModel::VerticalSortHint) {
// sort the "new" selection, as preparation for merging
- std::stable_sort(savedPersistentIndexes.begin(), savedPersistentIndexes.end(),
+ std::sort(savedPersistentIndexes.begin(), savedPersistentIndexes.end(),
qt_PersistentModelIndexLessThan);
- std::stable_sort(savedPersistentCurrentIndexes.begin(), savedPersistentCurrentIndexes.end(),
+ std::sort(savedPersistentCurrentIndexes.begin(), savedPersistentCurrentIndexes.end(),
qt_PersistentModelIndexLessThan);
// update the selection by merging the individual indexes
@@ -1092,8 +1092,8 @@ void QItemSelectionModelPrivate::_q_layoutChanged(const QList<QPersistentModelIn
savedPersistentCurrentIndexes.clear();
} else {
// sort the "new" selection, as preparation for merging
- std::stable_sort(savedPersistentRowLengths.begin(), savedPersistentRowLengths.end());
- std::stable_sort(savedPersistentCurrentRowLengths.begin(), savedPersistentCurrentRowLengths.end());
+ std::sort(savedPersistentRowLengths.begin(), savedPersistentRowLengths.end());
+ std::sort(savedPersistentCurrentRowLengths.begin(), savedPersistentCurrentRowLengths.end());
// update the selection by merging the individual indexes
ranges = mergeRowLengths(savedPersistentRowLengths);
--- a/qtbase/src/corelib/itemmodels/qitemselectionmodel_p.h
+++ b/qtbase/src/corelib/itemmodels/qitemselectionmodel_p.h
@@ -76,7 +76,7 @@ public:
void _q_rowsAboutToBeInserted(const QModelIndex &parent, int start, int end);
void _q_columnsAboutToBeInserted(const QModelIndex &parent, int start, int end);
void _q_layoutAboutToBeChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint);
- void _q_layoutChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint);
+ __attribute__ ((optnone)) void _q_layoutChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint);
inline void remove(QList<QItemSelectionRange> &r)
{
--- a/qtbase/src/corelib/time/qdatetimeparser_p.h
+++ b/qtbase/src/corelib/time/qdatetimeparser_p.h
@@ -215,7 +215,7 @@ private:
: value(ok == Invalid ? -1 : val), used(read), zeroes(zs), state(ok)
{}
};
- ParsedSection parseSection(const QDateTime &currentValue, int sectionIndex,
+ __attribute__ ((optnone)) ParsedSection parseSection(const QDateTime &currentValue, int sectionIndex,
int offset, QString *text) const;
int findMonth(const QString &str1, int monthstart, int sectionIndex,
int year, QString *monthName = nullptr, int *used = nullptr) const;
--- a/qtbase/src/corelib/time/qtimezoneprivate_p.h
+++ b/qtbase/src/corelib/time/qtimezoneprivate_p.h
@@ -191,7 +191,7 @@ public:
virtual ~QUtcTimeZonePrivate();
// Fall-back for UTC[+-]\d+(:\d+){,2} IDs.
- static qint64 offsetFromUtcString(const QByteArray &id);
+ static __attribute__ ((optnone)) qint64 offsetFromUtcString(const QByteArray &id);
QUtcTimeZonePrivate *clone() const override;
--- a/qtbase/src/widgets/widgets/qcalendarwidget.cpp
+++ b/qtbase/src/widgets/widgets/qcalendarwidget.cpp
@@ -329,13 +329,13 @@ class QCalendarYearValidator : public QCalendarDateSectionValidator
public:
QCalendarYearValidator();
- virtual Section handleKey(int key) override;
+ __attribute__ ((optnone)) virtual Section handleKey(int key) override;
virtual QDate applyToDate(QDate date, QCalendar cal) const override;
virtual void setDate(QDate date, QCalendar cal) override;
virtual QString text() const override;
virtual QString text(QDate date, QCalendar cal, int repeat) const override;
private:
- int pow10(int n);
+ __attribute__ ((optnone)) int pow10(int n);
int m_pos;
int m_year;
int m_oldYear;
-31
View File
@@ -1,31 +0,0 @@
Qt (for Windows) fails to build under LTO, due to multiple definition issues, i.e
multiple definition of `QAccessibleLineEdit::~QAccessibleLineEdit()';
Possibly related to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94156.
diff --git a/qtbase/src/widgets/accessible/simplewidgets.cpp b/qtbase/src/widgets/accessible/simplewidgets.cpp
index 107fd729fe..0e61878f39 100644
--- a/qtbase/src/widgets/accessible/simplewidgets.cpp
+++ b/qtbase/src/widgets/accessible/simplewidgets.cpp
@@ -109,6 +109,8 @@ QString qt_accHotKey(const QString &text);
\ingroup accessibility
*/
+QAccessibleLineEdit::~QAccessibleLineEdit(){};
+
/*!
Creates a QAccessibleButton object for \a w.
*/
diff --git a/qtbase/src/widgets/accessible/simplewidgets_p.h b/qtbase/src/widgets/accessible/simplewidgets_p.h
index 73572e3059..658da86143 100644
--- a/qtbase/src/widgets/accessible/simplewidgets_p.h
+++ b/qtbase/src/widgets/accessible/simplewidgets_p.h
@@ -155,6 +155,7 @@ class QAccessibleLineEdit : public QAccessibleWidget, public QAccessibleTextInte
public:
explicit QAccessibleLineEdit(QWidget *o, const QString &name = QString());
+ ~QAccessibleLineEdit();
QString text(QAccessible::Text t) const override;
void setText(QAccessible::Text t, const QString &text) override;
QAccessible::State state() const override;