1ffeaf689SAlexander Kabaev#!/bin/sh
2ffeaf689SAlexander Kabaev
3ffeaf689SAlexander Kabaev#
4ffeaf689SAlexander Kabaev# This script computes the various flags needed to run GNU C++ testsuites
5ffeaf689SAlexander Kabaev# (compiler specific as well as library specific).
6ffeaf689SAlexander Kabaev#
7ffeaf689SAlexander Kabaev# Written by Benjamin Kosnik <[email protected]>
8ffeaf689SAlexander Kabaev#            Gabriel Dos Reis <[email protected]>
9ffeaf689SAlexander Kabaev#
10ffeaf689SAlexander Kabaev
11ffeaf689SAlexander Kabaev# Print a message saying how this script is intended to be invoked
12ffeaf689SAlexander Kabaevprint_usage() {
13ffeaf689SAlexander Kabaev    cat <<EOF
14ffeaf689SAlexander KabaevUsage: 
15ffeaf689SAlexander Kabaev    testsuite_flags --install-includes
16ffeaf689SAlexander Kabaev		    --build-includes
17ffeaf689SAlexander Kabaev		    --build-cxx
18ffeaf689SAlexander Kabaev		    --install-cxx
19ffeaf689SAlexander Kabaev		    --cxxflags
20ffeaf689SAlexander Kabaev		    --cxxpchflags
21*f8a1b7d9SAlexander Kabaev		    --cxxldflags
22ffeaf689SAlexander KabaevEOF
23ffeaf689SAlexander Kabaev}
24ffeaf689SAlexander Kabaev
25ffeaf689SAlexander Kabaev# Establish configure-generated directory structure.
26ffeaf689SAlexander KabaevBUILD_DIR=@glibcxx_builddir@
27ffeaf689SAlexander KabaevSRC_DIR=@glibcxx_srcdir@
28ffeaf689SAlexander KabaevPREFIX_DIR=@glibcxx_prefixdir@
29ffeaf689SAlexander Kabaevquery=$1
30ffeaf689SAlexander Kabaev
31ffeaf689SAlexander Kabaevcase ${query} in
32ffeaf689SAlexander Kabaev    --install-includes)
33*f8a1b7d9SAlexander Kabaev      INCLUDES="-I${SRC_DIR}/testsuite/util"
34ffeaf689SAlexander Kabaev      echo ${INCLUDES}
35ffeaf689SAlexander Kabaev      ;;
36ffeaf689SAlexander Kabaev    --build-includes)
37*f8a1b7d9SAlexander Kabaev      INCLUDES="-nostdinc++ @GLIBCXX_INCLUDES@
38*f8a1b7d9SAlexander Kabaev                -I${SRC_DIR}/include/backward -I${SRC_DIR}/testsuite/util"
39ffeaf689SAlexander Kabaev      echo ${INCLUDES}
40ffeaf689SAlexander Kabaev      ;;
41ffeaf689SAlexander Kabaev    --install-cxx)
42ffeaf689SAlexander Kabaev      CXX=${PREFIX_DIR}/bin/g++
43ffeaf689SAlexander Kabaev      echo ${CXX}
44ffeaf689SAlexander Kabaev      ;;
45ffeaf689SAlexander Kabaev    --build-cxx)
46ffeaf689SAlexander Kabaev      CXX_build="@CXX@"
47ffeaf689SAlexander Kabaev      CXX=`echo "$CXX_build" | sed 's,gcc/xgcc ,gcc/g++ ,'`
48ffeaf689SAlexander Kabaev      echo ${CXX}
49ffeaf689SAlexander Kabaev      ;;
50ffeaf689SAlexander Kabaev    --cxxflags)
51ffeaf689SAlexander Kabaev      CXXFLAGS_save="-g -O2 -D_GLIBCXX_ASSERT"
52*f8a1b7d9SAlexander Kabaev      CXXFLAGS_config='@SECTION_FLAGS@ -fmessage-length=0
53*f8a1b7d9SAlexander Kabaev 		      @CXXFLAGS@ @EXTRA_CXX_FLAGS@ '
54ffeaf689SAlexander Kabaev      echo ${CXXFLAGS_save} ${CXXFLAGS_config}
55ffeaf689SAlexander Kabaev      ;;
56ffeaf689SAlexander Kabaev    --cxxpchflags)
57ffeaf689SAlexander Kabaev      PCHFLAGS="@glibcxx_PCHFLAGS@"
58ffeaf689SAlexander Kabaev      echo ${PCHFLAGS}
59ffeaf689SAlexander Kabaev      ;;
60*f8a1b7d9SAlexander Kabaev    --cxxldflags)
61*f8a1b7d9SAlexander Kabaev      SECTIONLDFLAGS="@SECTION_LDFLAGS@"
62*f8a1b7d9SAlexander Kabaev      echo ${SECTIONLDFLAGS}
63*f8a1b7d9SAlexander Kabaev      ;;
64ffeaf689SAlexander Kabaev    *)
65*f8a1b7d9SAlexander Kabaev      print_usage
66ffeaf689SAlexander Kabaev      ;;
67ffeaf689SAlexander Kabaevesac
68ffeaf689SAlexander Kabaev
69ffeaf689SAlexander Kabaevexit 0
70