Merge #13665: [build] Add risc-v support to gitian
c4aecd1d80
Add risc-v 64-bit to gitian (Chun Kuan Lee)96dda8b058
[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
This commit is contained in:
commit
3c8d1ae153
12 changed files with 72 additions and 16 deletions
|
@ -8,15 +8,19 @@ architectures:
|
||||||
packages:
|
packages:
|
||||||
- "curl"
|
- "curl"
|
||||||
- "g++-aarch64-linux-gnu"
|
- "g++-aarch64-linux-gnu"
|
||||||
- "g++-7-aarch64-linux-gnu"
|
- "g++-8-aarch64-linux-gnu"
|
||||||
- "gcc-7-aarch64-linux-gnu"
|
- "gcc-8-aarch64-linux-gnu"
|
||||||
- "binutils-aarch64-linux-gnu"
|
- "binutils-aarch64-linux-gnu"
|
||||||
- "g++-arm-linux-gnueabihf"
|
- "g++-arm-linux-gnueabihf"
|
||||||
- "g++-7-arm-linux-gnueabihf"
|
- "g++-8-arm-linux-gnueabihf"
|
||||||
- "gcc-7-arm-linux-gnueabihf"
|
- "gcc-8-arm-linux-gnueabihf"
|
||||||
- "binutils-arm-linux-gnueabihf"
|
- "binutils-arm-linux-gnueabihf"
|
||||||
- "g++-7-multilib"
|
- "g++-riscv64-linux-gnu"
|
||||||
- "gcc-7-multilib"
|
- "g++-8-riscv64-linux-gnu"
|
||||||
|
- "gcc-8-riscv64-linux-gnu"
|
||||||
|
- "binutils-riscv64-linux-gnu"
|
||||||
|
- "g++-8-multilib"
|
||||||
|
- "gcc-8-multilib"
|
||||||
- "binutils-gold"
|
- "binutils-gold"
|
||||||
- "git"
|
- "git"
|
||||||
- "pkg-config"
|
- "pkg-config"
|
||||||
|
@ -34,9 +38,9 @@ files: []
|
||||||
script: |
|
script: |
|
||||||
|
|
||||||
WRAP_DIR=$HOME/wrapped
|
WRAP_DIR=$HOME/wrapped
|
||||||
HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu"
|
HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu"
|
||||||
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests"
|
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests"
|
||||||
FAKETIME_HOST_PROGS=""
|
FAKETIME_HOST_PROGS="gcc g++"
|
||||||
FAKETIME_PROGS="date ar ranlib nm"
|
FAKETIME_PROGS="date ar ranlib nm"
|
||||||
HOST_CFLAGS="-O2 -g"
|
HOST_CFLAGS="-O2 -g"
|
||||||
HOST_CXXFLAGS="-O2 -g"
|
HOST_CXXFLAGS="-O2 -g"
|
||||||
|
@ -69,12 +73,15 @@ script: |
|
||||||
function create_per-host_faketime_wrappers {
|
function create_per-host_faketime_wrappers {
|
||||||
for i in $HOSTS; do
|
for i in $HOSTS; do
|
||||||
for prog in ${FAKETIME_HOST_PROGS}; do
|
for prog in ${FAKETIME_HOST_PROGS}; do
|
||||||
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog}
|
if which ${i}-${prog}-8
|
||||||
echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
|
then
|
||||||
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
|
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog}
|
||||||
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
|
echo "REAL=\`which -a ${i}-${prog}-8 | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
|
||||||
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
|
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
|
||||||
chmod +x ${WRAP_DIR}/${i}-${prog}
|
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
|
||||||
|
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog}
|
||||||
|
chmod +x ${WRAP_DIR}/${i}-${prog}
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@ -100,7 +107,7 @@ script: |
|
||||||
rm -f ${WRAP_DIR}/${prog}
|
rm -f ${WRAP_DIR}/${prog}
|
||||||
cat << EOF > ${WRAP_DIR}/${prog}
|
cat << EOF > ${WRAP_DIR}/${prog}
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
REAL="`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1`"
|
REAL="`which -a ${prog}-8 | grep -v ${WRAP_DIR}/${prog} | head -1`"
|
||||||
for var in "\$@"
|
for var in "\$@"
|
||||||
do
|
do
|
||||||
if [ "\$var" = "-m32" ]; then
|
if [ "\$var" = "-m32" ]; then
|
||||||
|
@ -174,6 +181,7 @@ script: |
|
||||||
case $i in
|
case $i in
|
||||||
aarch64-*) : ;;
|
aarch64-*) : ;;
|
||||||
arm-*) : ;;
|
arm-*) : ;;
|
||||||
|
riscv64-*) : ;;
|
||||||
*) make ${MAKEOPTS} -C src check-symbols ;;
|
*) make ${MAKEOPTS} -C src check-symbols ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,10 @@ $(package)_config_opts=--disable-xkb --disable-static
|
||||||
$(package)_config_opts_linux=--with-pic
|
$(package)_config_opts_linux=--with-pic
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
|
||||||
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
$($(package)_autoconf)
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -10,6 +10,10 @@ define $(package)_set_vars
|
||||||
$(package)_config_opts_linux=--with-pic
|
$(package)_config_opts_linux=--with-pic
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
|
||||||
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
$($(package)_autoconf)
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -9,6 +9,10 @@ define $(package)_set_vars
|
||||||
$(package)_config_opts=--disable-static
|
$(package)_config_opts=--disable-static
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
|
||||||
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
$($(package)_autoconf)
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -10,6 +10,7 @@ $(package)_config_opts=--disable-static
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux &&\
|
||||||
sed "s/pthread-stubs//" -i configure
|
sed "s/pthread-stubs//" -i configure
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,11 @@ define $(package)_set_vars
|
||||||
$(package)_config_opts_linux=--with-pic
|
$(package)_config_opts_linux=--with-pic
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . &&\
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub gtest/build-aux
|
||||||
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
$($(package)_autoconf)
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -9,6 +9,10 @@ $(package)_config_opts=--disable-shared -without-tools --disable-sdltest
|
||||||
$(package)_config_opts_linux=--with-pic
|
$(package)_config_opts_linux=--with-pic
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub use
|
||||||
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
$($(package)_autoconf)
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -8,7 +8,7 @@ $(package)_dependencies=openssl zlib
|
||||||
$(package)_linux_dependencies=freetype fontconfig libxcb libX11 xproto libXext
|
$(package)_linux_dependencies=freetype fontconfig libxcb libX11 xproto libXext
|
||||||
$(package)_build_subdir=qtbase
|
$(package)_build_subdir=qtbase
|
||||||
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
||||||
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch fix_rcc_determinism.patch
|
$(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
|
||||||
|
|
||||||
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
||||||
$(package)_qttranslations_sha256_hash=9822084f8e2d2939ba39f4af4c0c2320e45d5996762a9423f833055607604ed8
|
$(package)_qttranslations_sha256_hash=9822084f8e2d2939ba39f4af4c0c2320e45d5996762a9423f833055607604ed8
|
||||||
|
@ -93,6 +93,7 @@ $(package)_config_opts_arm_linux += -platform linux-g++ -xplatform bitcoin-linux
|
||||||
$(package)_config_opts_i686_linux = -xplatform linux-g++-32
|
$(package)_config_opts_i686_linux = -xplatform linux-g++-32
|
||||||
$(package)_config_opts_x86_64_linux = -xplatform linux-g++-64
|
$(package)_config_opts_x86_64_linux = -xplatform linux-g++-64
|
||||||
$(package)_config_opts_aarch64_linux = -xplatform linux-aarch64-gnu-g++
|
$(package)_config_opts_aarch64_linux = -xplatform linux-aarch64-gnu-g++
|
||||||
|
$(package)_config_opts_riscv64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
|
||||||
$(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-"
|
$(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-"
|
||||||
$(package)_build_env = QT_RCC_TEST=1
|
$(package)_build_env = QT_RCC_TEST=1
|
||||||
$(package)_build_env += QT_RCC_SOURCE_DATE_OVERRIDE=1
|
$(package)_build_env += QT_RCC_SOURCE_DATE_OVERRIDE=1
|
||||||
|
@ -139,6 +140,7 @@ define $(package)_preprocess_cmds
|
||||||
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||||
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||||
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||||
|
patch -p1 -i $($(package)_patch_dir)/fix_riscv64_arch.patch &&\
|
||||||
echo "QMAKE_LINK_OBJECT_MAX = 10" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
|
echo "QMAKE_LINK_OBJECT_MAX = 10" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
|
||||||
echo "QMAKE_LINK_OBJECT_SCRIPT = object_script" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
|
echo "QMAKE_LINK_OBJECT_SCRIPT = object_script" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
|
||||||
sed -i.old "s|QMAKE_CFLAGS = |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
sed -i.old "s|QMAKE_CFLAGS = |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||||
|
|
|
@ -8,6 +8,10 @@ define $(package)_set_vars
|
||||||
$(package)_config_opts=--disable-shared
|
$(package)_config_opts=--disable-shared
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
|
||||||
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
$($(package)_autoconf)
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -9,6 +9,10 @@ define $(package)_set_vars
|
||||||
$(package)_config_opts_linux=--with-pic --disable-static
|
$(package)_config_opts_linux=--with-pic --disable-static
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
|
||||||
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
$($(package)_autoconf)
|
||||||
endef
|
endef
|
||||||
|
|
14
depends/patches/qt/fix_riscv64_arch.patch
Normal file
14
depends/patches/qt/fix_riscv64_arch.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
diff --git a/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h b/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||||
|
index 20bfd36..93729fa 100644
|
||||||
|
--- a/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||||
|
+++ b/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||||
|
@@ -65,7 +65,8 @@
|
||||||
|
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
|
||||||
|
defined(__SH4__) || defined(__alpha__) || \
|
||||||
|
defined(_MIPS_ARCH_MIPS32R2) || \
|
||||||
|
- defined(__AARCH64EL__)
|
||||||
|
+ defined(__AARCH64EL__) || defined(__aarch64__) || \
|
||||||
|
+ defined(__riscv)
|
||||||
|
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||||||
|
#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
|
||||||
|
#if defined(_WIN32)
|
|
@ -67,6 +67,8 @@ __asm(".symver log2f_old,log2f@GLIBC_2.2.5");
|
||||||
__asm(".symver log2f_old,log2f@GLIBC_2.4");
|
__asm(".symver log2f_old,log2f@GLIBC_2.4");
|
||||||
#elif defined(__aarch64__)
|
#elif defined(__aarch64__)
|
||||||
__asm(".symver log2f_old,log2f@GLIBC_2.17");
|
__asm(".symver log2f_old,log2f@GLIBC_2.17");
|
||||||
|
#elif defined(__riscv)
|
||||||
|
__asm(".symver log2f_old,log2f@GLIBC_2.27");
|
||||||
#endif
|
#endif
|
||||||
extern "C" float __wrap_log2f(float x)
|
extern "C" float __wrap_log2f(float x)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue