Christoph Niethammer
9e651b17c0
* testing availability of the compiler via version check ("CC --version") * compiling C++ program including the stdexcept header
52 lines
1.2 KiB
Bash
Executable file
52 lines
1.2 KiB
Bash
Executable file
#!/bin/bash -l
|
|
|
|
compilers="pgi gcc cray"
|
|
|
|
compiler_version_cmd() {
|
|
case $1 in
|
|
cray|gcc)
|
|
cmd="CC --version"
|
|
;;
|
|
pgi)
|
|
cmd="CC -V"
|
|
;;
|
|
*)
|
|
echo "Unknown compiler $1"
|
|
esac
|
|
echo $cmd
|
|
$cmd
|
|
}
|
|
|
|
compiler_check_stdexcept() {
|
|
cmd="CC stdexcept.cpp"
|
|
echo $cmd
|
|
$cmd
|
|
}
|
|
|
|
swap_env() {
|
|
currentPrgEnv=$(module li 2>&1 | awk '/PrgEnv/{print $2}')
|
|
if [ "$1" == gcc ] ; then
|
|
newPrgEnv="gnu"
|
|
else
|
|
newPrgEnv=$1
|
|
fi
|
|
module swap $currentPrgEnv PrgEnv-$newPrgEnv
|
|
}
|
|
|
|
|
|
pwd
|
|
|
|
for compiler in $compilers; do
|
|
for version in $(module av $compiler -l 2>&1 | awk "/^$compiler/{print \$1}" | awk -F'/' '{print $2}'); do
|
|
echo "--------------------------------------------------"
|
|
echo "testing $compiler/$version ..."
|
|
echo "--------------------------------------------------"
|
|
swap_env $compiler
|
|
module swap $compiler $compiler/$version
|
|
compiler_version_cmd $compiler
|
|
compiler_check_stdexcept $compiler
|
|
echo "--------------------------------------------------"
|
|
done
|
|
echo "--------------------------------------------------"
|
|
echo ""
|
|
done 2>&1 | tee compiler-test.log
|