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