From 5d5d50a12689e30e7b1eb60c838a8ef0a9d19b8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Edgar=20Andr=C3=A9s=20Margffoy=20Tuay?= <andfoy@gmail.com>
Date: Wed, 17 Nov 2021 12:25:43 -0500
Subject: [PATCH 06/13] Add arm64 support for host tools

---
 qtbase/qmake/Makefile.unix.macos                         | 4 ++--
 qtbase/src/3rdparty/pcre2/pcre2.pro                      | 3 +++
 qtbase/src/corelib/qtzlib.pro                            | 3 +++
 qtbase/src/tools/androiddeployqt/androiddeployqt.pro     | 3 ++-
 qtbase/src/tools/androidtestrunner/androidtestrunner.pro | 3 ++-
 qtbase/src/tools/bootstrap-dbus/bootstrap-dbus.pro       | 2 ++
 qtbase/src/tools/bootstrap/bootstrap.pro                 | 5 +++++
 qtbase/src/tools/moc/moc.pro                             | 2 ++
 qtbase/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro           | 2 ++
 qtbase/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro           | 3 ++-
 qtbase/src/tools/qlalr/qlalr.pro                         | 3 +++
 qtbase/src/tools/qvkgen/qvkgen.pro                       | 3 ++-
 qtbase/src/tools/rcc/rcc.pro                             | 2 ++
 qtbase/src/tools/tracegen/tracegen.pro                   | 2 ++
 qtbase/src/tools/uic/uic.pro                             | 2 ++
 15 files changed, 36 insertions(+), 6 deletions(-)

diff --git a/qtbase/qmake/Makefile.unix.macos b/qtbase/qmake/Makefile.unix.macos
index 8f84cd88f2..7509e6f8c3 100644
--- a/qtbase/qmake/Makefile.unix.macos
+++ b/qtbase/qmake/Makefile.unix.macos
@@ -2,8 +2,8 @@ COCOA_LFLAGS = -framework Foundation -framework CoreServices
 CARBON_LFLAGS = -framework ApplicationServices
 CARBON_CFLAGS = -fconstant-cfstrings
 
-EXTRA_CXXFLAGS = $(CARBON_CFLAGS)
-EXTRA_LFLAGS = $(COCOA_LFLAGS) $(CARBON_LFLAGS)
+EXTRA_CXXFLAGS = $(CARBON_CFLAGS) -arch x86_64 -arch arm64
+EXTRA_LFLAGS = $(COCOA_LFLAGS) $(CARBON_LFLAGS) -arch x86_64 -arch arm64
 
 QTOBJS2 = \
     qsettings_mac.o \
diff --git a/qtbase/src/3rdparty/pcre2/pcre2.pro b/qtbase/src/3rdparty/pcre2/pcre2.pro
index bfa42b88d3..efa277f8c0 100644
--- a/qtbase/src/3rdparty/pcre2/pcre2.pro
+++ b/qtbase/src/3rdparty/pcre2/pcre2.pro
@@ -19,6 +19,9 @@ qtConfig(intelcet) {
     QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_SHSTK
 }
 
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
+
 # platform/compiler specific definitions
 uikit|qnx|winrt: DEFINES += PCRE2_DISABLE_JIT
 win32:contains(QT_ARCH, "arm"): DEFINES += PCRE2_DISABLE_JIT
diff --git a/qtbase/src/corelib/qtzlib.pro b/qtbase/src/corelib/qtzlib.pro
index 744750fbbe..eabdd32b90 100644
--- a/qtbase/src/corelib/qtzlib.pro
+++ b/qtbase/src/corelib/qtzlib.pro
@@ -4,4 +4,7 @@ MAKEFILE = Makefile.qtzlib
 CONFIG += internal_module header_module alien_syncqt
 QT =
 
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
+
 load(qt_module)
diff --git a/qtbase/src/tools/androiddeployqt/androiddeployqt.pro b/qtbase/src/tools/androiddeployqt/androiddeployqt.pro
index 2d0f5b41d1..150eb70bf5 100644
--- a/qtbase/src/tools/androiddeployqt/androiddeployqt.pro
+++ b/qtbase/src/tools/androiddeployqt/androiddeployqt.pro
@@ -6,7 +6,8 @@ SOURCES += \
 
 # Required for declarations of popen/pclose on Windows
 windows: QMAKE_CXXFLAGS += -U__STRICT_ANSI__
-
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
 DEFINES += QT_NO_FOREACH
 
diff --git a/qtbase/src/tools/androidtestrunner/androidtestrunner.pro b/qtbase/src/tools/androidtestrunner/androidtestrunner.pro
index 641d3e0003..602935844d 100644
--- a/qtbase/src/tools/androidtestrunner/androidtestrunner.pro
+++ b/qtbase/src/tools/androidtestrunner/androidtestrunner.pro
@@ -6,7 +6,8 @@ SOURCES += \
 
 # Required for declarations of popen/pclose on Windows
 windows: QMAKE_CXXFLAGS += -U__STRICT_ANSI__
-
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
 DEFINES += QT_NO_FOREACH
 
diff --git a/qtbase/src/tools/bootstrap-dbus/bootstrap-dbus.pro b/qtbase/src/tools/bootstrap-dbus/bootstrap-dbus.pro
index c3ed27d979..39024785ee 100644
--- a/qtbase/src/tools/bootstrap-dbus/bootstrap-dbus.pro
+++ b/qtbase/src/tools/bootstrap-dbus/bootstrap-dbus.pro
@@ -11,6 +11,8 @@ DEFINES += \
 MODULE_INCNAME = QtDBus
 
 QMAKE_CXXFLAGS += $$QT_HOST_CFLAGS_DBUS
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 
 SOURCES = \
     ../../dbus/qdbusintrospection.cpp \
diff --git a/qtbase/src/tools/bootstrap/bootstrap.pro b/qtbase/src/tools/bootstrap/bootstrap.pro
index 24862a07db..fab5db6da7 100644
--- a/qtbase/src/tools/bootstrap/bootstrap.pro
+++ b/qtbase/src/tools/bootstrap/bootstrap.pro
@@ -4,6 +4,11 @@ TARGET = QtBootstrap
 QT =
 CONFIG += minimal_syncqt internal_module force_bootstrap gc_binaries
 
+QMAKE_CFLAGS += -arch x86_64 -arch arm64
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
+EXPORT_VALID_ARCHS = x86_64 arm64
+
 MODULE_INCNAME = QtCore QtXml
 MODULE_DEFINES = \
         QT_VERSION_STR=$$shell_quote(\"$$QT_VERSION\") \
diff --git a/qtbase/src/tools/moc/moc.pro b/qtbase/src/tools/moc/moc.pro
index c092bbb1b1..1886920e43 100644
--- a/qtbase/src/tools/moc/moc.pro
+++ b/qtbase/src/tools/moc/moc.pro
@@ -14,6 +14,8 @@ msvc: DEFINES += _CRT_SECURE_NO_WARNINGS
 include(moc.pri)
 HEADERS += qdatetime_p.h
 SOURCES += main.cpp
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 
 QMAKE_TARGET_DESCRIPTION = "Qt Meta Object Compiler"
 load(qt_tool)
diff --git a/qtbase/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro b/qtbase/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro
index d0e8cfdf24..06d3eb58d0 100644
--- a/qtbase/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro
+++ b/qtbase/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro
@@ -4,6 +4,8 @@ force_bootstrap: QT += bootstrap_dbus-private
 else: QT += dbus-private
 DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_FOREACH
 QMAKE_CXXFLAGS += $$QT_HOST_CFLAGS_DBUS
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 
 include(../moc/moc.pri)
 
diff --git a/qtbase/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro b/qtbase/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro
index 8468d2ab44..c7c0b8cb1e 100644
--- a/qtbase/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro
+++ b/qtbase/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro
@@ -9,7 +9,8 @@ force_bootstrap: QT += bootstrap_dbus-private
 else: QT += dbus-private
 DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_FOREACH
 QMAKE_CXXFLAGS += $$QT_HOST_CFLAGS_DBUS
-
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 SOURCES = qdbusxml2cpp.cpp
 
 QMAKE_TARGET_DESCRIPTION = "Qt D-Bus XML to C++ Compiler"
diff --git a/qtbase/src/tools/qlalr/qlalr.pro b/qtbase/src/tools/qlalr/qlalr.pro
index 5cfeade1ee..6daf09daa2 100644
--- a/qtbase/src/tools/qlalr/qlalr.pro
+++ b/qtbase/src/tools/qlalr/qlalr.pro
@@ -25,5 +25,8 @@ OTHER_FILES += \
 DEFINES += \
     QT_NO_FOREACH
 
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
+
 QMAKE_TARGET_DESCRIPTION = "Qt Look Ahead LR Parser Generator"
 load(qt_tool)
diff --git a/qtbase/src/tools/qvkgen/qvkgen.pro b/qtbase/src/tools/qvkgen/qvkgen.pro
index 0428fdfe08..4e502a294f 100644
--- a/qtbase/src/tools/qvkgen/qvkgen.pro
+++ b/qtbase/src/tools/qvkgen/qvkgen.pro
@@ -1,6 +1,7 @@
 option(host_build)
 
 SOURCES += qvkgen.cpp
-
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 QMAKE_TARGET_DESCRIPTION = "Qt Vulkan Header Generator"
 load(qt_tool)
diff --git a/qtbase/src/tools/rcc/rcc.pro b/qtbase/src/tools/rcc/rcc.pro
index ae55b5d8af..bc554117c5 100644
--- a/qtbase/src/tools/rcc/rcc.pro
+++ b/qtbase/src/tools/rcc/rcc.pro
@@ -5,6 +5,8 @@ DEFINES += QT_RCC QT_NO_CAST_FROM_ASCII QT_NO_FOREACH
 
 include(rcc.pri)
 SOURCES += main.cpp
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 
 QMAKE_TARGET_DESCRIPTION = "Qt Resource Compiler"
 load(qt_tool)
diff --git a/qtbase/src/tools/tracegen/tracegen.pro b/qtbase/src/tools/tracegen/tracegen.pro
index 20f0bb2914..4730976e2f 100644
--- a/qtbase/src/tools/tracegen/tracegen.pro
+++ b/qtbase/src/tools/tracegen/tracegen.pro
@@ -18,4 +18,6 @@ HEADERS += \
     provider.h \
     qtheaders.h
 
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 load(qt_tool)
diff --git a/qtbase/src/tools/uic/uic.pro b/qtbase/src/tools/uic/uic.pro
index 1bf8ef8ad3..9e7a60c1f8 100644
--- a/qtbase/src/tools/uic/uic.pro
+++ b/qtbase/src/tools/uic/uic.pro
@@ -14,5 +14,7 @@ HEADERS += uic.h
 SOURCES += main.cpp \
            uic.cpp
 
+QMAKE_CXXFLAGS += -arch x86_64 -arch arm64
+QMAKE_LFLAGS += -arch x86_64 -arch arm64
 QMAKE_TARGET_DESCRIPTION = "Qt User Interface Compiler"
 load(qt_tool)
-- 
2.38.1.windows.1

