[v5,2/3] ci: add aarch64 clang cross-compilation builds

Message ID 1611244304-13773-3-git-send-email-juraj.linkes@pantheon.tech (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series aarch64 clang cross compilation |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Juraj Linkeš Jan. 21, 2021, 3:51 p.m. UTC
  Mirror the existing gcc jobs - build static and shared libs.
Use arm64_armv8_linux_clang_ubuntu1804 meson cross file.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
---
 .ci/linux-build.sh |  6 +++++-
 .travis.yml        | 18 ++++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)
  

Patch

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index d2c821adf..afa3689a0 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -32,7 +32,11 @@  install_libabigail() {
 
 if [ "$AARCH64" = "true" ]; then
     # convert the arch specifier
-    OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc"
+    if [ "$CC_FOR_BUILD" = "gcc" ]; then
+    	OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc"
+    elif [ "$CC_FOR_BUILD" = "clang" ]; then
+    	OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_clang_ubuntu1804"
+    fi
 fi
 
 if [ "$BUILD_DOCS" = "true" ]; then
diff --git a/.travis.yml b/.travis.yml
index 5aa7ad49f..ad6e956be 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,6 +21,10 @@  _aarch64_packages: &aarch64_packages
   - *required_packages
   - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
 
+_aarch64_clang_packages: &aarch64_clang_packages
+  - *required_packages
+  - [libgcc-7-dev-arm64-cross, libatomic1-arm64-cross, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
+
 _libabigail_build_packages: &libabigail_build_packages
   - [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev]
 
@@ -102,6 +106,20 @@  jobs:
       apt:
         packages:
           - *aarch64_packages
+  - env: DEF_LIB="static" AARCH64=true
+    arch: amd64
+    compiler: clang
+    addons:
+      apt:
+        packages:
+          - *aarch64_clang_packages
+  - env: DEF_LIB="shared" AARCH64=true
+    arch: amd64
+    compiler: clang
+    addons:
+      apt:
+        packages:
+          - *aarch64_clang_packages
   # aarch64 gcc jobs
   - env: DEF_LIB="static"
     arch: arm64