Skip to content

Commit 720b579

Browse files
committed
Merge #9646: depends: Fix cross build for qt5.7
b5f374f qt: fix build with zlib for target (Cory Fields) 8efa34f depends: add a zlib build (Cory Fields) 342eb96 build: find qt's renamed helper libs from 5.7 (Cory Fields)
2 parents 0fea960 + b5f374f commit 720b579

File tree

5 files changed

+43
-15
lines changed

5 files changed

+43
-15
lines changed

build-aux/m4/bitcoin_qt.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -473,8 +473,8 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[
473473
])
474474
475475
BITCOIN_QT_CHECK(AC_CHECK_LIB([z] ,[main],,AC_MSG_WARN([zlib not found. Assuming qt has it built-in])))
476-
BITCOIN_QT_CHECK(AC_CHECK_LIB([png] ,[main],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
477-
BITCOIN_QT_CHECK(AC_CHECK_LIB([jpeg] ,[main],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in])))
476+
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
477+
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([jpeg_create_decompress] ,[qtjpeg jpeg],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in])))
478478
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([pcre16_exec], [qtpcre pcre16],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in])))
479479
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([hb_ot_tags_from_script] ,[qtharfbuzzng harfbuzz],,AC_MSG_WARN([libharfbuzz not found. Assuming qt has it built-in or support is disabled])))
480480
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core] ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXCore not found)))

depends/packages/packages.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ packages:=boost openssl libevent zeromq
22
native_packages := native_ccache
33

44
qt_native_packages = native_protobuf
5-
qt_packages = qrencode protobuf
5+
qt_packages = qrencode protobuf zlib
66

77
qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
88
qt_i686_linux_packages:=$(qt_x86_64_linux_packages)

depends/packages/qt.mk

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ $(package)_download_path=http://download.qt.io/official_releases/qt/5.7/$($(pack
44
$(package)_suffix=opensource-src-$($(package)_version).tar.gz
55
$(package)_file_name=qtbase-$($(package)_suffix)
66
$(package)_sha256_hash=95f83e532d23b3ddbde7973f380ecae1bac13230340557276f75f2e37984e410
7-
$(package)_dependencies=openssl
7+
$(package)_dependencies=openssl zlib
88
$(package)_linux_dependencies=freetype fontconfig libxcb libX11 xproto libXext
99
$(package)_build_subdir=qtbase
1010
$(package)_qt_libs=corelib network widgets gui plugins testlib
@@ -73,7 +73,7 @@ $(package)_config_opts += -prefix $(host_prefix)
7373
$(package)_config_opts += -qt-libpng
7474
$(package)_config_opts += -qt-libjpeg
7575
$(package)_config_opts += -qt-pcre
76-
$(package)_config_opts += -qt-zlib
76+
$(package)_config_opts += -system-zlib
7777
$(package)_config_opts += -reduce-exports
7878
$(package)_config_opts += -static
7979
$(package)_config_opts += -silent
@@ -140,19 +140,22 @@ define $(package)_preprocess_cmds
140140
patch -p1 < $($(package)_patch_dir)/pidlist_absolute.patch && \
141141
patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \
142142
patch -p1 < $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
143-
echo "QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
144-
echo "QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
145-
echo "QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
146-
sed -i.old "s|QMAKE_CFLAGS = |QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
147-
sed -i.old "s|QMAKE_LFLAGS = |QMAKE_LFLAGS = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
148-
sed -i.old "s|QMAKE_CXXFLAGS = |QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf
143+
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
144+
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
145+
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
146+
sed -i.old "s|QMAKE_CFLAGS = |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
147+
sed -i.old "s|QMAKE_LFLAGS = |!host_build: QMAKE_LFLAGS = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
148+
sed -i.old "s|QMAKE_CXXFLAGS = |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf
149+
149150
endef
150151

151152
define $(package)_config_cmds
152153
export PKG_CONFIG_SYSROOT_DIR=/ && \
153154
export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
154155
export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \
155156
./configure $($(package)_config_opts) && \
157+
echo "host_build: QT_CONFIG ~= s/system-zlib/zlib" >> mkspecs/qconfig.pri && \
158+
echo "CONFIG += force_bootstrap" >> mkspecs/qconfig.pri && \
156159
$(MAKE) sub-src-clean && \
157160
cd ../qttranslations && ../qtbase/bin/qmake qttranslations.pro -o Makefile && \
158161
cd translations && ../../qtbase/bin/qmake translations.pro -o Makefile && cd ../.. &&\

depends/packages/zlib.mk

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package=zlib
2+
$(package)_version=1.2.11
3+
$(package)_download_path=http://www.zlib.net
4+
$(package)_file_name=$(package)-$($(package)_version).tar.gz
5+
$(package)_sha256_hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
6+
7+
define $(package)_set_vars
8+
$(package)_build_opts= CC="$($(package)_cc)"
9+
$(package)_build_opts+=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
10+
$(package)_build_opts+=AR="$($(package)_ar)"
11+
$(package)_build_opts+=RANLIB="$($(package)_ranlib)"
12+
endef
13+
14+
define $(package)_config_cmds
15+
./configure --static --prefix=$(host_prefix)
16+
endef
17+
18+
define $(package)_build_cmds
19+
$(MAKE) $($(package)_build_opts) libz.a
20+
endef
21+
22+
define $(package)_stage_cmds
23+
$(MAKE) DESTDIR=$($(package)_staging_dir) install $($(package)_build_opts)
24+
endef
25+

depends/patches/qt/mac-qmake.conf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ QMAKE_MAC_SDK.macosx.Path = $${MAC_SDK_PATH}
1414
QMAKE_MAC_SDK.macosx.platform_name = macosx
1515
QMAKE_MAC_SDK.macosx.SDKVersion = $${MAC_SDK_VERSION}
1616
QMAKE_MAC_SDK.macosx.PlatformPath = /phony
17-
QMAKE_CFLAGS += -target $${MAC_TARGET}
18-
QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS
19-
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
20-
QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION}
17+
!host_build: QMAKE_CFLAGS += -target $${MAC_TARGET}
18+
!host_build: QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS
19+
!host_build: QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
20+
!host_build: QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION}
2121
QMAKE_AR = $${CROSS_COMPILE}ar cq
2222
QMAKE_RANLIB=$${CROSS_COMPILE}ranlib
2323
QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool

0 commit comments

Comments
 (0)