From 0ede3a466d0093a0e17ee9f6cf18f27ff8af682e Mon Sep 17 00:00:00 2001 From: Michel van Kessel Date: Wed, 24 Oct 2018 22:19:31 +0200 Subject: [PATCH 1/7] Update for ARM QT5 Build --- depends/packages/packages.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk index 088723ebd..47a7b5f58 100644 --- a/depends/packages/packages.mk +++ b/depends/packages/packages.mk @@ -6,6 +6,7 @@ qt_packages = qrencode protobuf zlib qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans qt_i686_linux_packages:=$(qt_x86_64_linux_packages) +qt_arm_linux_packages:=$(qt_x86_64_linux_packages) qt_darwin_packages=qt qt_mingw32_packages=qt From ea380e14b2278834de3e3488a2a41878308eeecb Mon Sep 17 00:00:00 2001 From: Michel van Kessel Date: Wed, 24 Oct 2018 22:32:51 +0200 Subject: [PATCH 2/7] Update ARM QT5 build additions --- depends/packages/qt.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 9d1fb100a..4fa741d42 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -98,7 +98,7 @@ $(package)_config_opts_linux += -system-freetype $(package)_config_opts_linux += -no-sm $(package)_config_opts_linux += -fontconfig $(package)_config_opts_linux += -no-opengl -$(package)_config_opts_arm_linux = -platform linux-g++ -xplatform $(host) +$(package)_config_opts_arm_linux = -platform linux-g++ -xplatform bitcoin-linux-g++ $(package)_config_opts_i686_linux = -xplatform linux-g++-32 $(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-" $(package)_build_env = QT_RCC_TEST=1 @@ -137,6 +137,8 @@ define $(package)_preprocess_cmds cp -f qtbase/mkspecs/macx-clang/Info.plist.app 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 -r qtbase/mkspecs/linux-arm-gnueabi-g++ qtbase/mkspecs/bitcoin-linux-g++ && \ + sed -i s/arm-linux-gnueabi-/$(host)-/g qtbase/mkspecs/bitcoin-linux-g++/qmake.conf && \ patch -p1 < $($(package)_patch_dir)/mingw-uuidof.patch && \ patch -p1 < $($(package)_patch_dir)/pidlist_absolute.patch && \ patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \ From 89e711dc50caeb9814bc2a1eab64fdb3c7dff9dd Mon Sep 17 00:00:00 2001 From: Michel van Kessel Date: Wed, 24 Oct 2018 22:37:39 +0200 Subject: [PATCH 3/7] Update for ARMv7l build support --- depends/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/depends/Makefile b/depends/Makefile index dedb0674c..71aa4ecb8 100644 --- a/depends/Makefile +++ b/depends/Makefile @@ -21,7 +21,6 @@ BUILD_ID_SALT ?= salt host:=$(BUILD) ifneq ($(HOST),) host:=$(HOST) -host_toolchain:=$(HOST)- endif ifneq ($(DEBUG),) From 47f5cf4a1940160b33b70e388c9454bec965b1ce Mon Sep 17 00:00:00 2001 From: Michel van Kessel Date: Wed, 24 Oct 2018 22:38:56 +0200 Subject: [PATCH 4/7] update for ARMv7l build support --- depends/hosts/default.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/depends/hosts/default.mk b/depends/hosts/default.mk index 6f60d6b3f..144e5f88b 100644 --- a/depends/hosts/default.mk +++ b/depends/hosts/default.mk @@ -1,3 +1,7 @@ +ifneq ($(host),$(build)) +host_toolchain:=$(host)- +endif + default_host_CC = $(host_toolchain)gcc default_host_CXX = $(host_toolchain)g++ default_host_AR = $(host_toolchain)ar From c0dee24764d3150bd218e8569c097e7c2634468c Mon Sep 17 00:00:00 2001 From: Michel van Kessel Date: Wed, 24 Oct 2018 22:40:57 +0200 Subject: [PATCH 5/7] update for ARMv7l build support --- depends/packages/openssl.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/depends/packages/openssl.mk b/depends/packages/openssl.mk index 5ee9f17a6..37f0c28a5 100644 --- a/depends/packages/openssl.mk +++ b/depends/packages/openssl.mk @@ -47,6 +47,7 @@ $(package)_config_opts_linux=-fPIC -Wa,--noexecstack $(package)_config_opts_x86_64_linux=linux-x86_64 $(package)_config_opts_i686_linux=linux-generic32 $(package)_config_opts_arm_linux=linux-generic32 +$(package)_config_opts_armv7l_linux=linux-generic32 $(package)_config_opts_aarch64_linux=linux-generic64 $(package)_config_opts_mipsel_linux=linux-generic32 $(package)_config_opts_mips_linux=linux-generic32 From f17aa119726a04f3cbed785ed1448da1038bdeb2 Mon Sep 17 00:00:00 2001 From: Michel van Kessel Date: Wed, 24 Oct 2018 22:44:59 +0200 Subject: [PATCH 6/7] depends: fix fontconfig with newer glibc #10851 --- depends/packages/fontconfig.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/depends/packages/fontconfig.mk b/depends/packages/fontconfig.mk index fb97e0b9e..12695db4b 100644 --- a/depends/packages/fontconfig.mk +++ b/depends/packages/fontconfig.mk @@ -13,7 +13,13 @@ define $(package)_config_cmds $($(package)_autoconf) endef +# 2.12.1 uses CHAR_WIDTH which is reserved and clashes with some glibc versions, but newer versions of fontconfig +# have broken makefiles which needlessly attempt to re-generate headers with gperf. +# Instead, change all uses of CHAR_WIDTH, and disable the rule that forces header re-generation. +# This can be removed once the upstream build is fixed. define $(package)_build_cmds + sed -i 's/CHAR_WIDTH/CHARWIDTH/g' fontconfig/fontconfig.h src/fcobjshash.gperf src/fcobjs.h src/fcobjshash.h && \ + sed -i 's/fcobjshash.h: fcobjshash.gperf/fcobjshash.h:/' src/Makefile && \ $(MAKE) endef From 672cd1f7e60975c2d3abb24a12f18bc9d7b89363 Mon Sep 17 00:00:00 2001 From: Michel van Kessel Date: Wed, 24 Oct 2018 23:06:05 +0200 Subject: [PATCH 7/7] revert commit --- depends/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/depends/Makefile b/depends/Makefile index 71aa4ecb8..dedb0674c 100644 --- a/depends/Makefile +++ b/depends/Makefile @@ -21,6 +21,7 @@ BUILD_ID_SALT ?= salt host:=$(BUILD) ifneq ($(HOST),) host:=$(HOST) +host_toolchain:=$(HOST)- endif ifneq ($(DEBUG),)