qt5base-lts/config.tests/unix/precomp.test
Thiago Macieira 1fcea11756 Fix enabling of precompiled headers on macOS
On macOS, the test script is passed the full path to the compiler, like
/usr/local/bin/icpc. That doesn't match "icpc".

Change-Id: I149e0540c00745fe8119fffd1463c87b8f6a89b2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-25 20:23:13 +00:00

55 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
PRECOMP_SUPPORT=no
COMPILER=$1
VERBOSE=$2
case "$COMPILER" in
*icpc)
cat >header.h <<EOF
#define HEADER_H
EOF
>header.cpp
cat >source.cpp <<EOF
#ifndef HEADER_H
#error no go
#endif
EOF
rm -f header.pchi
$COMPILER -pch-create header.pchi -include header.h -c header.cpp -o header.o >/dev/null 2>&1 \
&& $COMPILER -pch-use header.pchi -include header.h -c source.cpp -o source.o >/dev/null 2>&1 \
&& PRECOMP_SUPPORT=yes
rm -f header.h header.cpp source.cpp
rm -f header.pchi header.o source.o
;;
*g++*|c++|*qcc*)
case `"$COMPILER" -dumpversion 2>/dev/null` in
3.*)
;;
*)
>precomp_header.h
if $COMPILER -x c-header precomp_header.h >/dev/null 2>&1; then
$COMPILER -x c++-header precomp_header.h && PRECOMP_SUPPORT=yes
fi
rm -f precomp_header.h precomp_header.h.gch
;;
esac
;;
esac
# done
if [ "$PRECOMP_SUPPORT" != "yes" ]; then
[ "$VERBOSE" = "yes" ] && echo "Precompiled-headers support disabled."
exit 0
else
[ "$VERBOSE" = "yes" ] && echo "Precompiled-headers support enabled."
exit 1
fi