ci: add 32-bit travis builds
authorBruce Richardson <bruce.richardson@intel.com>
Tue, 19 Nov 2019 15:15:43 +0000 (15:15 +0000)
committerDavid Marchand <david.marchand@redhat.com>
Tue, 19 Nov 2019 21:23:31 +0000 (22:23 +0100)
Add a travis job to build for 32-bit on 64-bit systems to catch additional
build errors, for example, incorrect use of printf specifiers with uint64_t
types.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
.ci/linux-build.sh
.travis.yml

index 6075c44..c570ba2 100755 (executable)
@@ -23,6 +23,11 @@ if [ "$BUILD_DOCS" = "1" ]; then
     OPTS="$OPTS -Denable_docs=true"
 fi
 
+if [ "$BUILD_32BIT" = "1" ]; then
+    OPTS="$OPTS -Dc_args=-m32 -Dc_link_args=-m32"
+    export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig"
+fi
+
 OPTS="$OPTS --default-library=$DEF_LIB"
 meson build --werror -Dexamples=all $OPTS
 ninja -C build
index 3d6ef29..7b9fc68 100644 (file)
@@ -23,6 +23,10 @@ extra_packages: &extra_packages
   - *required_packages
   - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
 
+build_32b_packages: &build_32b_packages
+  - *required_packages
+  - [gcc-multilib]
+
 doc_packages: &doc_packages
   - [doxygen, graphviz, python3-sphinx]
 
@@ -37,6 +41,12 @@ env:
 
 matrix:
   include:
+  - env: DEF_LIB="static" BUILD_32BIT=1
+    compiler: gcc
+    addons:
+      apt:
+        packages:
+          - *build_32b_packages
   - env: DEF_LIB="static" OPTS="-Denable_kmods=false" AARCH64=1
     compiler: gcc
     addons: