check-all.sh

Wed, 21 Jan 2026 22:03:49 +0100

author
Mike Becker <universe@uap-core.de>
date
Wed, 21 Jan 2026 22:03:49 +0100
changeset 1700
d2a36d28c565
parent 1649
fef6bc928c87
permissions
-rwxr-xr-x

add extra test for compiling with a C++ compiler

981
723bbd868f35 add script to invoke make check with different configurations
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 #!/bin/sh
723bbd868f35 add script to invoke make check with different configurations
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2
1630
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
3 # determine number of processors
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
4 nproc=`nproc`
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
5
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
6 # backup config
1630
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
7 if [ -f config.mk ]; then
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
8 cp config.mk config.mk.bak
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
9 restore=1
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
10 else
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
11 restore=0
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
12 fi
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
13
1627
d643fec1b2d5 make check-all.sh faster by adding parallelization
Mike Becker <universe@uap-core.de>
parents: 1303
diff changeset
14 perform_check()
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
15 {
1627
d643fec1b2d5 make check-all.sh faster by adding parallelization
Mike Becker <universe@uap-core.de>
parents: 1303
diff changeset
16 make clean > /dev/null
1630
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
17 if ! make check -j$nproc > /dev/null ; then
981
723bbd868f35 add script to invoke make check with different configurations
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 echo "fail."
723bbd868f35 add script to invoke make check with different configurations
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 else
723bbd868f35 add script to invoke make check with different configurations
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 echo "ok."
723bbd868f35 add script to invoke make check with different configurations
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 fi
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
22 }
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
23
1627
d643fec1b2d5 make check-all.sh faster by adding parallelization
Mike Becker <universe@uap-core.de>
parents: 1303
diff changeset
24 perform_check_cxx()
988
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
25 {
1627
d643fec1b2d5 make check-all.sh faster by adding parallelization
Mike Becker <universe@uap-core.de>
parents: 1303
diff changeset
26 make clean > /dev/null
d643fec1b2d5 make check-all.sh faster by adding parallelization
Mike Becker <universe@uap-core.de>
parents: 1303
diff changeset
27 # we cannot mute the warnings, so throw away everything
1630
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
28 if ! make check-cxx -j$nproc > /dev/null 2> /dev/null ; then
988
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
29 echo "fail."
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
30 else
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
31 echo "ok."
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
32 fi
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
33 }
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
34
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
35 for cc in clang gcc; do
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
36 CC=$cc ./configure --debug > /dev/null
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
37 printf "Check $cc... "
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
38 perform_check
988
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
39 printf "Check $cc (c++)... "
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
40 perform_check_cxx
981
723bbd868f35 add script to invoke make check with different configurations
Mike Becker <universe@uap-core.de>
parents:
diff changeset
41 done
723bbd868f35 add script to invoke make check with different configurations
Mike Becker <universe@uap-core.de>
parents:
diff changeset
42
1700
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
43 for cxx in clang++ g++; do
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
44 printf "Check header errors/warnings with $cxx..."
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
45 if $cxx -o /dev/null -I src \
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
46 -Werror -Wall -Wextra -pedantic tests/cpptest.cpp ; then
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
47 echo "ok."
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
48 else
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
49 echo "fail."
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
50 fi
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
51 done
d2a36d28c565 add extra test for compiling with a C++ compiler
Mike Becker <universe@uap-core.de>
parents: 1649
diff changeset
52
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
53 printf "Check w/o szmul builtin... "
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
54 ./configure --debug --disable-szmul-builtin > /dev/null
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
55 perform_check
988
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
56 printf "Check w/o szmul builtin (c++)... "
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 987
diff changeset
57 perform_check_cxx
981
723bbd868f35 add script to invoke make check with different configurations
Mike Becker <universe@uap-core.de>
parents:
diff changeset
58
1109
89ec23988b88 free functions should not be inline in release mode - relates to #541
Mike Becker <universe@uap-core.de>
parents: 1017
diff changeset
59 printf "Check release config... "
89ec23988b88 free functions should not be inline in release mode - relates to #541
Mike Becker <universe@uap-core.de>
parents: 1017
diff changeset
60 ./configure --release > /dev/null
89ec23988b88 free functions should not be inline in release mode - relates to #541
Mike Becker <universe@uap-core.de>
parents: 1017
diff changeset
61 perform_check
89ec23988b88 free functions should not be inline in release mode - relates to #541
Mike Becker <universe@uap-core.de>
parents: 1017
diff changeset
62
1649
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
63 printf "Check gcc C17... "
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
64 CC=gcc CFLAGS=-std=gnu17 ./configure --debug > /dev/null
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
65 perform_check
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
66
1303
4022e403de60 C23 is not a preview any longer
Mike Becker <universe@uap-core.de>
parents: 1200
diff changeset
67 printf "Check gcc C23... "
1649
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
68 CC=gcc CFLAGS=-std=gnu23 ./configure --debug > /dev/null
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
69 perform_check
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
70
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
71 printf "Check clang C17 w/o GNU extensions... "
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
72 CC=clang CFLAGS=-std=c17 ./configure --debug --disable-qsort_r --disable-memrchr > /dev/null
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
73 perform_check
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
74
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
75 printf "Check clang C23 w/o GNU extensions... "
fef6bc928c87 add more checks to the check-all.sh
Mike Becker <universe@uap-core.de>
parents: 1630
diff changeset
76 CC=clang CFLAGS=-std=c23 ./configure --debug --disable-qsort_r --disable-memrchr > /dev/null
1017
b0098854071f add check for C23 compatibility
Mike Becker <universe@uap-core.de>
parents: 988
diff changeset
77 perform_check
b0098854071f add check for C23 compatibility
Mike Becker <universe@uap-core.de>
parents: 988
diff changeset
78
1630
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
79 # clean build files and rebuild with restored config
987
53e22f112b11 add configure option for szmul
Mike Becker <universe@uap-core.de>
parents: 981
diff changeset
80 make clean > /dev/null
1630
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
81 if [ $restore -eq 1 ]; then
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
82 mv config.mk.bak config.mk
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
83 make -j$nproc > /dev/null
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
84 else
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
85 rm config.mk
17ae70728139 check-all.sh now also works when nothing has been configured so far
Mike Becker <universe@uap-core.de>
parents: 1629
diff changeset
86 fi

mercurial