#!/bin/bash set -eux ARCH=${1:-} if [ "$ARCH" = i386 ]; then # help apt to figure out replacing GI dependencies (we don't need them # anyway, but a lot of stuff is pre-installed in semaphore) sudo apt-get purge --auto-remove -y python3-gi gir1.2-glib-2.0 # library -dev packages are not co-installable for multiple architectures, # so this can't go into the setup step DEVPKGS=$(grep -o '[^ ]*-dev' tools/semaphore-prepare | sed 's/$/:i386/') sudo apt-get install -y --no-install-recommends gcc-multilib pkg-config:i386 glib-networking:i386 glib-networking-dbg:i386 libc6-dbg:i386 libglib2.0-0-dbg:i386 $DEVPKGS export CFLAGS=-m32 export LDFLAGS=-m32 elif [ -n "$ARCH" ]; then echo "Unknown architecture '$ARCH'" >&2 exit 1 fi gcc ./tools/careful-cat.c -o careful-cat ./autogen.sh --prefix=/usr --enable-strict --with-systemdunitdir=/tmp make -j2 V=1 all # only run distcheck on native arch if [ -z "$ARCH" ]; then make -j8 distcheck check-memory 2>&1 | ./careful-cat elif [ "$ARCH" = i386 ]; then linux32 make -j8 check check-memory 2>&1 | ./careful-cat fi