return 1
}
+cross_file=
+
if [ "$AARCH64" = "true" ]; then
if [ "${CC%%clang}" != "$CC" ]; then
- OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_clang_ubuntu"
+ cross_file=config/arm/arm64_armv8_linux_clang_ubuntu
else
- OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc"
+ cross_file=config/arm/arm64_armv8_linux_gcc
fi
fi
+if [ "$MINGW" = "true" ]; then
+ cross_file=config/x86/cross-mingw
+fi
+
if [ "$PPC64LE" = "true" ]; then
- OPTS="$OPTS --cross-file config/ppc/ppc64le-power8-linux-gcc-ubuntu"
+ cross_file=config/ppc/ppc64le-power8-linux-gcc-ubuntu
+fi
+
+if [ -n "$cross_file" ]; then
+ OPTS="$OPTS --cross-file $cross_file"
fi
if [ "$BUILD_DOCS" = "true" ]; then
export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig"
fi
-if [ "$DEF_LIB" = "static" ]; then
+if [ "$MINGW" = "true" ]; then
+ OPTS="$OPTS -Dexamples=helloworld"
+elif [ "$DEF_LIB" = "static" ]; then
OPTS="$OPTS -Dexamples=l2fwd,l3fwd"
else
OPTS="$OPTS -Dexamples=all"
meson build --werror $OPTS
ninja -C build
-if [ "$AARCH64" != "true" ] && [ "$PPC64LE" != "true" ]; then
+if [ -z "$cross_file" ]; then
failed=
configure_coredump
devtools/test-null.sh || failed="true"
CC: ccache ${{ matrix.config.compiler }}
DEF_LIB: ${{ matrix.config.library }}
LIBABIGAIL_VERSION: libabigail-1.8
+ MINGW: ${{ matrix.config.cross == 'mingw' }}
MINI: ${{ matrix.config.mini != '' }}
PPC64LE: ${{ matrix.config.cross == 'ppc64le' }}
REF_GIT_TAG: v22.03
compiler: gcc
library: static
cross: i386
+ - os: ubuntu-20.04
+ compiler: gcc
+ library: static
+ cross: mingw
- os: ubuntu-20.04
compiler: gcc
library: static
if: env.AARCH64 == 'true'
run: sudo apt install -y gcc-aarch64-linux-gnu libc6-dev-arm64-cross
pkg-config-aarch64-linux-gnu
+ - name: Install mingw cross compiling packages
+ if: env.MINGW == 'true'
+ run: sudo apt install -y mingw-w64 mingw-w64-tools
- name: Install ppc64le cross compiling packages
if: env.PPC64LE == 'true'
run: sudo apt install -y gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross