xref: /netbsd-src/external/gpl3/gcc.old/dist/libstdc++-v3/scripts/check_compile (revision c0a68be459da21030695f60d10265c2fc49758f8)
136ac495dSmrg#!/usr/bin/env bash
236ac495dSmrg
3*c0a68be4Smrg# Script to do compilation-only testing.
436ac495dSmrg
536ac495dSmrg# Invocation
6*c0a68be4Smrg# check_compile SRC_DIR BUILD_DIR
736ac495dSmrg
836ac495dSmrg# 1: variables
936ac495dSmrg#
1036ac495dSmrgSRC_DIR=$1
1136ac495dSmrgBUILD_DIR=$2
1236ac495dSmrg
1336ac495dSmrg# Now that we've successfully translated the numerical option into
1436ac495dSmrg# a symbolic one, we can safely ignore it.
1536ac495dSmrgshift
1636ac495dSmrg
1736ac495dSmrg# This has been true all along.  Found out about it the hard way...
1836ac495dSmrgcase $BASH_VERSION in
1936ac495dSmrg    1*)
20*c0a68be4Smrg	echo 'You need bash 2.x to run check_compile.  Exiting.';
2136ac495dSmrg	exit 1 ;;
2236ac495dSmrg    *)   ;;
2336ac495dSmrgesac
2436ac495dSmrg
2536ac495dSmrgflags_script=$BUILD_DIR/scripts/testsuite_flags
2636ac495dSmrgINCLUDES=`$flags_script --build-includes`
2736ac495dSmrgPCH_FLAGS=`$flags_script --cxxpchflags`
2836ac495dSmrgFLAGS=`$flags_script --cxxflags`
2936ac495dSmrgTEST_FLAGS="-S"
3036ac495dSmrgCOMPILER=`$flags_script --build-cxx`
3136ac495dSmrgCXX="$COMPILER $INCLUDES $PCH_FLAGS $FLAGS -Wfatal-errors $TEST_FLAGS"
3236ac495dSmrg
3336ac495dSmrgecho "compile line is:"
3436ac495dSmrgecho $CXX
3536ac495dSmrgecho ""
3636ac495dSmrg
3736ac495dSmrgTESTS_FILE="testsuite_files"
3836ac495dSmrg
3936ac495dSmrg#mkdir binaries
4036ac495dSmrgUNIQUE_ID=0
4136ac495dSmrg
4236ac495dSmrgfor NAME in `cat $TESTS_FILE`
4336ac495dSmrgdo
4436ac495dSmrg  if $RUN; then
4536ac495dSmrg    echo $NAME
4636ac495dSmrg    OUTPUT_NAME=$UNIQUE_ID
4736ac495dSmrg    $CXX $SRC_DIR/testsuite/$NAME -o $OUTPUT_NAME
4836ac495dSmrg    if [ -f $OUTPUT_NAME ]; then
4936ac495dSmrg#	mv $OUTPUT_NAME binaries
5036ac495dSmrg	rm $OUTPUT_NAME
5136ac495dSmrg    fi
5236ac495dSmrg    let UNIQUE_ID+=1
5336ac495dSmrg  fi
5436ac495dSmrgdone
5536ac495dSmrg
5636ac495dSmrgexit 0
57