1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/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
|