Skip to content

Commit 1d6fda6

Browse files
author
MarcoFalke
committed
Merge #17678: depends: Support for S390X and POWER targets
1111324 depends: Support for S390X targets (MarcoFalke) 989fd53 depends: Support for 64-bit POWER targets (Luke Dashjr) Pull request description: Failure before: ``` $ make -C depends HOST=powerpc64-linux-gnu ... ERROR: Feature 'system-zlib' was enabled, but the pre-condition 'libs.zlib' failed. ERROR: Feature 'xcb' was enabled, but the pre-condition 'libs.xcb' failed. ERROR: Feature 'system-freetype' was enabled, but the pre-condition 'features.freetype && libs.freetype' failed. ERROR: Feature 'fontconfig' was enabled, but the pre-condition '!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig' failed. make: *** [funcs.mk:254: /bitcoin/depends/work/build/powerpc64-linux-gnu/qt/5.9.8-95548079095/qtbase/.stamp_configured] Error 3 $ make -C depends HOST=s390x-linux-gnu ... ERROR: Feature 'system-zlib' was enabled, but the pre-condition 'libs.zlib' failed. ERROR: Feature 'xcb' was enabled, but the pre-condition 'libs.xcb' failed. ERROR: Feature 'system-freetype' was enabled, but the pre-condition 'features.freetype && libs.freetype' failed. ERROR: Feature 'fontconfig' was enabled, but the pre-condition '!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig' failed. make: *** [funcs.mk:254: /bitcoin/depends/work/build/s390x-linux-gnu/qt/5.9.8-79c6d6ca6ec/qtbase/.stamp_configured] Error 3 ``` ACKs for top commit: laanwj: Code review ACK 1111324 dongcarl: tested ACK 1111324 practicalswift: ACK 1111324 -- diff looks correct Tree-SHA512: f990101ced0ed579168bb25762c1296c9b512c597bab924013af41832670a69ed786c6ec9b654c95fe064187797880a66c575395bc102a914c1bdb323ca7538a
2 parents ac09180 + 1111324 commit 1d6fda6

File tree

4 files changed

+19
-3
lines changed

4 files changed

+19
-3
lines changed

depends/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,7 @@ i686*
88
mips*
99
arm*
1010
aarch64*
11+
powerpc*
1112
riscv32*
1213
riscv64*
14+
s390x*

depends/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ $(host_prefix)/share/config.site: check-packages
191191
check-packages: check-sources
192192

193193
clean-all: clean
194-
@rm -rf $(SOURCES_PATH) x86_64* i686* mips* arm* aarch64* riscv32* riscv64*
194+
@rm -rf $(SOURCES_PATH) x86_64* i686* mips* arm* aarch64* powerpc* riscv32* riscv64* s390x*
195195

196196
clean:
197197
@rm -rf $(WORK_PATH) $(BASE_CACHE) $(BUILD)

depends/README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ For example:
1212

1313
make HOST=x86_64-w64-mingw32 -j4
1414

15-
**Bitcoin's configure script by default will ignore the depends output.** In
15+
**Bitcoin Core's configure script by default will ignore the depends output.** In
1616
order for it to pick up libraries, tools, and settings from the depends build,
1717
you must point it at the appropriate `--prefix` directory generated by the
1818
build. In the above example, a prefix dir named x86_64-w64-mingw32 will be
1919
created. To use it for Bitcoin:
2020

21-
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
21+
./configure --prefix=$PWD/depends/x86_64-w64-mingw32
2222

2323
Common `host-platform-triplets` for cross compilation are:
2424

@@ -28,8 +28,11 @@ Common `host-platform-triplets` for cross compilation are:
2828
- `x86_64-apple-darwin16` for macOS
2929
- `arm-linux-gnueabihf` for Linux ARM 32 bit
3030
- `aarch64-linux-gnu` for Linux ARM 64 bit
31+
- `powerpc64-linux-gnu` for Linux POWER 64-bit (big endian)
32+
- `powerpc64le-linux-gnu` for Linux POWER 64-bit (little endian)
3133
- `riscv32-linux-gnu` for Linux RISC-V 32 bit
3234
- `riscv64-linux-gnu` for Linux RISC-V 64 bit
35+
- `s390x-linux-gnu` for Linux S390X
3336
- `armv7a-linux-android` for Android ARM 32 bit
3437
- `aarch64-linux-android` for Android ARM 64 bit
3538
- `i686-linux-android` for Android x86 32 bit
@@ -61,13 +64,21 @@ For linux AARCH64 cross compilation:
6164

6265
sudo apt-get install g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
6366

67+
For linux POWER 64-bit cross compilation (there are no packages for 32-bit):
68+
69+
sudo apt-get install g++-powerpc64-linux-gnu binutils-powerpc64-linux-gnu g++-powerpc64le-linux-gnu binutils-powerpc64le-linux-gnu
70+
6471
For linux RISC-V 64-bit cross compilation (there are no packages for 32-bit):
6572

6673
sudo apt-get install g++-riscv64-linux-gnu binutils-riscv64-linux-gnu
6774

6875
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),
6976
this is apparently fixed in gcc-8.1.0.
7077

78+
For linux S390X cross compilation:
79+
80+
sudo apt-get install g++-s390x-linux-gnu binutils-s390x-linux-gnu
81+
7182
### Dependency Options
7283
The following can be set when running make: make FOO=bar
7384

depends/packages/qt.mk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,10 @@ $(package)_config_opts_arm_linux += -platform linux-g++ -xplatform bitcoin-linux
129129
$(package)_config_opts_i686_linux = -xplatform linux-g++-32
130130
$(package)_config_opts_x86_64_linux = -xplatform linux-g++-64
131131
$(package)_config_opts_aarch64_linux = -xplatform linux-aarch64-gnu-g++
132+
$(package)_config_opts_powerpc64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
133+
$(package)_config_opts_powerpc64le_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
132134
$(package)_config_opts_riscv64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
135+
$(package)_config_opts_s390x_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
133136

134137
$(package)_config_opts_mingw32 = -no-opengl
135138
$(package)_config_opts_mingw32 += -no-dbus

0 commit comments

Comments
 (0)