mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 03:52:49 +01:00
Merge bitcoin/bitcoin#28532: qt: enable -ltcg
for windows under LTO
f0cebbdb2a1a3c2f0facd88963484ad6fd5851db qt: enable -ltcg for windows HOST (fanquake) Pull request description: Patch around multiple definition issues in Qt, and enable `-ltcg` when using `LTO=1`. Split from #25391. ACKs for top commit: hebasto: ACK f0cebbdb2a1a3c2f0facd88963484ad6fd5851db Tree-SHA512: 2d6e34779f360bf6dfea4f70fc9004a16e95da79716fcb3046afbf2b01317b7e16965cb51b967b7b5fb64549306c5f48cf59082884289c52016bc1e86949e062
This commit is contained in:
parent
ccd3920d40
commit
c740264da8
@ -23,6 +23,7 @@ $(package)_patches += guix_cross_lib_path.patch
|
|||||||
$(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
$(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
||||||
$(package)_patches += fix-macos-linker.patch
|
$(package)_patches += fix-macos-linker.patch
|
||||||
$(package)_patches += memory_resource.patch
|
$(package)_patches += memory_resource.patch
|
||||||
|
$(package)_patches += windows_lto.patch
|
||||||
|
|
||||||
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
||||||
$(package)_qttranslations_sha256_hash=a31785948c640b7c66d9fe2db4993728ca07f64e41c560b3625ad191b276ff20
|
$(package)_qttranslations_sha256_hash=a31785948c640b7c66d9fe2db4993728ca07f64e41c560b3625ad191b276ff20
|
||||||
@ -184,6 +185,9 @@ $(package)_config_opts_mingw32 += "QMAKE_LFLAGS = '$($(package)_ldflags)'"
|
|||||||
$(package)_config_opts_mingw32 += "QMAKE_LIB = '$($(package)_ar) rc'"
|
$(package)_config_opts_mingw32 += "QMAKE_LIB = '$($(package)_ar) rc'"
|
||||||
$(package)_config_opts_mingw32 += -device-option CROSS_COMPILE="$(host)-"
|
$(package)_config_opts_mingw32 += -device-option CROSS_COMPILE="$(host)-"
|
||||||
$(package)_config_opts_mingw32 += -pch
|
$(package)_config_opts_mingw32 += -pch
|
||||||
|
ifneq ($(LTO),)
|
||||||
|
$(package)_config_opts_mingw32 += -ltcg
|
||||||
|
endif
|
||||||
|
|
||||||
$(package)_config_opts_android = -xplatform android-clang
|
$(package)_config_opts_android = -xplatform android-clang
|
||||||
$(package)_config_opts_android += -android-sdk $(ANDROID_SDK)
|
$(package)_config_opts_android += -android-sdk $(ANDROID_SDK)
|
||||||
@ -260,6 +264,7 @@ define $(package)_preprocess_cmds
|
|||||||
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
|
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
|
||||||
patch -p1 -i $($(package)_patch_dir)/fast_fixed_dtoa_no_optimize.patch && \
|
patch -p1 -i $($(package)_patch_dir)/fast_fixed_dtoa_no_optimize.patch && \
|
||||||
patch -p1 -i $($(package)_patch_dir)/guix_cross_lib_path.patch && \
|
patch -p1 -i $($(package)_patch_dir)/guix_cross_lib_path.patch && \
|
||||||
|
patch -p1 -i $($(package)_patch_dir)/windows_lto.patch && \
|
||||||
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
|
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
|
||||||
cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
|
cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
|
||||||
cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
|
cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
|
||||||
|
31
depends/patches/qt/windows_lto.patch
Normal file
31
depends/patches/qt/windows_lto.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
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;
|
Loading…
Reference in New Issue
Block a user