41 lines
835 B
Bash
Executable File
41 lines
835 B
Bash
Executable File
#!/bin/sh
|
||
|
||
# Copyright (c) 2023–2024 Emma Tebibyte <emma@tebibyte.media>
|
||
# SPDX-License-Identifier: FSFAP
|
||
#
|
||
# Copying and distribution of this file, with or without modification, are
|
||
# permitted in any medium without royalty provided the copyright notice and this
|
||
# notice are preserved. This file is offered as-is, without any warranty.
|
||
|
||
set -e
|
||
|
||
if ! ls Makefile >/dev/null 2>&1
|
||
then
|
||
printf '%s: Run this script in the root of the project.\n' "$0" 1>&2
|
||
exit 64 # sysexits.h(3) EX_USAGE
|
||
fi
|
||
|
||
make clean
|
||
./configure clean
|
||
./configure
|
||
|
||
for CC in cc \
|
||
clang \
|
||
gcc \
|
||
'zig cc'
|
||
do
|
||
export CC
|
||
|
||
command -v "$(printf '%s\n' "$CC" | cut -d ' ' -f1)" >/dev/null 2>&1 \
|
||
|| continue
|
||
|
||
printf '%s: %s: Testing build.\n' "$0" "$CC"
|
||
|
||
make CC="$CC" && printf '%s: Build successful.\n' "$0"
|
||
|
||
ls -lA build/bin
|
||
|
||
make clean
|
||
printf '\n'
|
||
done
|