check-all.sh

Fri, 19 Dec 2025 14:13:49 +0100

author
Mike Becker <universe@uap-core.de>
date
Fri, 19 Dec 2025 14:13:49 +0100
changeset 1630
17ae70728139
parent 1629
ac24ad6c8595
permissions
-rwxr-xr-x

check-all.sh now also works when nothing has been configured so far

#!/bin/sh

# determine number of processors
nproc=`nproc`

# backup config
if [ -f config.mk ]; then
  cp config.mk config.mk.bak
  restore=1
else
  restore=0
fi

perform_check()
{
  make clean > /dev/null
  if ! make check -j$nproc > /dev/null ; then
    echo "fail."
  else
    echo "ok."
  fi
}

perform_check_cxx()
{
  make clean > /dev/null
  # we cannot mute the warnings, so throw away everything
  if ! make check-cxx -j$nproc > /dev/null 2> /dev/null ; then
    echo "fail."
  else
    echo "ok."
  fi
}

for cc in clang gcc; do
  CC=$cc ./configure --debug > /dev/null
  printf "Check $cc... "
  perform_check
  printf "Check $cc (c++)... "
  perform_check_cxx
done

printf "Check w/o szmul builtin... "
./configure --debug --disable-szmul-builtin > /dev/null
perform_check
printf "Check w/o szmul builtin (c++)... "
perform_check_cxx

printf "Check release config... "
./configure --release > /dev/null
perform_check

printf "Check gcc C23... "
CC=gcc CFLAGS=-std=c23 ./configure --debug > /dev/null
perform_check

# clean build files and rebuild with restored config
make clean > /dev/null
if [ $restore -eq 1 ]; then
  mv config.mk.bak config.mk
  make -j$nproc > /dev/null
else
  rm config.mk
fi

mercurial