aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libstdc++-v3/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libstdc++-v3/scripts')
-rwxr-xr-xgcc-4.4.3/libstdc++-v3/scripts/check_compile56
-rwxr-xr-xgcc-4.4.3/libstdc++-v3/scripts/check_performance95
-rwxr-xr-xgcc-4.4.3/libstdc++-v3/scripts/create_testsuite_files54
-rwxr-xr-xgcc-4.4.3/libstdc++-v3/scripts/extract_symvers59
-rw-r--r--gcc-4.4.3/libstdc++-v3/scripts/gen_bind_includers.pl30
-rw-r--r--gcc-4.4.3/libstdc++-v3/scripts/gen_includers.pl126
-rw-r--r--gcc-4.4.3/libstdc++-v3/scripts/gen_includers2.pl31
-rw-r--r--gcc-4.4.3/libstdc++-v3/scripts/make_exports.pl144
-rwxr-xr-xgcc-4.4.3/libstdc++-v3/scripts/make_graph.py576
-rwxr-xr-xgcc-4.4.3/libstdc++-v3/scripts/make_graphs.py160
-rw-r--r--gcc-4.4.3/libstdc++-v3/scripts/run_doxygen354
-rwxr-xr-xgcc-4.4.3/libstdc++-v3/scripts/testsuite_flags.in81
12 files changed, 0 insertions, 1766 deletions
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/check_compile b/gcc-4.4.3/libstdc++-v3/scripts/check_compile
deleted file mode 100755
index 76762e675..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/check_compile
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env bash
-
-# Script to do performance testing.
-
-# Invocation
-# check_performance 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_performance. 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
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/check_performance b/gcc-4.4.3/libstdc++-v3/scripts/check_performance
deleted file mode 100755
index 4e70106a0..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/check_performance
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env bash
-
-# Script to do performance testing.
-
-# Invocation
-# check_performance 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_performance. 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`
-THREAD_FLAG='-pthread'
-COMPILER=`$flags_script --build-cxx`
-SH_FLAG="-Wl,--rpath -Wl,$BUILD_DIR/../../gcc \
- -Wl,--rpath -Wl,$BUILD_DIR/src/.libs"
-ST_FLAG="-static"
-LINK=$SH_FLAG
-CXX="$COMPILER $INCLUDES $FLAGS $CXXFLAGS $LINK"
-LIBS="./libtestc++.a"
-TESTS_FILE="testsuite_files_performance"
-
-echo CXX is $CXX
-
-for NAME in `cat $TESTS_FILE`
-do
- RUN=true
- TESTNAME=$SRC_DIR/testsuite/$NAME
- FILE_NAME="`basename $NAME`"
- FILE_NAME="`echo $FILE_NAME | sed 's/.cc//g'`"
-
- # TEST_S == single thread
- # TEST_B == do both single and multi-thread
- # TEST_T == multi-thread
- for CYCLE in `sed -n 's,.*\(TEST_[SB][0-9]*\)$,\1,p' $TESTNAME`
- do
- RUN=false
- echo $NAME $CYCLE
- EXE_NAME="`echo $FILE_NAME-$CYCLE.exe`"
- $CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME
- if [ -f $EXE_NAME ]; then
- ./$EXE_NAME
- else
- echo "compile error:"
- echo "$CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME"
- fi
- done
-
- for CYCLE in `sed -n 's,.*\(TEST_[TB][0-9]*\)$,\1,p' $TESTNAME`
- do
- RUN=false
- echo $NAME $CYCLE thread
- EXE_NAME="`echo $FILE_NAME-$CYCLE.exe`"
- $CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME
- if [ -f $EXE_NAME ]; then
- ./$EXE_NAME
- else
- echo "compile error:"
- echo "$CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME"
- fi
- done
-
- if $RUN; then
- echo $NAME
- EXE_NAME="`echo $FILE_NAME.exe`"
- $CXX $TESTNAME $LIBS -o $EXE_NAME
- if [ -f $EXE_NAME ]; then
- ./$EXE_NAME >& tmp.$FILE_NAME
- else
- echo "compile error:"
- echo "$CXX $TESTNAME $LIBS -o $EXE_NAME"
- fi
- if [ -s tmp.$FILE_NAME ]; then
- mv tmp.$FILE_NAME $FILE_NAME.xml
- fi
- fi
-done
-
-exit 0
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/create_testsuite_files b/gcc-4.4.3/libstdc++-v3/scripts/create_testsuite_files
deleted file mode 100755
index edb9e4a2c..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/create_testsuite_files
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-
-# Constructs lists of source files (full pathnames) to test. Two
-# files are constructed: testsuite_files, which is used to test with
-# the default dg-runtest command, and testsuite_files_interactive,
-# which is used to test cases that require input to be entered. In
-# addition, both lists are pruned of wchar_t tests if the toolchain
-# under test does not support wchar_t functionality.
-#
-# We mimic the mkcheck script in that the first time this is run, all
-# existing files are listed in "testsuite_files" in the output
-# directory. Subsequent runs pull the list from that file, allowing
-# users to trim the list down to problematic tests, or just run
-# paticular directories or sub-directories of tests.
-#
-# Selecting individual tests can also be done with RUNTESTFLAGS, but
-# that doesn't really do all that we are trying to accomplish here.
-
-LC_ALL=C
-export LC_ALL
-
-# Both of these are in the appropriate testsuite subdirectories.
-srcdir="$1"
-outdir="$2"
-
-tmp="${TMPDIR:-/tmp}/ctt$$"
-tests_file_normal="$outdir/testsuite_files"
-tests_file_inter="$outdir/testsuite_files_interactive"
-tests_file_perf="$outdir/testsuite_files_performance"
-
-cd $srcdir
-# This is the ugly version of "everything but the current directory". It's
-# what has to happen when find(1) doesn't support -mindepth, or -xtype.
-dlist=`echo [0-9][0-9]*`
-dlist="$dlist abi backward ext performance tr1"
-find $dlist "(" -type f -o -type l ")" -name "*.cc" -print > $tmp.01
-find $dlist "(" -type f -o -type l ")" -name "*.c" -print > $tmp.02
-cat $tmp.01 $tmp.02 | sort > $tmp.1
-if test ! -s "$tmp.1"; then
- exit 1
-fi
-
-# Now filter out classes of tests. These classes are run using special rules.
-grep _xin $tmp.1 > $tests_file_inter
-grep -v _xin $tmp.1 > $tmp.4
-
-grep performance $tmp.4 > $tests_file_perf
-grep -v performance $tmp.4 > $tmp.5
-
-# ...more filters go here.
-cp $tmp.5 $tests_file_normal
-
-rm $tmp*
-exit 0
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/extract_symvers b/gcc-4.4.3/libstdc++-v3/scripts/extract_symvers
deleted file mode 100755
index 5a0f3659c..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/extract_symvers
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2002, 2003, 2009 Free Software Foundation, Inc.
-#
-# This file is part of the GNU ISO C++ Library. This library is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this library; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-
-if test ${#} -lt 2 || test $1 = '--help'; then
- echo "Usage: extract_symvers shared_lib output_file" 1>&2
- exit 1
-fi
-
-lib=$1
-output=$2
-
-# GNU binutils, somewhere after version 2.11.2, requires -W/--wide to avoid
-# default line truncation. -W is not supported and truncation did not occur
-# by default before that point.
-readelf="readelf --symbols"
-if readelf --help | grep -- --wide > /dev/null; then
- readelf="$readelf --wide"
-fi
-
-# This avoids weird sorting problems later.
-LC_ALL=C
-export LC_ALL
-LANG=C
-export LANG
-
-tmp=extract.$$
-
-${readelf} ${lib} |\
-sed -e 's/ \[<other>: [A-Fa-f0-9]*\] //' -e '/\.dynsym/,/^$/p;d' |\
-egrep -v ' (LOCAL|UND) ' |\
-awk '{ if ($4 == "FUNC" || $4 == "NOTYPE")
- printf "%s:%s\n", $4, $8;
- else if ($4 == "OBJECT")
- printf "%s:%s:%s\n", $4, $3, $8;
- }' | sort | uniq > $tmp 2>&1
-# else printf "Huh? What is %s?\n", $8;
-
-
-# I think we'll be doing some more with this file, but for now, dump.
-mv $tmp $output
-
-exit 0
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/gen_bind_includers.pl b/gcc-4.4.3/libstdc++-v3/scripts/gen_bind_includers.pl
deleted file mode 100644
index 52b11d283..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/gen_bind_includers.pl
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/perl -w
-use English;
-
-$max = shift @ARGV;
-
-$template_params = "typename _U1";
-$template_args = "_U1";
-$params = "_U1& __u1";
-$args = "__u1";
-
-for ($num_args = 2; $num_args <= $max; ++$num_args) {
- $template_params .= ", typename _U$num_args";
- $template_args .= ", _U$num_args";
- $params .= ", _U$num_args& __u$num_args";
- $args .= ", __u$num_args";
- print "#define _GLIBCXX_BIND_NUM_ARGS $num_args\n";
- print "#define _GLIBCXX_BIND_COMMA ,\n";
- print "#define _GLIBCXX_BIND_TEMPLATE_PARAMS $template_params\n";
- print "#define _GLIBCXX_BIND_TEMPLATE_ARGS $template_args\n";
- print "#define _GLIBCXX_BIND_PARAMS $params\n";
- print "#define _GLIBCXX_BIND_ARGS $args\n";
- print "#include _GLIBCXX_BIND_REPEAT_HEADER\n";
- print "#undef _GLIBCXX_BIND_ARGS\n";
- print "#undef _GLIBCXX_BIND_PARAMS\n";
- print "#undef _GLIBCXX_BIND_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_BIND_TEMPLATE_PARAMS\n";
- print "#undef _GLIBCXX_BIND_COMMA\n";
- print "#undef _GLIBCXX_BIND_NUM_ARGS\n";
- print "\n";
-}
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/gen_includers.pl b/gcc-4.4.3/libstdc++-v3/scripts/gen_includers.pl
deleted file mode 100644
index 477f02840..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/gen_includers.pl
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/usr/bin/perl -w
-use English;
-
-$max = shift @ARGV;
-
-$template_params = "typename _T1";
-$template_params_unnamed = "typename";
-$template_args = "_T1";
-$params = "_T1 __a1";
-$ref_params = "_T1& __a1";
-$args = "__a1";
-$bind_members = "_T1 _M_arg1;";
-$bind_members_init = "_M_arg1(__a1)";
-$mu_get_tuple_args = "::std::tr1::get<0>(__tuple)";
-$bind_v_template_args = "typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type";
-$bind_v_args = "_Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))";
-$tuple_add_cref = "typename __add_c_ref<_T1>::type __a1";
-$tuple_copy_init = "_M_arg1(__in._M_arg1)";
-$tuple_assign = "_M_arg1 = __in._M_arg1;";
-$template_params_null_class = "typename _T1 = _NullClass";
-$template_args_stripped = "typename __strip_reference_wrapper<_T1>::__type";
-$template_params_u = "typename _U1";
-$template_args_u = "_U1";
-$ref_wrap_params = "ref(__a1)";
-$ref_template_args = "_T1&";
-for ($num_args = 2; $num_args <= $max; ++$num_args) {
- $prev_args = $num_args - 1;
- $next_args = $num_args + 1;
- $template_params_shifted = $template_params;
- $template_args_shifted = $template_args;
- $params_shifted = $params;
- $args_shifted = $args;
- $template_params .= ", typename _T$num_args";
- $template_params_unnamed .= ", typename";
- $template_args .= ", _T$num_args";
- $params .= ", _T$num_args __a$num_args";
- $ref_params .=", _T$num_args& __a$num_args";
- $args .= ", __a$num_args";
- $bind_members .= " _T$num_args _M_arg$num_args;";
- $bind_members_init .= ", _M_arg$num_args(__a$num_args)";
- $mu_get_tuple_args .= ", ::std::tr1::get<$prev_args>(__tuple)";
- $bind_v_template_args .= ", typename result_of<_Mu<_T$num_args> _CV(_T$num_args, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type";
- $bind_v_args .= ", _Mu<_T$num_args>()(_M_arg$num_args, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))";
- $tuple_add_cref .= ", typename __add_c_ref<_T$num_args>::type __a$num_args";
- $tuple_copy_init .= ", _M_arg$num_args(__in._M_arg$num_args)";
- $tuple_assign .= " _M_arg$num_args = __in._M_arg$num_args;";
- $template_params_null_class .= ", typename _T$num_args = _NullClass";
- $template_args_stripped .= ", typename __strip_reference_wrapper<_T$num_args>::__type";
- $template_params_u .= ", typename _U$num_args";
- $template_args_u .= ", _U$num_args";
- $ref_wrap_params .= ", ref(__a$num_args)";
- $ref_template_args .= ", _T$num_args&";
-
- if ($num_args == $max) {
- print "#define _GLIBCXX_LAST_INCLUDE\n"
- }
- print "#define _GLIBCXX_NUM_ARGS $num_args\n";
- print "#define _GLIBCXX_COMMA ,\n";
- print "#define _GLIBCXX_TEMPLATE_PARAMS $template_params\n";
- print "#define _GLIBCXX_TEMPLATE_ARGS $template_args\n";
- print "#define _GLIBCXX_PARAMS $params\n";
- print "#define _GLIBCXX_REF_PARAMS $ref_params\n";
- print "#define _GLIBCXX_ARGS $args\n";
- print "#define _GLIBCXX_COMMA_SHIFTED ,\n";
- print "#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED $template_params_shifted\n";
- print "#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED $template_args_shifted\n";
- print "#define _GLIBCXX_PARAMS_SHIFTED $params_shifted\n";
- print "#define _GLIBCXX_ARGS_SHIFTED $args_shifted\n";
- print "#define _GLIBCXX_BIND_MEMBERS $bind_members\n";
- print "#define _GLIBCXX_BIND_MEMBERS_INIT $bind_members_init\n";
- print "#define _GLIBCXX_MU_GET_TUPLE_ARGS $mu_get_tuple_args\n";
- print "#define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) $bind_v_template_args\n";
- print "#define _GLIBCXX_BIND_V_ARGS $bind_v_args\n";
- print "#define _GLIBCXX_TUPLE_ADD_CREF $tuple_add_cref\n";
- print "#define _GLIBCXX_TUPLE_COPY_INIT $tuple_copy_init\n";
- print "#define _GLIBCXX_TUPLE_ASSIGN $tuple_assign\n";
- print "#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS $template_params_null_class\n";
- print "#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED $template_args_stripped\n";
- print "#define _GLIBCXX_TEMPLATE_PARAMS_U $template_params_u\n";
- print "#define _GLIBCXX_TEMPLATE_ARGS_U $template_args_u\n";
- print "#define _GLIBCXX_REF_WRAP_PARAMS $ref_wrap_params\n";
- print "#define _GLIBCXX_REF_TEMPLATE_ARGS $ref_template_args\n";
- print "#define _GLIBCXX_NUM_ARGS_PLUS_1 $next_args\n";
- print "#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T$next_args\n";
- print "#include _GLIBCXX_REPEAT_HEADER\n";
- print "#undef _GLIBCXX_T_NUM_ARGS_PLUS_1\n";
- print "#undef _GLIBCXX_NUM_ARGS_PLUS_1\n";
- print "#undef _GLIBCXX_REF_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_REF_WRAP_PARAMS\n";
- print "#undef _GLIBCXX_TEMPLATE_ARGS_U\n";
- print "#undef _GLIBCXX_TEMPLATE_PARAMS_U\n";
- print "#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED\n";
- print "#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS\n";
- print "#undef _GLIBCXX_TUPLE_ASSIGN\n";
- print "#undef _GLIBCXX_TUPLE_COPY_INIT\n";
- print "#undef _GLIBCXX_TUPLE_ADD_CREF\n";
- print "#undef _GLIBCXX_BIND_V_ARGS\n";
- print "#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_MU_GET_TUPLE_ARGS\n";
- print "#undef _GLIBCXX_BIND_MEMBERS_INIT\n";
- print "#undef _GLIBCXX_BIND_MEMBERS\n";
- print "#undef _GLIBCXX_ARGS_SHIFTED\n";
- print "#undef _GLIBCXX_PARAMS_SHIFTED\n";
- print "#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED\n";
- print "#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED\n";
- print "#undef _GLIBCXX_COMMA_SHIFTED\n";
- print "#undef _GLIBCXX_ARGS\n";
- print "#undef _GLIBCXX_REF_PARAMS\n";
- print "#undef _GLIBCXX_PARAMS\n";
- print "#undef _GLIBCXX_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_TEMPLATE_PARAMS\n";
- print "#undef _GLIBCXX_COMMA\n";
- print "#undef _GLIBCXX_NUM_ARGS\n";
- if ($num_args == $max) {
- print "#undef _GLIBCXX_LAST_INCLUDE\n"
- }
-}
-
-print "\n";
-print "#ifndef _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS\n";
-print "# define _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS $template_params\n";
-print "# define _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED $template_params_unnamed\n";
-print "# define _GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS $template_args\n";
-print "#endif\n";
-print "\n";
-
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/gen_includers2.pl b/gcc-4.4.3/libstdc++-v3/scripts/gen_includers2.pl
deleted file mode 100644
index 88e9becd1..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/gen_includers2.pl
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/perl -w
-use English;
-
-$max = shift @ARGV;
-
-$template_params = "typename _U1";
-$template_args = "_U1";
-$params = "_U1& __u1";
-$args = "__u1";
-
-for ($num_args = 2; $num_args <= $max; ++$num_args) {
- $template_params .= ", typename _U$num_args";
- $template_args .= ", _U$num_args";
- $params .= ", _U$num_args& __u$num_args";
- $args .= ", __u$num_args";
- print "#define _GLIBCXX_BIND_NUM_ARGS $num_args\n";
- print "#define _GLIBCXX_BIND_COMMA ,\n";
- print "#define _GLIBCXX_BIND_TEMPLATE_PARAMS $template_params\n";
- print "#define _GLIBCXX_BIND_TEMPLATE_ARGS $template_args\n";
- print "#define _GLIBCXX_BIND_PARAMS $params\n";
- print "#define _GLIBCXX_BIND_ARGS $args\n";
- print "#include _GLIBCXX_BIND_REPEAT_HEADER\n";
- print "#undef _GLIBCXX_BIND_ARGS\n";
- print "#undef _GLIBCXX_BIND_PARAMS\n";
- print "#undef _GLIBCXX_BIND_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_BIND_TEMPLATE_PARAMS\n";
- print "#undef _GLIBCXX_BIND_COMMA\n";
- print "#undef _GLIBCXX_BIND_NUM_ARGS\n";
- print "\n";
-}
-
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/make_exports.pl b/gcc-4.4.3/libstdc++-v3/scripts/make_exports.pl
deleted file mode 100644
index 7c9e4e31d..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/make_exports.pl
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/perl -w
-
-# This script takes two arguments, a version script and a dynamic library
-# (in that order), and prints a list of symbols to be exported from the
-# library.
-# It expects a 'nm' with the POSIX '-P' option, but everyone has one of
-# those, right? It also expects that symbol names have a leading underscore,
-# which is somewhat less likely.
-
-use File::Glob ':glob';
-use FileHandle;
-use IPC::Open2;
-
-# The glob patterns that are to be applied to the demangled name
-my @cxx_globs = ();
-# The glob patterns that apply directly to the name in the .o files
-my @globs = ();
-# The patterns for local variables (usually just '*').
-my @ignored = ();
-
-##########
-# Fill in the various glob arrays.
-
-# The next pattern will go into this array.
-my $glob = \@globs;
-my $symvers = shift;
-
-open F,$symvers or die $!;
-
-while (<F>) {
- chomp;
- # Lines of the form '} SOME_VERSION_NAME_1.0;'
- if (/^[ \t]*\}[ \tA-Z0-9_.a-z]*;[ \t]*$/) {
- $glob = \@globs;
- next;
- }
- # Comment and blank lines
- next if (/^[ \t]*\#/);
- next if (/^[ \t]*$/);
- # Lines of the form 'SOME_VERSION_NAME_1.1 {'
- next if (/^[A-Z0-9_. \t]*{$/);
- # Ignore 'global:'
- next if (/^[ \t]*global:$/);
- # After 'local:', globs should be ignored, they won't be exported.
- if (/^[ \t]*local:$/) {
- $glob = \@ignored;
- next;
- }
- # After 'extern "C++"', globs are C++ patterns
- if (/^[ \t]*extern \"C\+\+\"[ \t]*$/) {
- $glob = \@cxx_globs;
- next;
- }
- # Catch globs. Note that '{}' is not allowed in globs by this script,
- # so only '*' and '[]' are available.
- if (/^[ \t]*([^ \t;{}#]+);?[ \t]*$/) {
- my $ptn = $1;
- # Turn the glob into a regex by replacing '*' with '.*'.
- $ptn =~ s/\*/\.\*/g;
- push @$glob,$ptn;
- next;
- }
- # Important sanity check. This script can't handle lots of formats
- # that GNU ld can, so be sure to error out if one is seen!
- die "strange line `$_'";
-}
-close F;
-
-# Make 'if (1)' for debugging.
-if (0) {
- print "cxx:\n";
- (printf "%s\n",$_) foreach (@cxx_globs);
- print "globs:\n";
- (printf "%s\n", $_) foreach (@globs);
- print "ignored:\n";
- (printf "%s\n", $_) foreach (@ignored);
-}
-
-##########
-# Combine the arrays into single regular expressions
-# This cuts the time required from about 30 seconds to about 0.5 seconds.
-
-my $glob_regex = '^_(' . (join '|',@globs) . ')$';
-my $cxx_regex = (join '|',@cxx_globs);
-
-##########
-# Get all the symbols from the library, match them, and add them to a hash.
-
-my %export_hash = ();
-my $nm = $ENV{'NM_FOR_TARGET'} || "nm";
-# Process each symbol.
-print STDERR $nm.' -P '.(join ' ',@ARGV).'|';
-open NM,$nm.' -P '.(join ' ',@ARGV).'|' or die $!;
-# Talk to c++filt through a pair of file descriptors.
-open2(*FILTIN, *FILTOUT, "c++filt -_") or die $!;
-NAME: while (<NM>) {
- my $i;
- chomp;
-
- # nm prints out stuff at the start, ignore it.
- next if (/^$/);
- next if (/:$/);
- # Ignore undefined and local symbols.
- next if (/^([^ ]+) [Ua-z] /);
-
- # $sym is the name of the symbol, $noeh_sym is the same thing with
- # any '.eh' suffix removed.
- die "unknown nm output $_" if (! /^([^ ]+) [A-Z] /);
- my $sym = $1;
- my $noeh_sym = $sym;
- $noeh_sym =~ s/\.eh$//;
-
- # Maybe it matches one of the patterns based on the symbol in the .o file.
- if ($noeh_sym =~ /$glob_regex/) {
- $export_hash{$sym} = 1;
- next NAME;
- }
-
- # No? Well, maybe its demangled form matches one of those patterns.
- printf FILTOUT "%s\n",$noeh_sym;
- my $dem = <FILTIN>;
- chomp $dem;
- if ($dem =~ /$cxx_regex/) {
- $export_hash{$sym} = 2;
- next NAME;
- }
-
- # No? Well, then ignore it.
-}
-close NM or die "nm error";
-close FILTOUT or die "c++filt error";
-close FILTIN or die "c++filt error";
-
-##########
-# Print out the export file
-
-# Print information about generating this file
-print "# This is a generated file.\n";
-print "# It was generated by:\n";
-printf "# %s %s %s\n", $0, $symvers, (join ' ',@ARGV);
-
-foreach my $i (keys %export_hash) {
- printf "%s\n",$i or die;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/make_graph.py b/gcc-4.4.3/libstdc++-v3/scripts/make_graph.py
deleted file mode 100755
index 61e18be47..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/make_graph.py
+++ /dev/null
@@ -1,576 +0,0 @@
-#!/usr/bin/python
-
-import string
-import sys
-import re
-import os
-import platform
-import commands
-from Numeric import *
-from pychart import *
-from xml.dom import minidom
-
-class exception:
- pass
-
-
-def comp_platform_info(compiler):
- ret = '<ul>\n'
- so = commands.getstatusoutput('cat /proc/cpuinfo | grep \'cpu MHz\'')
- if so[0] == 0:
- ret += '<li>CPU speed - %s</li>\n' % so[1]
- so = commands.getstatusoutput('cat /proc/meminfo | grep \'MemTotal\'')
- if so[0] == 0:
- ret += '<li>Memory - %s</li>\n' % so[1]
- ret += '<li>Platform - %s</li>\n' % platform.platform()
- so = commands.getstatusoutput(compiler + ' --version')
- if so[0] == 0:
- ret += '<li>Compiler - %s</li>\n' % so[1]
- ret += '</ul>\n'
- return ret
-
-
-class res:
- """
- A 'structure' representing the results of a test.
- """
- def __init__(self, x_label, y_label, cntnr_list, cntnr_descs, res_sets):
- self.x_label = x_label
- self.y_label = y_label
- self.cntnr_list = cntnr_list
- self.cntnr_descs = cntnr_descs
- self.res_sets = res_sets
-
-
-class res_getter:
- """
- This class returns a res object for some test.
- """
- class __sorter:
- def __accum(self, results):
- total = 0
- for result in results:
- total = total + result[1]
- return total
-
- def sort(self, cntnr_list, res_sets):
- cntnrs_and_totals = []
- for cntnr in cntnr_list:
- results = res_sets[cntnr]
- total = self.__accum(results)
- cntnrs_and_totals.append((cntnr, total))
- by_total = lambda x,y: x[1] > y[1] and -1 or 1
- cntnrs_and_totals.sort(by_total)
- ret = []
- for cntnr_and_total in cntnrs_and_totals:
- cntnr = cntnr_and_total[0]
- ret.append(cntnr)
- return ret
-
- def __init__(self, test_infos_f_name):
- self.__test_to_container_res_sets = {}
- self.__test_to_f_names = {}
- tests_dat = minidom.parse(test_infos_f_name)
- for test in tests_dat.getElementsByTagName('test'):
- test_name = test.attributes['name'].value
- self.__test_to_f_names[test_name] = test.getElementsByTagName('file')[0].attributes['name'].value
- cntnr_list = []
- for cntnr in test.getElementsByTagName('cntnr'):
- cntnr_list.append(cntnr.attributes['name'].value)
- self.__test_to_container_res_sets[test_name] = cntnr_list
-
- def __get_label(self, tst_dat, label_name):
- label = tst_dat.getElementsByTagName(label_name)[0].firstChild.data
- label = string.strip(label, '\n')
- label = string.strip(label)
- return label
-
- def __parse_res_sets(self, f_name, cntnr_list):
- tst_dat = minidom.parse(f_name)
- x_label = self.__get_label(tst_dat, 'x_name')
- y_label = self.__get_label(tst_dat, 'y_name')
- parsed_container_list = tst_dat.getElementsByTagName('cntnr')
- res_sets = {}
- cntnr_descs = {}
- for cntnr in parsed_container_list:
- cntnr_name = cntnr.attributes["name"].value
- res_sets[cntnr_name] = []
- for cntnr in parsed_container_list:
- cntnr_name = cntnr.attributes["name"].value
- cntnr_desc = cntnr.getElementsByTagName('desc')
- if res_sets.has_key(cntnr_name):
- res_set = []
- result_list = cntnr.getElementsByTagName('result')
- for result in result_list:
- x = string.atol(result.attributes["x"].value)
- y = string.atof(result.attributes["y"].value)
- res_set.append((x, y))
- res_sets[cntnr_name] = res_set
- cntnr_descs[cntnr_name] = cntnr_desc[0]
- return (x_label, y_label, cntnr_descs, res_sets)
-
- def get(self, res_dir, test_name):
- cntnr_list = self.__test_to_container_res_sets[test_name]
- f_name = res_dir + '/' + self.__test_to_f_names[test_name]
- parsed = self.__parse_res_sets(f_name, cntnr_list)
- x_label = parsed[0]
- y_label = parsed[1]
- cntnr_descs = parsed[2]
- res_sets = parsed[3]
- cntnr_list = self.__sorter().sort(cntnr_list, res_sets)
- return res(x_label, y_label, cntnr_list, cntnr_descs, res_sets)
-
-
-class png_maker:
- """
- This class creates a png file from a result set.
- """
- class __style_chooser:
- def __init__(self):
- self.native_re = re.compile(r'n_(?:.*?)')
-
- self.native_tick_mark_0 = tick_mark.Circle(size = 4)
- self.native_tick_mark_1 = tick_mark.Square(size = 4)
- self.native_line_style_0 = line_style.T(color = color.black, width=2)
- self.native_line_style_1 = line_style.T(color = color.black, width=2)
-
- self.mask_re = re.compile(r'mask(?:.*?)')
- self.mod_re = re.compile(r'mod(?:.*?)')
-
- self.rb_tree_mmap_rb_tree_set_re = re.compile(r'rb_tree_mmap_rb_tree_set(?:.*?)')
- self.rb_tree_mmap_lu_mtf_set_re = re.compile(r'rb_tree_mmap_lu_mtf_set(?:.*?)')
-
- self.splay_re = re.compile(r'splay(?:.*?)')
- self.rb_tree_re = re.compile(r'rb_tree(?:.*?)')
- self.ov_tree_re = re.compile(r'ov_tree(?:.*?)')
- self.splay_tree_re = re.compile(r'splay_tree(?:.*?)')
-
- self.pat_trie_re = re.compile(r'pat_trie(?:.*?)')
-
- self.lc_1div8_1div2_re = re.compile(r'lc_1div8_1div2(?:.*?)')
- self.lc_1div8_1div1_re = re.compile(r'lc_1div8_1div1(?:.*?)')
- self.mcolc_1div2_re = re.compile(r'mcolc_1div2(?:.*?)')
-
- def choose(self, cntnr):
- if self.native_re.search(cntnr):
- if cntnr == 'n_pq_vector':
- return (self.native_tick_mark_1, self.native_line_style_1)
-
- return (self.native_tick_mark_0, self.native_line_style_0)
-
- # tick_mark predefined
- # square, circle3, dia, tri, dtri, star, plus5, x5, gray70dia, blackdtri, blackdia
- if self.mask_re.search(cntnr):
- clr = color.navy
- elif self.mod_re.search(cntnr):
- clr = color.green4
- elif self.rb_tree_mmap_rb_tree_set_re.search(cntnr):
- clr = color.mediumblue
- tm = tick_mark.square
- elif self.rb_tree_mmap_lu_mtf_set_re.search(cntnr) or cntnr == 'rc_binomial_heap':
- clr = color.gray50
- tm = tick_mark.dia
- elif self.splay_tree_re.search(cntnr) or cntnr == 'binomial_heap':
- clr = color.gray58
- tm = tick_mark.tri
- elif self.rb_tree_re.search(cntnr) or cntnr == 'binary_heap':
- clr = color.red3
- tm = tick_mark.dtri
- elif self.ov_tree_re.search(cntnr) or cntnr == 'thin_heap':
- clr = color.orangered1
- tm = tick_mark.star
- elif self.pat_trie_re.search(cntnr) or cntnr == 'pairing_heap':
- clr = color.blueviolet
- tm = tick_mark.plus5
- else:
- sys.stderr.write(cntnr + '\n')
- raise exception
-
- # mask / mod
- if cntnr.find('lc_1div8_1div') <> -1:
- if cntnr.find('mask') <> -1:
- # mask
- if self.lc_1div8_1div2_re.search(cntnr):
- if cntnr.find('nsth') <> -1:
- tm = tick_mark.x5
- else:
- tm = tick_mark.gray70dia
- if self.lc_1div8_1div1_re.search(cntnr):
- if cntnr.find('nsth') <> -1:
- tm = tick_mark.dia
- else:
- tm = tick_mark.circle3
- else:
- # mod
- if self.lc_1div8_1div2_re.search(cntnr):
- if cntnr.find('nsth') <> -1:
- tm = tick_mark.tri
- else:
- tm = tick_mark.square
- if self.lc_1div8_1div1_re.search(cntnr):
- if cntnr.find('nsth') <> -1:
- tm = tick_mark.dtri
- else:
- tm = tick_mark.star
-
- if self.mcolc_1div2_re.search(cntnr):
- tm = tick_mark.circle3
-
- return (tm, line_style.T(color = clr, width = 2))
-
-
- def __init__(self):
- self.__sc = self.__style_chooser()
- self.__mmap_re = re.compile('mmap_')
-
- def __container_label_name(self, cntnr):
- return self.__mmap_re.sub('\nmmap_\n', cntnr)
-
- def make(self, res, of_name):
- theme.output_format = 'png'
- theme.output_file = of_name
- theme.scale_factor = 2
-# theme.default_font_size = 5
- theme.use_color = 1
- theme.reinitialize()
- y_tick_interval = self.__get_y_tics(res)
- xaxis = axis.X(format = '/a90/hL%d',
- tic_interval = 200,
- label = res.x_label)
- yaxis = axis.Y(format = '%.2e',
- tic_interval = y_tick_interval,
- label = res.y_label)
- legend_lines = len(res.cntnr_list)
- legend_vloc = 50 + (legend_lines * 10)
- ar = area.T(x_axis = xaxis, y_axis = yaxis,
- legend = legend.T(loc=(0,-legend_vloc),
- frame_line_style=None,
- inter_row_sep=2),
- size=(240,110))
- plot_list = []
- for cntnr in res.cntnr_list:
- style = self.__sc.choose(cntnr)
- print cntnr
- pl = line_plot.T(label = self.__container_label_name(cntnr),
- data = res.res_sets[cntnr],
- tick_mark = style[0],
- line_style = style[1])
- plot_list.append(pl)
- for plot in plot_list:
- ar.add_plot(plot)
- ar.draw()
-
-
- def __get_y_tics(self, res):
- mx = 0
- for cntnr in res.cntnr_list:
- m = max(d[1] for d in res.res_sets[cntnr])
- mx = max(m, mx)
- return mx / 5
-
-
-
-def make_tt(s):
- return '<tt>' + s + '</tt>'
-
-def make_b(s):
- return '<b>' + s + '</b>'
-
-def make_ttb(s):
- return '<tt><b>' + s + '</b></tt>'
-
-def make_i(s):
- return '<i>' + s + '</i>'
-
-def make_pb_ds_class_href(c_name):
- return '<a href = "' + c_name + '.html">' + make_tt(c_name) + '</a>\n'
-
-def build_value_to_pb_ds_class_href(s_desc):
- value = s_desc.attributes['value'].value
- ret = make_pb_ds_class_href(value)
- return ret
-
-class hash_desc_to_html_builder:
- def build_specific_comb_hash_fn(self, s_desc):
- comb_hash_fn_desc = s_desc.getElementsByTagName('Comb_Hash_Fn')[0]
- ret = make_tt('Comb_Hash_Fn')
- ret = ret + ' = '
- ret = ret + build_value_to_pb_ds_class_href(comb_hash_fn_desc)
- return ret
-
- def __build_nom_denom(self, s_desc):
- nom_denom = s_desc.attributes['nom'].value + '/' + s_desc.attributes['denom'].value
- return make_i(nom_denom)
-
- def __build_lc_trigger_desc(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + make_i('&alpha;<sub>min</sub>')
- ret = ret + ' = ' + self.__build_nom_denom(s_desc.getElementsByTagName('alpha_min')[0])
- ret = ret + ' and ' + make_i('&alpha;<sub>max</sub>')
- ret = ret + ' = ' + self.__build_nom_denom(s_desc.getElementsByTagName('alpha_max')[0])
- return ret
-
- def build_specific_resize_policy(self, s_desc):
- ret = make_tt('Resize_Policy')
- ret = ret + ' = '
- resize_policy_desc = s_desc.getElementsByTagName('Resize_Policy')[0]
- ret = ret + build_value_to_pb_ds_class_href(resize_policy_desc)
- ret = ret + ' with ' + make_tt('Size_Policy')
- ret = ret + ' = '
- size_policy_desc = resize_policy_desc.getElementsByTagName('Size_Policy')[0]
- ret = ret + build_value_to_pb_ds_class_href(size_policy_desc)
- ret = ret + ', and ' + make_tt('Trigger_Policy')
- ret = ret + ' = '
- trigger_policy_desc = resize_policy_desc.getElementsByTagName('Trigger_Policy')[0]
- if trigger_policy_desc.attributes['value'].value == 'hash_load_check_resize_trigger':
- ret = ret + self.__build_lc_trigger_desc(trigger_policy_desc)
- else:
- raise exception
- return ret
-
-
-class cc_hash_desc_to_html_builder:
- def __init__(self):
- self.__hash_builder = hash_desc_to_html_builder()
-
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + 'with ' + self.__hash_builder.build_specific_comb_hash_fn(s_desc)
- ret = ret + ', and ' + self.__hash_builder.build_specific_resize_policy(s_desc)
- return ret
-
-
-class gp_hash_desc_to_html_builder:
- def __init__(self):
- self.__hash_builder = hash_desc_to_html_builder()
-
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + self.__hash_builder.build_specific_comb_hash_fn(s_desc)
- ret = ret + ', ' + self.__hash_builder.build_specific_resize_policy(s_desc)
- ret = ret + ', and ' + make_tt('Probe_Fn')
- ret = ret + ' = '
- probe_fn = s_desc.getElementsByTagName('Probe_Fn')[0].attributes['value'].value
- ret = ret + make_pb_ds_class_href(probe_fn)
- return ret
-
-
-class basic_tree_like_desc_to_html_builder:
- def build_tag(self, s_desc):
- ret = make_tt('Tag')
- ret = ret + ' = '
- tag_desc = s_desc.getElementsByTagName('Tag')[0]
- ret = ret + build_value_to_pb_ds_class_href(tag_desc)
- return ret
-
- def build_node_update(self, s_desc):
- ret = make_tt('Node_Update')
- ret = ret + ' = '
- node_update_desc = s_desc.getElementsByTagName('Node_Update')[0]
- ret = ret + build_value_to_pb_ds_class_href(node_update_desc)
- return ret
-
-
-class basic_tree_desc_to_html_builder:
- def __init__(self):
- self.__tree_like_builder = basic_tree_like_desc_to_html_builder()
-
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + self.__tree_like_builder.build_tag(s_desc)
- ret = ret + ', and ' + self.__tree_like_builder.build_node_update(s_desc)
- return ret
-
-
-class basic_trie_desc_to_html_builder:
- def __init__(self):
- self.__tree_like_builder = basic_tree_like_desc_to_html_builder()
-
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + self.__tree_like_builder.build_tag(s_desc)
- ret = ret + ', and ' + self.__tree_like_builder.build_node_update(s_desc)
- return ret
-
-class lu_desc_to_html_builder:
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + make_tt('Update_Policy')
- ret = ret + ' = '
- update_policy_desc = s_desc.getElementsByTagName('Update_Policy')[0]
- ret = ret + build_value_to_pb_ds_class_href(update_policy_desc)
- return ret
-
-
-class std_desc_to_html_builder:
- def build(self, s_desc):
- value = s_desc.attributes['value'].value
- return make_tt(value.replace('std_', 'std::'))
-
-
-class std_tr1_desc_to_html_builder:
- def build(self, s_desc):
- value = s_desc.attributes['value'].value
- ret = make_tt(value.replace('std_tr1_', 'std::tr1::'))
- ret = ret + ' with ' + make_tt('cache_hash_code')
- ret = ret + ' = '
- cache_hash_code = s_desc.getElementsByTagName('cache_hash_code')[0].attributes['value'].value
- ret = ret + make_ttb(cache_hash_code)
- return ret
-
-class gnucxx_desc_to_html_builder:
- def build(self, s_desc):
- value = s_desc.attributes['value'].value
- return make_tt(value.replace('__gnucxx_', '__gnucxx::'))
-
-class stdext_desc_to_html_builder:
- def build(self, s_desc):
- value = s_desc.attributes['value'].value
- return make_tt(value.replace('stdext_', 'stdext::'))
-
-class npq_desc_to_html_builder:
- def build(self, vector):
- if vector:
- under = make_tt('std::vector')
- else:
- under = make_tt('std::deque')
-
- return make_tt('std::priority_queue') + ' adapting ' + under
-
-class binary_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('binary_heap_tag')
- return ret
-
-class thin_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('thin_heap_tag')
- return ret
-
-class binomial_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('binomial_heap_tag')
- return ret
-
-class rc_binomial_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('rc_binomial_heap_tag')
- return ret
-
-class pairing_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('pairing_heap_tag')
- return ret
-
-class legend_desc_builder:
- """
- Returns a string corresponding to a specific container type.
- """
- def __init__(self):
- self.__cc_hash_builder = cc_hash_desc_to_html_builder()
- self.__gp_hash_builder = gp_hash_desc_to_html_builder()
- self.__basic_tree_builder = basic_tree_desc_to_html_builder()
- self.__basic_trie_builder = basic_trie_desc_to_html_builder()
- self.__lu_builder = lu_desc_to_html_builder()
- self.__std_builder = std_desc_to_html_builder()
- self.__std_tr1_builder = std_tr1_desc_to_html_builder()
- self.__gnucxx_builder = gnucxx_desc_to_html_builder()
- self.__stdext_builder = stdext_desc_to_html_builder()
- self.__npq_builder = npq_desc_to_html_builder()
- self.__thin_heap_builder = thin_heap_desc_to_html_builder()
- self.__thin_heap_builder = thin_heap_desc_to_html_builder()
- self.__binary_heap_builder = binary_heap_desc_to_html_builder()
- self.__binomial_heap_builder = binomial_heap_desc_to_html_builder()
- self.__rc_binomial_heap_builder = rc_binomial_heap_desc_to_html_builder()
- self.__pairing_heap_builder = pairing_heap_desc_to_html_builder()
-
- def __build_specific(self, s_desc):
- type = s_desc.attributes['value'].value
-
- if type == 'thin_heap':
- return self.__thin_heap_builder.build(s_desc)
- if type == 'binary_heap':
- return self.__binary_heap_builder.build(s_desc)
- if type == 'binomial_heap':
- return self.__binomial_heap_builder.build(s_desc)
- if type == 'rc_binomial_heap':
- return self.__rc_binomial_heap_builder.build(s_desc)
- if type == 'pairing_heap':
- return self.__pairing_heap_builder.build(s_desc)
- if type == 'cc_hash_table':
- ret = self.__cc_hash_builder.build(s_desc)
- elif type == 'gp_hash_table':
- ret = self.__gp_hash_builder.build(s_desc)
- elif type == 'tree':
- ret = self.__basic_tree_builder.build(s_desc)
- elif type == 'trie':
- ret = self.__basic_trie_builder.build(s_desc)
- elif type == 'list_update':
- ret = self.__lu_builder.build(s_desc)
- elif type == 'std::priority_queue_vector':
- return self.__npq_builder.build(True)
- elif type == 'std::priority_queue_deque':
- return self.__npq_builder.build(False)
- elif type == 'std_set' or type == 'std_map' or type == 'std_multimap':
- return self.__std_builder.build(s_desc)
- elif type == 'std_tr1_unordered_set' or type == 'std_tr1_unordered_map':
- return self.__std_tr1_builder.build(s_desc)
- elif type == 'stdext_hash_set' or type == 'stdext_hash_map' or type == 'stdext_hash_multimap':
- return self.__stdext_builder.build(s_desc)
- elif type == '__gnucxx_hash_set' or type == '__gnucxx_hash_map' or type == '__gnucxx_hash_multimap':
- return self.__gnucxx_builder.build(s_desc)
- else:
- sys.stderr.write('cannot recognize %s\n' % type)
- raise exception
- return ret
-
-
- def build(self, desc):
- s_descs = desc.getElementsByTagName('type')
- if s_descs.length == 0:
- print desc.toxml()
- raise exception
- ret = ''
- count = 0
- for s_desc in s_descs:
- if count > 0:
- ret = ret + ', mapping each key to '
- ret = ret + self.__build_specific(s_desc)
- count = count + 1
- return ret
-
-
-def main(doc_dir, res_dir, test_infos_f_name, test_name, build_name):
- res_gtr = res_getter(test_infos_f_name)
- res = res_gtr.get(res_dir, test_name)
- png_mkr = png_maker()
- png_of_name = doc_dir + '/' + test_name + '_' + build_name + '.png'
- print png_of_name
- png_mkr.make(res, png_of_name)
-
-
-if __name__ == "__main__":
- """
- This module takes 6 parameters from the command line:
- Docs directory
- Results directory
- Tests info XML file name
- Test name
- Build name
- Compiler name
- """
- usg = "make_graph.py <doc_dir> <res_dir> <test_info_file> <test_name> <build_name>\n"
- if len(sys.argv) != 6:
- sys.stderr.write(usg)
- raise exception
- main(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5])
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/make_graphs.py b/gcc-4.4.3/libstdc++-v3/scripts/make_graphs.py
deleted file mode 100755
index e230e7a99..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/make_graphs.py
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import commands
-import re
-from xml.dom import minidom
-from BeautifulSoup import BeautifulSoup
-import make_graph
-
-class exception:
- pass
-
-res_div_re = re.compile('(.*?)_res_div')
-settings_div_re = re.compile('(.*?)_settings_div')
-
-
-gray_border_div_str = '<div style = "border-style: dotted; border-width: 1px; border-color: lightgray">'
-space_div_str = '<div style = "width: 100%; height: 20px">'
-
-
-
-def logical_build_from_build(build):
- if build == 'gcc':
- return 'g++'
- if build == 'msvc':
- return 'msvc++'
- if build == 'local':
- return 'local'
- sys.stderr.write(build)
- raise exception
-
-
-def img_title_from_origs(label, title, base_build_ref, build_name, logical_build_name):
- title = title.replace('_tt_', '<tt>')
- title = title.replace('_455tt_', '</tt>')
- title = title.replace('_b_', '<b>')
- title = title.replace('_455b_', '</b>')
- title = title.replace('_456', ',')
- title = title.replace('_457', '[]')
- title = title.replace('_', ' ')
- return '%s: %s - <a href = "%s_performance_tests.html#%s">%s</a>' % (
- label,
- title,
- base_build_ref,
- build_name,
- logical_build_name)
-
-
-def make_png(src_dir, doc_dir, res_dir, tests_info_xml_f_name, build_name, test_name):
- cmd_str = '%s/scripts/make_graph.py %s %s %s %s %s' % (
- src_dir, doc_dir,
- res_dir,
- tests_info_xml_f_name,
- test_name,
- build_name)
- # Must start a new process for pychart - otherwise pngs overlap.
- so = commands.getstatusoutput(cmd_str)
- if(so[0] != 0):
- sys.stderr.write(cmd_str + '\n')
- sys.stderr.write(so[1] + '\n')
- sys.exit(-1)
-
-
-def make_png_str(label, test_name, build):
- ret = '<h6 class="c1">'
- ret += '<a name="%s" id= "%s">' % (label, label)
- ret += '<img src="%s" ' % (test_name + '_' + build + '.png')
- ret += 'alt="no image" />'
- ret += '</a></h6>'
- return ret
-
-def process_html(html_f_name, src_dir, build_dir, htmls_xml_f_name, tests_info_xml_f_name, build_name, compiler_name):
- doc_dir = src_dir + "/doc/html/ext/pb_ds"
- res_dir = build_dir
- html_f = open(doc_dir + '/' + html_f_name)
- soup = BeautifulSoup(html_f.read())
- html_f.close()
- platform_comp_re = re.compile('platform_comp_%s' % build_name)
- for d in soup('div'):
- try:
- settings_m = settings_div_re.match(d['id'])
- res_m = res_div_re.match(d['id'])
- except:
- settings_m = None
- res_m = None
-
- if settings_m:
- build = settings_m.groups()[0]
- if build == build_name:
- logical_build_name = logical_build_from_build(build)
- info = gray_border_div_str
- info += '<h3><a name = "%s"><u>%s</u></a></h3>' % (build, logical_build_name)
- info += make_graph.comp_platform_info(compiler_name)
- info += '</div>%s</div>' % space_div_str
- d.contents = info
- elif res_m:
- label = res_m.groups()[0]
- d = d.divTag
-
- build = d['id'].replace('%s_' % label, '')
-
- if build == build_name:
- logical_build_name = logical_build_from_build(build)
- d = d.divTag
- test_name = d['id'].replace('%s_' % label, '')
- d = d.divTag
- base_build_ref = d['id'].replace('%s_' % label, '')
- d = d.divTag
- title = d['id'].replace('%s_' % label, '')
- img_title = img_title_from_origs(label, title, base_build_ref, build, logical_build_name)
-
- make_png(src_dir, doc_dir, res_dir, tests_info_xml_f_name, build_name, test_name)
- png_str = make_png_str(label, test_name, build)
- content = gray_border_div_str
- content += png_str
- content += img_title
-# content += make_graph.legend(doc_dir, res_dir, tests_info_xml_f_name, test_name, build_name)
- content += '</div>%s</div>' % space_div_str
- d.contents = content
-
- return soup
-
-
-
-if __name__ == "__main__":
- """
- Doc dir
- This module takes 6 parameters from the command line:
- Source directory
- Build directory
- HTMLs XML file name
- Tests info XML file name
- Build name
- Compiler name
- """
-
- usg = "make_graph.py <src_dir> <build_dir> <htmls_xml_f_name> <tests_info_xml_f_name> <build_name> <compiler_name>\n"
-
- if len(sys.argv) != 7:
- sys.stderr.write(usg)
- raise exception
-
- src_dir = sys.argv[1]
- build_dir = sys.argv[2]
- htmls_xml_f_name = sys.argv[3]
- tests_info_xml_f_name = sys.argv[4]
- build_name = sys.argv[5]
- compiler_name = sys.argv[6]
- doc_dir = src_dir + "/doc/html/ext/pb_ds"
- htmls_dat = minidom.parse(htmls_xml_f_name)
- for html in htmls_dat.getElementsByTagName('html'):
- html_f_name = html.attributes['name'].value
-
- new_soup = process_html(html_f_name, src_dir, build_dir, htmls_xml_f_name, tests_info_xml_f_name, build_name, compiler_name)
-
- html_f = open(doc_dir + '/' + html_f_name, 'w')
- html_f.write(str(new_soup))
- html_f.close()
-
-
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/run_doxygen b/gcc-4.4.3/libstdc++-v3/scripts/run_doxygen
deleted file mode 100644
index dd0df653f..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/run_doxygen
+++ /dev/null
@@ -1,354 +0,0 @@
-#!/bin/bash
-
-# Runs doxygen and massages the output files.
-# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009
-# Free Software Foundation, Inc.
-#
-# Synopsis: run_doxygen --mode=[html|man|xml] --host_alias=<alias> \
-# v3srcdir v3builddir
-#
-# Originally hacked together by Phil Edwards <pme@gcc.gnu.org>
-
-
-# We can check now that the version of doxygen is >= this variable.
-DOXYVER=1.5.1
-
-find_doxygen() {
- local -r v_required=`echo $DOXYVER | \
- awk -F. '{if(NF<3)$3=0;print ($1*100+$2)*100+$3}'`
- local testing_version doxygen maybedoxy v_found
- # thank you goat book
- set `IFS=:; X="$PATH:/usr/local/bin:/bin:/usr/bin"; echo $X`
- for dir
- do
- # AC_EXEEXT could come in useful here
- maybedoxy="$dir/doxygen"
- test -f "$maybedoxy" && testing_version=`$maybedoxy --version`
- if test -n "$testing_version"; then
- v_found=`echo $testing_version | \
- awk -F. '{if(NF<3)$3=0;print ($1*100+$2)*100+$3}'`
- if test $v_found -ge $v_required; then
- doxygen="$maybedoxy"
- break
- fi
- fi
- done
- if test -z "$doxygen"; then
- echo run_doxygen error: Could not find Doxygen $DOXYVER in path. 1>&2
- print_usage
- fi
- # We need to use other tools from the same package/version.
- echo :: Using Doxygen tools from ${dir}.
- PATH=$dir:$PATH
- hash -r
-}
-
-print_usage() {
- cat 1>&2 <<EOF
-Usage: run_doxygen --mode=MODE --host_alias=BUILD_ALIAS [<options>]
- <v3-src-dir> <v3-build-dir>
- MODE is one of:
- html Generate user-level HTML library documentation.
- man Generate user-level man pages.
- xml Generate user-level XML pages.
-
- BUILD_ALIAS is the GCC build alias set at configure time.
-
-Note: Requires Doxygen ${DOXYVER} or later; get it at
- ftp://ftp.stack.nl/pub/users/dimitri/doxygen-${DOXYVER}.src.tar.gz
-
-EOF
- exit 1
-}
-
-parse_options() {
- for o
- do
- # Blatantly ripped from autoconf, er, I mean, "gratefully standing
- # on the shoulders of those giants who have gone before us."
- case "$o" in
- -*=*) arg=`echo "$o" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) arg= ;;
- esac
-
- case "$o" in
- --mode=*)
- mode=$arg ;;
- --host_alias=*)
- host_alias=$arg ;;
- --mode | --host_alias | --help | -h)
- print_usage ;;
- *)
- # this turned out to be a mess, maybe change to --srcdir=, etc
- if test $srcdir = unset; then
- srcdir=$o
- elif test $outdir = unset; then
- builddir=${o}
- outdir=${o}/doc/doxygen
- else
- echo run_doxygen error: Too many arguments 1>&2
- exit 1
- fi
- ;;
- esac
- done
-}
-
-
-# script begins here
-mode=unset
-host_alias=unset
-srcdir=unset
-outdir=unset
-do_html=false
-do_man=false
-do_xml=false
-enabled_sections=
-generate_tagfile=
-DATEtext=`date '+%Y-%m-%d'`
-
-# Show how this script is called.
-echo run_doxygen $*
-
-parse_options $*
-find_doxygen
-
-if test $srcdir = unset || test $outdir = unset || test $mode = unset || test $host_alias = unset; then
- # this could be better
- echo run_doxygen error: You have not given enough information...! 1>&2
- print_usage
-fi
-
-case x"$mode" in
- xhtml)
- do_html=true
- enabled_sections=maint
- generate_tagfile="$outdir/html/libstdc++.tag"
- ;;
- xman)
- do_man=true
- ;;
- xxml)
- do_xml=true
- enabled_sections=maint
- ;;
- *)
- echo run_doxygen error: $mode is an invalid mode 1>&2
- exit 1 ;;
-esac
-
-mkdir -p $outdir
-chmod u+w $outdir
-
-# work around a stupid doxygen bug
-if $do_man; then
- mkdir -p $outdir/man/man3/ext
- chmod -R u+w $outdir/man/man3/ext
-fi
-
-if $do_xml; then
- mkdir -p $outdir/xml
-fi
-
-(
- set -e
- cd $builddir
- sed -e "s=@outdir@=${outdir}=g" \
- -e "s=@srcdir@=${srcdir}=g" \
- -e "s=@builddir@=${builddir}=g" \
- -e "s=@host_alias@=${host_alias}=g" \
- -e "s=@enabled_sections@=${enabled_sections}=" \
- -e "s=@do_html@=${do_html}=" \
- -e "s=@do_man@=${do_man}=" \
- -e "s=@do_xml@=${do_xml}=" \
- -e "s=@generate_tagfile@=${generate_tagfile}=" \
- ${srcdir}/doc/doxygen/user.cfg.in > ${outdir}/${mode}.cfg
- echo :: NOTE that this may take some time...
- echo doxygen ${outdir}/${mode}.cfg
- doxygen ${outdir}/${mode}.cfg
- echo :: Finished, exit code was $?
-)
-ret=$?
-test $ret -ne 0 && exit $ret
-
-if $do_html; then
- cd ${outdir}/html
-
- #doxytag -t libstdc++.tag . > /dev/null 2>&1
- sed -e '/<path>/d' libstdc++.tag > TEMP
- mv TEMP libstdc++.tag
-
- sed -e "s=@DATE@=${DATEtext}=" \
- ${srcdir}/doc/doxygen/mainpage.html > index.html
-
- # The following bit of line noise changes annoying
- # std::foo < typename _Ugly1, typename _Ugly2, .... _DefaultUgly17 >
- # to user-friendly
- # std::foo
- # in the major "Compound List" page.
- sed -e 's=\(::[[:alnum:]_]*\)&lt; .* &gt;=\1=' annotated.html > annstrip.html
- mv annstrip.html annotated.html
-
- # Work around a bug in doxygen 1.3.
-# for f in class*html struct*html; do
- for f in class*html; do
- sed '1,10s!^<title> Template!<title>Template !' $f > TEMP
- mv TEMP $f
- done
-
- cp ${srcdir}/doc/doxygen/tables.html tables.html
- echo ::
- echo :: HTML pages begin with
- echo :: ${outdir}/html/index.html
-fi
-
-# Mess with the man pages. We don't need documentation of the internal
-# headers, since the man pages for those contain nothing useful anyhow. The
-# man pages for doxygen modules need to be renamed (or deleted). And the
-# generated #include lines need to be changed from the internal names to the
-# standard ones (e.g., "#include <stl_tempbuf.h>" -> "#include <memory>").
-if $do_man; then
-echo ::
-echo :: Fixing up the man pages...
-cd $outdir/man/man3
-
-# here's the other end of the "stupid doxygen bug" mentioned above
-rm -rf ext
-
-# File names with embedded spaces (EVIL!) need to be....? renamed or removed?
-find . -name "* *" -print0 | xargs -0r rm # requires GNU tools
-
-# Cleanups before tr1* files get killed.
-mv tr1_random_distributions.3 random_distributions.3
-mv tr1_random_distributions_continuous.3 random_distributions_continuous.3
-mv tr1_random_distributions_discrete.3 random_distributions_discrete.3
-mv tr1_random_generators.3 random_generators.3
-
-# man pages are for functions/types/other entities, not source files
-# directly. who the heck would type "man foo.h" anyhow?
-find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm
-rm -f *.h.3 *.hpp.3 *config* *.cc.3 *.tcc.3 *_t.3
-#rm ext_*.3 tr1_*.3 debug_*.3
-
-# this is used to examine what we would have deleted, for debugging
-#mkdir trash
-#find . -name "[a-z]*" -a ! -name "std_*" -print | xargs -i mv {} trash
-#mv *.h.3 *config* *.cc.3 *.tcc.3 *_t.3 trash
-
-# Standardize the displayed header names. If anyone who knows perl cares
-# enough to rewrite all this, feel free. This only gets run once a century,
-# and I'm off getting coffee then anyhow, so I didn't care enough to make
-# this super-fast.
-g++ ${srcdir}/doc/doxygen/stdheader.cc -o ./stdheader
-problematic=`egrep -l '#include <.*_.*>' [a-z]*.3`
-for f in $problematic; do
- # this is also slow, but safe and easy to debug
- oldh=`sed -n '/fC#include </s/.*<\(.*\)>.*/\1/p' $f`
- newh=`echo $oldh | ./stdheader`
- sed "s=${oldh}=${newh}=" $f > TEMP
- mv TEMP $f
-done
-rm stdheader
-
-# Some of the pages for generated modules have text that confuses certain
-# implementations of man(1), e.g., Linux's. We need to have another top-level
-# *roff tag to /stop/ the .SH NAME entry.
-problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3`
-#problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3'
-
-for f in $problematic; do
- sed '/^\.SH NAME/{
-n
-a\
-\
-.SH SYNOPSIS
- }' $f > TEMP
- mv TEMP $f
-done
-
-# Also, break this (generated) line up. It's ugly as sin.
-problematic=`grep -l '[^^]Definition at line' *.3`
-for f in $problematic; do
- sed 's/Definition at line/\
-.PP\
-&/' $f > TEMP
- mv TEMP $f
-done
-
-cp ${srcdir}/doc/doxygen/Intro.3 C++Intro.3
-
-# Why didn't I do this at the start? Were rabid weasels eating my brain?
-# Who the fsck would "man std_vector" when the class isn't named that?
-
-# First, deal with nested namespaces.
-for f in *__detail_*; do
- newname=`echo $f | sed 's/__detail_/__detail::/'`
- mv $f $newname
-done
-for f in *__parallel_*; do
- newname=`echo $f | sed 's/__parallel_/__parallel::/'`
- mv $f $newname
-done
-
-# Then, clean up other top-level namespaces.
-for f in std_tr1_*; do
- newname=`echo $f | sed 's/^std_tr1_/std::tr1::/'`
- mv $f $newname
-done
-for f in std_*; do
- newname=`echo $f | sed 's/^std_/std::/'`
- mv $f $newname
-done
-for f in __gnu_cxx_*; do
- newname=`echo $f | sed 's/^__gnu_cxx_/__gnu_cxx::/'`
- mv $f $newname
-done
-for f in __gnu_debug_*; do
- newname=`echo $f | sed 's/^__gnu_debug_/__gnu_debug::/'`
- mv $f $newname
-done
-for f in __gnu_parallel_*; do
- newname=`echo $f | sed 's/^__gnu_parallel_/__gnu_parallel::/'`
- mv $f $newname
-done
-for f in __atomic0_*; do
- newname=`echo $f | sed 's/^__atomic0_/std::__atomic0::/'`
- mv $f $newname
-done
-for f in __atomic2_*; do
- newname=`echo $f | sed 's/^__atomic2_/std::__atomic2::/'`
- mv $f $newname
-done
-for f in __cxxabiv1_*; do
- newname=`echo $f | sed 's/^__cxxabiv1_/abi::/'`
- mv $f $newname
-done
-
-# Generic removal bits, where there are things in the generated man
-# pages that need to be killed.
-for f in *_libstdc__-v3_*; do
- rm $f
-done
-
-for f in *_src_*; do
- rm $f
-done
-
-
-# Also, for some reason, typedefs don't get their own man pages. Sigh.
-for f in ios streambuf istream ostream iostream stringbuf \
- istringstream ostringstream stringstream filebuf ifstream \
- ofstream fstream string;
-do
- echo ".so man3/std::basic_${f}.3" > std::${f}.3
- echo ".so man3/std::basic_${f}.3" > std::w${f}.3
-done
-
-echo ::
-echo :: Man pages in ${outdir}/man
-fi
-
-# all done
-echo ::
-
-exit 0
diff --git a/gcc-4.4.3/libstdc++-v3/scripts/testsuite_flags.in b/gcc-4.4.3/libstdc++-v3/scripts/testsuite_flags.in
deleted file mode 100755
index 457adaf4d..000000000
--- a/gcc-4.4.3/libstdc++-v3/scripts/testsuite_flags.in
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/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
- --cxxpchflags
- --cxxldflags
-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/g++ ,'`
- echo ${CXX}
- ;;
- --build-cc)
- CC_build="@CC@"
- CC="$CC_build"
- echo ${CC}
- ;;
- --cxxflags)
- CXXFLAGS_default="-g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0"
- CXXFLAGS_config="@SECTION_FLAGS@ @CXXFLAGS@ @EXTRA_CXX_FLAGS@"
- echo ${CXXFLAGS_default} ${CXXFLAGS_config}
- ;;
- --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)
- SECTIONLDFLAGS="@SECTION_LDFLAGS@ @LIBICONV@"
- echo ${SECTIONLDFLAGS}
- ;;
- *)
- print_usage
- ;;
-esac
-
-exit 0