Checks cross-compilation using Ubuntu 20.04 x86 for LoongArch.

Signed-off-by: Min Zhou <zhou...@loongson.cn>
---
 .ci/linux-build.sh          | 10 ++++++++++
 .github/workflows/build.yml | 10 +++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 06104eca22..256cf9c400 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -66,6 +66,16 @@ if [ "$AARCH64" = "true" ]; then
     fi
 fi
 
+if [ "$LOONGARCH64" = "true" ]; then
+       cross_tools_tar="/tmp/loongarch64-clfs-5.1-cross-tools-gcc-glibc.tar.xz"
+       cross_tools_dir="/tmp/loongarch64-cross-tools"
+       rm -rf $cross_tools_dir
+       mkdir $cross_tools_dir
+       tar -xf $cross_tools_tar -C $cross_tools_dir --strip-components 1
+       export PATH=$PATH:$cross_tools_dir/bin
+       cross_file=config/loongarch/loongarch_loongarch64_linux_gcc
+fi
+
 if [ "$MINGW" = "true" ]; then
     cross_file=config/x86/cross-mingw
 fi
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index bf17d2b278..28c7906ecb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -22,6 +22,7 @@ jobs:
       CC: ccache ${{ matrix.config.compiler }}
       DEF_LIB: ${{ matrix.config.library }}
       LIBABIGAIL_VERSION: libabigail-1.8
+      LOONGARCH64: ${{ matrix.config.cross == 'loongarch64' }}
       MINGW: ${{ matrix.config.cross == 'mingw' }}
       MINI: ${{ matrix.config.mini != '' }}
       PPC64LE: ${{ matrix.config.cross == 'ppc64le' }}
@@ -67,6 +68,10 @@ jobs:
             compiler: gcc
             library: shared
             cross: aarch64
+          - os: ubuntu-20.04
+            compiler: gcc
+            library: shared
+            cross: loongarch64
           - os: ubuntu-20.04
             compiler: gcc
             library: static
@@ -118,7 +123,7 @@ jobs:
       run: sudo apt install -y ccache libnuma-dev python3-setuptools
         python3-wheel python3-pip python3-pyelftools ninja-build libbsd-dev
         libpcap-dev libibverbs-dev libcrypto++-dev libfdt-dev libjansson-dev
-        libarchive-dev
+        libarchive-dev wget
     - name: Install libabigail build dependencies if no cache is available
       if: env.ABI_CHECKS == 'true' && steps.libabigail-cache.outputs.cache-hit 
!= 'true'
       run: sudo apt install -y autoconf automake libtool pkg-config libxml2-dev
@@ -138,6 +143,9 @@ jobs:
     - name: Install riscv64 cross compiling packages
       if: env.RISCV64 == 'true'
       run: sudo apt install -y crossbuild-essential-riscv64
+    - name: Install loongarch64 cross compiling packages
+      if: env.LOONGARCH64 == 'true'
+      run: sudo wget -P /tmp/ 
https://github.com/loongson/build-tools/releases/download/2022.08.11/loongarch64-clfs-5.1-cross-tools-gcc-glibc.tar.xz
     - name: Install test tools packages
       if: env.AARCH64 != 'true' || env.PPC64LE != 'true' || env.RISCV64 != 
'true' || env.RUN_TESTS == 'true'
       run: sudo apt install -y gdb jq
-- 
2.31.1

Reply via email to