#!/bin/sh

#
# This script computes the various flags needed to run GNU C++ testsuites
# (compiler specific as well as library specific). 
#
# Written by Benjamin Kosnik <bkoz@redhat.com>
#            Gabriel Dos Reis <gdr@codesourcery.com>
#

# Print a message saying how this script is intended to be invoked
print_usage() {
    cat <<EOF
Usage: 
    testsuite_flags --install-includes
		    --build-includes
		    --build-cxx
		    --build-cc
		    --install-cxx
		    --cxxflags
		    --cxxldflags
		    --cxxpchflags
		    --cxxvtvflags

EOF
}

# Establish configure-generated directory structure.
BUILD_DIR=@glibcxx_builddir@
SRC_DIR=@glibcxx_srcdir@
PREFIX_DIR=@glibcxx_prefixdir@
query=$1

case ${query} in
    --install-includes)
      INCLUDES="-I${SRC_DIR}/testsuite/util"
      echo ${INCLUDES}
      ;;
    --build-includes)
      INCLUDES="-nostdinc++ @GLIBCXX_INCLUDES@ 
                -I${SRC_DIR}/include/backward -I${SRC_DIR}/testsuite/util"
      echo ${INCLUDES}
      ;;
    --install-cxx)
      CXX=${PREFIX_DIR}/bin/g++
      echo ${CXX}
      ;;
    --build-cxx)
      CXX_build="@CXX@"
      CXX=`echo "$CXX_build" | sed 's,gcc/xgcc ,gcc/xg++ ,'`
      echo ${CXX}
      ;;
    --build-cc)
      CC_build="@CC@"
      CC="$CC_build"
      echo ${CC}
      ;;
    --cxxflags)
      CXXFLAGS_default="-fmessage-length=0 -fno-show-column"
      CXXFLAGS_config="@SECTION_FLAGS@ @EXTRA_CXX_FLAGS@"
      echo ${CXXFLAGS_default} ${CXXFLAGS_config} 
      ;;
    --cxxvtvflags)
      CXXFLAGS_vtv="@VTV_CXXFLAGS@"
      LDFLAGS_vtv="@VTV_CXXLINKFLAGS@"
      echo ${CXXFLAGS_vtv} ${LDFLAGS_vtv}
      ;;
    --cxxparallelflags)
      CXXFLAGS_parallel="-D_GLIBCXX_PARALLEL -fopenmp
			 -B${BUILD_DIR}/../libgomp 
                         -I${BUILD_DIR}/../libgomp 
			 -L${BUILD_DIR}/../libgomp/.libs -lgomp"
      echo ${CXXFLAGS_parallel}
      ;;
    --cxxpchflags)
      PCHFLAGS="@glibcxx_PCHFLAGS@"
      echo ${PCHFLAGS}
      ;;
    --cxxldflags)
      FS_LDFLAGS=
      BT_LDFLAGS=
      if [ -d ${BUILD_DIR}/src/filesystem/.libs ]; then
        FS_LDFLAGS=-L${BUILD_DIR}/src/filesystem/.libs
      fi
      if [ -d ${BUILD_DIR}/src/libbacktrace/.libs ]; then
        BT_LDFLAGS=-L${BUILD_DIR}/src/libbacktrace/.libs
      fi
      SECTIONLDFLAGS="@SECTION_LDFLAGS@ @LIBICONV@ $FS_LDFLAGS $BT_LDFLAGS"
      echo ${SECTIONLDFLAGS}
      ;;
    *)
      print_usage
      ;;
esac

exit 0
