Skip to content

Commit 3c8d1ae

Browse files
committed
Merge #13665: [build] Add risc-v support to gitian
c4aecd1 Add risc-v 64-bit to gitian (Chun Kuan Lee) 96dda8b [depends] Add riscv qt depends support for cross compiling bitcoin-qt (Chun Kuan Lee) Pull request description: Based on ~#13660~ #13710 , add gitian tarball for RISC-V Tree-SHA512: 8db73545a2ea7fe03fa156598479335ea3c79aa3fb9c5cc44b8563094b1deb7c94d29c1dab47fac129dbfa2e3e774301b526474beeeb59c9b0087d3ea087dbd6
2 parents 885a45e + c4aecd1 commit 3c8d1ae

File tree

12 files changed

+72
-16
lines changed

12 files changed

+72
-16
lines changed

contrib/gitian-descriptors/gitian-linux.yml

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,19 @@ architectures:
88
packages:
99
- "curl"
1010
- "g++-aarch64-linux-gnu"
11-
- "g++-7-aarch64-linux-gnu"
12-
- "gcc-7-aarch64-linux-gnu"
11+
- "g++-8-aarch64-linux-gnu"
12+
- "gcc-8-aarch64-linux-gnu"
1313
- "binutils-aarch64-linux-gnu"
1414
- "g++-arm-linux-gnueabihf"
15-
- "g++-7-arm-linux-gnueabihf"
16-
- "gcc-7-arm-linux-gnueabihf"
15+
- "g++-8-arm-linux-gnueabihf"
16+
- "gcc-8-arm-linux-gnueabihf"
1717
- "binutils-arm-linux-gnueabihf"
18-
- "g++-7-multilib"
19-
- "gcc-7-multilib"
18+
- "g++-riscv64-linux-gnu"
19+
- "g++-8-riscv64-linux-gnu"
20+
- "gcc-8-riscv64-linux-gnu"
21+
- "binutils-riscv64-linux-gnu"
22+
- "g++-8-multilib"
23+
- "gcc-8-multilib"
2024
- "binutils-gold"
2125
- "git"
2226
- "pkg-config"
@@ -34,9 +38,9 @@ files: []
3438
script: |
3539
3640
WRAP_DIR=$HOME/wrapped
37-
HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu"
41+
HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu"
3842
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests"
39-
FAKETIME_HOST_PROGS=""
43+
FAKETIME_HOST_PROGS="gcc g++"
4044
FAKETIME_PROGS="date ar ranlib nm"
4145
HOST_CFLAGS="-O2 -g"
4246
HOST_CXXFLAGS="-O2 -g"
@@ -69,12 +73,15 @@ script: |
6973
function create_per-host_faketime_wrappers {
7074
for i in $HOSTS; do
7175
for prog in ${FAKETIME_HOST_PROGS}; do
72-
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog}
73-
echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
74-
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
75-
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
76-
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
77-
chmod +x ${WRAP_DIR}/${i}-${prog}
76+
if which ${i}-${prog}-8
77+
then
78+
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog}
79+
echo "REAL=\`which -a ${i}-${prog}-8 | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
80+
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
81+
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
82+
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
83+
chmod +x ${WRAP_DIR}/${i}-${prog}
84+
fi
7885
done
7986
done
8087
}
@@ -100,7 +107,7 @@ script: |
100107
rm -f ${WRAP_DIR}/${prog}
101108
cat << EOF > ${WRAP_DIR}/${prog}
102109
#!/usr/bin/env bash
103-
REAL="`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1`"
110+
REAL="`which -a ${prog}-8 | grep -v ${WRAP_DIR}/${prog} | head -1`"
104111
for var in "\$@"
105112
do
106113
if [ "\$var" = "-m32" ]; then
@@ -174,6 +181,7 @@ script: |
174181
case $i in
175182
aarch64-*) : ;;
176183
arm-*) : ;;
184+
riscv64-*) : ;;
177185
*) make ${MAKEOPTS} -C src check-symbols ;;
178186
esac
179187

depends/packages/libX11.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ $(package)_config_opts=--disable-xkb --disable-static
1010
$(package)_config_opts_linux=--with-pic
1111
endef
1212

13+
define $(package)_preprocess_cmds
14+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
15+
endef
16+
1317
define $(package)_config_cmds
1418
$($(package)_autoconf)
1519
endef

depends/packages/libXau.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ define $(package)_set_vars
1010
$(package)_config_opts_linux=--with-pic
1111
endef
1212

13+
define $(package)_preprocess_cmds
14+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
15+
endef
16+
1317
define $(package)_config_cmds
1418
$($(package)_autoconf)
1519
endef

depends/packages/libXext.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ define $(package)_set_vars
99
$(package)_config_opts=--disable-static
1010
endef
1111

12+
define $(package)_preprocess_cmds
13+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
14+
endef
15+
1216
define $(package)_config_cmds
1317
$($(package)_autoconf)
1418
endef

depends/packages/libxcb.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ $(package)_config_opts=--disable-static
1010
endef
1111

1212
define $(package)_preprocess_cmds
13+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux &&\
1314
sed "s/pthread-stubs//" -i configure
1415
endef
1516

depends/packages/protobuf.mk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ define $(package)_set_vars
1111
$(package)_config_opts_linux=--with-pic
1212
endef
1313

14+
define $(package)_preprocess_cmds
15+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . &&\
16+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub gtest/build-aux
17+
endef
18+
1419
define $(package)_config_cmds
1520
$($(package)_autoconf)
1621
endef

depends/packages/qrencode.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ $(package)_config_opts=--disable-shared -without-tools --disable-sdltest
99
$(package)_config_opts_linux=--with-pic
1010
endef
1111

12+
define $(package)_preprocess_cmds
13+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub use
14+
endef
15+
1216
define $(package)_config_cmds
1317
$($(package)_autoconf)
1418
endef

depends/packages/qt.mk

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,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
11-
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch fix_rcc_determinism.patch
11+
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch fix_rcc_determinism.patch fix_riscv64_arch.patch
1212

1313
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
1414
$(package)_qttranslations_sha256_hash=9822084f8e2d2939ba39f4af4c0c2320e45d5996762a9423f833055607604ed8
@@ -93,6 +93,7 @@ $(package)_config_opts_arm_linux += -platform linux-g++ -xplatform bitcoin-linux
9393
$(package)_config_opts_i686_linux = -xplatform linux-g++-32
9494
$(package)_config_opts_x86_64_linux = -xplatform linux-g++-64
9595
$(package)_config_opts_aarch64_linux = -xplatform linux-aarch64-gnu-g++
96+
$(package)_config_opts_riscv64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
9697
$(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-"
9798
$(package)_build_env = QT_RCC_TEST=1
9899
$(package)_build_env += QT_RCC_SOURCE_DATE_OVERRIDE=1
@@ -139,6 +140,7 @@ define $(package)_preprocess_cmds
139140
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
140141
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
141142
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
143+
patch -p1 -i $($(package)_patch_dir)/fix_riscv64_arch.patch &&\
142144
echo "QMAKE_LINK_OBJECT_MAX = 10" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
143145
echo "QMAKE_LINK_OBJECT_SCRIPT = object_script" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
144146
sed -i.old "s|QMAKE_CFLAGS = |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \

depends/packages/xproto.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ define $(package)_set_vars
88
$(package)_config_opts=--disable-shared
99
endef
1010

11+
define $(package)_preprocess_cmds
12+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
13+
endef
14+
1115
define $(package)_config_cmds
1216
$($(package)_autoconf)
1317
endef

depends/packages/xtrans.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ define $(package)_set_vars
99
$(package)_config_opts_linux=--with-pic --disable-static
1010
endef
1111

12+
define $(package)_preprocess_cmds
13+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
14+
endef
15+
1216
define $(package)_config_cmds
1317
$($(package)_autoconf)
1418
endef

0 commit comments

Comments
 (0)