Skip to content

Commit 498fa16

Browse files
committed
build: document preprocessing steps in qt package
1 parent bd5d933 commit 498fa16

File tree

1 file changed

+34
-12
lines changed

1 file changed

+34
-12
lines changed

depends/packages/qt.mk

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -194,30 +194,52 @@ define $(package)_extract_cmds
194194
tar --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools
195195
endef
196196

197+
# Preprocessing steps work as follows:
198+
#
199+
# 1. Apply our patches to the extracted source. See each patch for more info.
200+
#
201+
# 2. Point to lrelease in qttools/bin/lrelease; otherwise Qt will look for it in
202+
# $(host)/native/bin/lrelease and not find it.
203+
#
204+
# 3. Create a macOS-Clang-Linux mkspec using our mac-qmake.conf.
205+
#
206+
# 4. After making a copy of the mkspec for the linux-arm-gnueabi host, named
207+
# bitcoin-linux-g++, replace instances of linux-arm-gnueabi with $(host). This
208+
# way we can generically support hosts like riscv64-linux-gnu, which Qt doesn't
209+
# ship a mkspec for. See it's usage in config_opts_* above.
210+
#
211+
# 5. Put our C, CXX and LD FLAGS into gcc-base.conf. Only used for non-host builds.
212+
#
213+
# 6. Do similar for the win32-g++ mkspec.
214+
#
215+
# 7. In clang.conf, swap out clang & clang++, for our compiler + flags. See #17466.
216+
#
217+
# 8. Adjust a regex in toolchain.prf, to accomodate Guix's usage of
218+
# CROSS_LIBRARY_PATH. See #15277.
197219
define $(package)_preprocess_cmds
198220
patch -p1 -i $($(package)_patch_dir)/freetype_back_compat.patch && \
199221
patch -p1 -i $($(package)_patch_dir)/fix_powerpc_libpng.patch && \
200-
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
201222
patch -p1 -i $($(package)_patch_dir)/drop_lrelease_dependency.patch && \
202-
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch &&\
223+
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
224+
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
225+
patch -p1 -i $($(package)_patch_dir)/fix_configure_mac.patch && \
226+
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
227+
patch -p1 -i $($(package)_patch_dir)/fix_rcc_determinism.patch && \
228+
patch -p1 -i $($(package)_patch_dir)/xkb-default.patch && \
229+
patch -p1 -i $($(package)_patch_dir)/fix_android_qmake_conf.patch && \
230+
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch && \
231+
patch -p1 -i $($(package)_patch_dir)/fix_riscv64_arch.patch && \
232+
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
233+
patch -p1 -i $($(package)_patch_dir)/fix_mingw_cross_compile.patch && \
234+
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
203235
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
204236
cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
205237
cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
206238
cp -r qtbase/mkspecs/linux-arm-gnueabi-g++ qtbase/mkspecs/bitcoin-linux-g++ && \
207239
sed -i.old "s/arm-linux-gnueabi-/$(host)-/g" qtbase/mkspecs/bitcoin-linux-g++/qmake.conf && \
208-
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch &&\
209-
patch -p1 -i $($(package)_patch_dir)/fix_configure_mac.patch &&\
210-
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch &&\
211-
patch -p1 -i $($(package)_patch_dir)/fix_rcc_determinism.patch &&\
212-
patch -p1 -i $($(package)_patch_dir)/xkb-default.patch &&\
213-
patch -p1 -i $($(package)_patch_dir)/fix_android_qmake_conf.patch &&\
214-
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch &&\
215240
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
216241
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
217242
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
218-
patch -p1 -i $($(package)_patch_dir)/fix_riscv64_arch.patch &&\
219-
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch &&\
220-
patch -p1 -i $($(package)_patch_dir)/fix_mingw_cross_compile.patch && \
221243
sed -i.old "s|QMAKE_CFLAGS += |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
222244
sed -i.old "s|QMAKE_CXXFLAGS += |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
223245
sed -i.old "0,/^QMAKE_LFLAGS_/s|^QMAKE_LFLAGS_|!host_build: QMAKE_LFLAGS = $($(package)_ldflags)\n&|" qtbase/mkspecs/win32-g++/qmake.conf && \

0 commit comments

Comments
 (0)