From 11113247c323c5b98debcb512fb9db9fe5a8e7cf Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Thu, 5 Dec 2019 12:15:48 -0500 Subject: [PATCH] depends: Support for S390X targets --- depends/.gitignore | 1 + depends/Makefile | 2 +- depends/README.md | 9 +++++++-- depends/packages/qt.mk | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/depends/.gitignore b/depends/.gitignore index b91e31c91d..19c506ce54 100644 --- a/depends/.gitignore +++ b/depends/.gitignore @@ -11,3 +11,4 @@ aarch64* powerpc* riscv32* riscv64* +s390x* diff --git a/depends/Makefile b/depends/Makefile index 4784207191..5b0b0d9688 100644 --- a/depends/Makefile +++ b/depends/Makefile @@ -186,7 +186,7 @@ $(host_prefix)/share/config.site: check-packages check-packages: check-sources clean-all: clean - @rm -rf $(SOURCES_PATH) x86_64* i686* mips* arm* aarch64* powerpc* riscv32* riscv64* + @rm -rf $(SOURCES_PATH) x86_64* i686* mips* arm* aarch64* powerpc* riscv32* riscv64* s390x* clean: @rm -rf $(WORK_PATH) $(BASE_CACHE) $(BUILD) diff --git a/depends/README.md b/depends/README.md index 8f915aef36..0449d295fe 100644 --- a/depends/README.md +++ b/depends/README.md @@ -12,13 +12,13 @@ For example: make HOST=x86_64-w64-mingw32 -j4 -**Bitcoin's configure script by default will ignore the depends output.** In +**Bitcoin Core's configure script by default will ignore the depends output.** In order for it to pick up libraries, tools, and settings from the depends build, you must point it at the appropriate `--prefix` directory generated by the build. In the above example, a prefix dir named x86_64-w64-mingw32 will be created. To use it for Bitcoin: - ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32 + ./configure --prefix=$PWD/depends/x86_64-w64-mingw32 Common `host-platform-triplets` for cross compilation are: @@ -32,6 +32,7 @@ Common `host-platform-triplets` for cross compilation are: - `powerpc64le-linux-gnu` for Linux POWER 64-bit (little endian) - `riscv32-linux-gnu` for Linux RISC-V 32 bit - `riscv64-linux-gnu` for Linux RISC-V 64 bit +- `s390x-linux-gnu` for Linux S390X - `armv7a-linux-android` for Android ARM 32 bit - `aarch64-linux-android` for Android ARM 64 bit - `i686-linux-android` for Android x86 32 bit @@ -74,6 +75,10 @@ For linux RISC-V 64-bit cross compilation (there are no packages for 32-bit): RISC-V known issue: gcc-7.3.0 and gcc-7.3.1 result in a broken `test_bitcoin` executable (see https://github.com/bitcoin/bitcoin/pull/13543), this is apparently fixed in gcc-8.1.0. +For linux S390X cross compilation: + + sudo apt-get install g++-s390x-linux-gnu binutils-s390x-linux-gnu + ### Dependency Options The following can be set when running make: make FOO=bar diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 6f7d630f4c..4d45f55e2d 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -131,6 +131,7 @@ $(package)_config_opts_aarch64_linux = -xplatform linux-aarch64-gnu-g++ $(package)_config_opts_powerpc64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++ $(package)_config_opts_powerpc64le_linux = -platform linux-g++ -xplatform bitcoin-linux-g++ $(package)_config_opts_riscv64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++ +$(package)_config_opts_s390x_linux = -platform linux-g++ -xplatform bitcoin-linux-g++ $(package)_config_opts_mingw32 = -no-opengl $(package)_config_opts_mingw32 += -no-dbus