gcc/libstdc++-v3/scripts/check_compile

57 lines
1.1 KiB
Plaintext
Raw Normal View History

#!/usr/bin/env bash
# Script to do compilation-only testing.
# Invocation
# check_compile SRC_DIR BUILD_DIR
# 1: variables
#
SRC_DIR=$1
BUILD_DIR=$2
# Now that we've successfully translated the numerical option into
# a symbolic one, we can safely ignore it.
shift
# This has been true all along. Found out about it the hard way...
case $BASH_VERSION in
1*)
echo 'You need bash 2.x to run check_compile. Exiting.';
exit 1 ;;
*) ;;
esac
flags_script=$BUILD_DIR/scripts/testsuite_flags
INCLUDES=`$flags_script --build-includes`
PCH_FLAGS=`$flags_script --cxxpchflags`
FLAGS=`$flags_script --cxxflags`
TEST_FLAGS="-S"
COMPILER=`$flags_script --build-cxx`
CXX="$COMPILER $INCLUDES $PCH_FLAGS $FLAGS -Wfatal-errors $TEST_FLAGS"
echo "compile line is:"
echo $CXX
echo ""
TESTS_FILE="testsuite_files"
#mkdir binaries
UNIQUE_ID=0
for NAME in `cat $TESTS_FILE`
do
if $RUN; then
echo $NAME
OUTPUT_NAME=$UNIQUE_ID
$CXX $SRC_DIR/testsuite/$NAME -o $OUTPUT_NAME
if [ -f $OUTPUT_NAME ]; then
# mv $OUTPUT_NAME binaries
rm $OUTPUT_NAME
fi
let UNIQUE_ID+=1
fi
done
exit 0