This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[patch] stephen's staging headers patch



This is more unfinished business. Stephen, Loren, I've updated this
patch. It's not ready to go in yet, but I am getting sick of merging
it every week, so I thought I'd post what I'm using.

A brief recap: currently, the libstdc++ headers are constructed at
configure time, at build time, at nap time. Most any time. It's kind
of annoying. Known problems with this approach are problems with
multilibs (see AIX and this 64/32 bit issue, OSF, etc.), and correct
dependency tracking for generated headers. The current mix of build
and multiple source directories is also a bit confusing to most
people.

This patch simplifies the process by moving all the header bits into
include/Makefile.am. All headers are copied into the build directory's
include sub-directory at build time, and thus the need for 4-5
separate include paths are removed.

In general, I like this patch very much. It's conceptually
elegant. Stylish. Bold. It's also been aged for a bit, and ready to
drink now.

However, some dependency tracking issues with mknumeric-limits still
exist. I've not got the time/inclination to fix these issues. After
working with this patch, I have to say that I'd be in favor of a
directory of soft links, not copied files: I found it a bit difficult
to mentally switch to having my include "source" directory be the
build directory. This is also counter to existing practice in the rest
of the GNU toolchain and gcc/libjava etc. I found two duplicate files
a bit confusing. I might just be brain dead on this issue however, so
I'd like Phil, Loren, Gaby, etc to look at this patch and see what
they think. I am willing, though not eager, to work with copied
sources if that's what everybody else thinks is a good idea.

That's a minor nit though. 

Comments?

-benjamin




2001-07-02  Stephen M. Webb  <stephen@bregmasoft.com>

        * include/Makefile.am: New file encapsulating header generation rules.
        * Makefile.am: Added reference to the include subdirectory.
        * acinclude.m4: Moved rules for building includesinto various
        Makefiles.
        * configure.in: Added include/Makefile to AC_OUTPUT.
        * testsuite_flags.in: Changed build-includes to match new header
        scheme.
        * libio/Makefile.am: Changed INCLUDES to match new scheme.
        * libmath/Makefile.am: Same.
        * libsupc++/Makefile.am: Same.
        * src/Makefile.am: Moved rules to build headers out, sources in.
        * mkc++config: Removed.

Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/Makefile.am,v
retrieving revision 1.22
diff -c -p -r1.22 Makefile.am
*** Makefile.am	2001/05/14 01:14:55	1.22
--- Makefile.am	2001/07/02 23:48:56
***************
*** 24,30 ****
  AUTOMAKE_OPTIONS = 1.3 cygnus
  MAINT_CHARSET = latin1
  
! SUBDIRS = libio libmath libsupc++ src testsuite
  
  mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
  
--- 24,30 ----
  AUTOMAKE_OPTIONS = 1.3 cygnus
  MAINT_CHARSET = latin1
  
! SUBDIRS = include libio libmath libsupc++ src testsuite
  
  mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
  
*************** doxygen-maint:
*** 58,64 ****
  	  ${srcdir}/docs/doxygen/run_doxygen --mode=maint $${srcdir} $${outdir})
  
  .PHONY: doxygen doxygen-maint
- 
  
  # Multilib support.
  MAKEOVERRIDES=
--- 58,63 ----
Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/acinclude.m4,v
retrieving revision 1.164
diff -c -p -r1.164 acinclude.m4
*** acinclude.m4	2001/07/02 23:30:01	1.164
--- acinclude.m4	2001/07/02 23:49:01
*************** AC_DEFUN(GLIBCPP_CHECK_TARGET, [
*** 760,766 ****
      . [$]{glibcpp_basedir}/configure.target
      AC_MSG_RESULT(CPU config directory is $cpu_include_dir)
      AC_MSG_RESULT(OS config directory is $os_include_dir)
-     AC_LINK_FILES($os_include_dir/bits/os_defines.h, include/bits/os_defines.h)
  ])
  
  
--- 760,765 ----
*************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
*** 1011,1017 ****
        ;;
    esac
  
!   AC_LINK_FILES($CLOCALE_H, include/bits/c++locale.h)
    AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
  ])
  
--- 1010,1016 ----
        ;;
    esac
  
!   AC_SUBST(CLOCALE_H)
    AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
  ])
  
*************** AC_DEFUN(GLIBCPP_ENABLE_CSTDIO, [
*** 1111,1123 ****
        exit 1
        ;;
    esac
!   AC_LINK_FILES($CSTDIO_H, include/bits/c++io.h)
!   AC_LINK_FILES($BASIC_FILE_H, include/bits/basic_file_model.h)
    AC_LINK_FILES($BASIC_FILE_CC, src/basic_file.cc)
  
    # 2000-08-04 bkoz hack
    CCODECVT_C=config/c_io_libio_codecvt.c
!   AC_LINK_FILES($CCODECVT_C, libio/c_codecvt.c)
    # 2000-08-04 bkoz hack
  
    AM_CONDITIONAL(GLIBCPP_BUILD_LIBIO,
--- 1110,1122 ----
        exit 1
        ;;
    esac
!   AC_SUBST(CSTDIO_H)
!   AC_SUBST(BASIC_FILE_H)
    AC_LINK_FILES($BASIC_FILE_CC, src/basic_file.cc)
  
    # 2000-08-04 bkoz hack
    CCODECVT_C=config/c_io_libio_codecvt.c
!   AC_SUBST(CCODECVT_C)
    # 2000-08-04 bkoz hack
  
    AM_CONDITIONAL(GLIBCPP_BUILD_LIBIO,
*************** AC_DEFUN(GLIBCPP_ENABLE_THREADS, [
*** 1150,1173 ****
    target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
    AC_MSG_RESULT([$target_thread_file])
  
-   AC_LINK_FILES($toprel/gcc/gthr.h, include/bits/gthr.h-in)
-   AC_LINK_FILES($toprel/gcc/gthr-single.h,
- 		include/bits/gthr-single.h-in)
-   AC_LINK_FILES($toprel/gcc/gthr-$target_thread_file.h,
- 		include/bits/gthr-default.h-in)
    if test $target_thread_file != single; then
      AC_DEFINE(HAVE_GTHR_DEFAULT)
      AC_DEFINE(_GLIBCPP_SUPPORTS_WEAK, __GXX_WEAK__)
    fi
!   AC_OUTPUT_COMMANDS([d=include/bits; a='[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]'
!     rm -f $d/gthr.h $d/gthr-single.h $d/gthr-default.h
!     sed '/^#/s/\('"$a$a"'*\)/_GLIBCPP_\1/g' <$d/gthr.h-in \
!       | sed 's,"gthr-,"bits/gthr-,' >$d/gthr.h
!     sed 's/\(UNUSED\)/_GLIBCPP_\1/g' <$d/gthr-single.h-in \
!       | sed 's/\(GCC'"$a"'*_H\)/_GLIBCPP_\1/g' >$d/gthr-single.h
!     sed 's/\(UNUSED\)/_GLIBCPP_\1/g' <$d/gthr-default.h-in \
!       | sed 's/\(GCC'"$a"'*_H\)/_GLIBCPP_\1/g' \
!       | sed 's/\('"$a"'*WEAK\)/_GLIBCPP_\1/g' >$d/gthr-default.h])
  ])
  
  
--- 1149,1161 ----
    target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
    AC_MSG_RESULT([$target_thread_file])
  
    if test $target_thread_file != single; then
      AC_DEFINE(HAVE_GTHR_DEFAULT)
      AC_DEFINE(_GLIBCPP_SUPPORTS_WEAK, __GXX_WEAK__)
    fi
! 
!   glibcpp_thread_h=gthr-$target_thread_file.h
!   AC_SUBST(glibcpp_thread_h)
  ])
  
  
*************** dnl Option parsed, now other scripts can
*** 1497,1504 ****
  dnl
  dnl Set up *_INCLUDES and *_INCLUDE_DIR variables for all sundry Makefile.am's.
  dnl
- dnl GLIBCPP_INCLUDE_DIR
- dnl C_INCLUDE_DIR
  dnl TOPLEVEL_INCLUDES
  dnl LIBMATH_INCLUDES
  dnl LIBSUPCXX_INCLUDES
--- 1485,1490 ----
*************** dnl CSHADOW_INCLUDES
*** 1507,1521 ****
  dnl
  dnl GLIBCPP_EXPORT_INCLUDE
  AC_DEFUN(GLIBCPP_EXPORT_INCLUDES, [
!   # Root level of the include sources.
!   GLIBCPP_INCLUDE_DIR='$(top_srcdir)/include'
  
-   # Can either use include/c or include/c_std to grab "C" headers. This
-   # variable is set to the include directory currently in use.
-   # set with C_INCLUDE_DIR in GLIBCPP_ENABLE_CHEADERS
-    
    # Passed down for canadian crosses.
!   if  test x"$CANADIAN" = xyes; then
      TOPLEVEL_INCLUDES='-I$(includedir)'
    fi
  
--- 1493,1503 ----
  dnl
  dnl GLIBCPP_EXPORT_INCLUDE
  AC_DEFUN(GLIBCPP_EXPORT_INCLUDES, [
!   # Root level of the build directory include sources.
!   GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"
  
    # Passed down for canadian crosses.
!   if test x"$CANADIAN" = xyes; then
      TOPLEVEL_INCLUDES='-I$(includedir)'
    fi
  
*************** AC_DEFUN(GLIBCPP_EXPORT_INCLUDES, [
*** 1523,1548 ****
  
    LIBSUPCXX_INCLUDES='-I$(top_srcdir)/libsupc++'
  
!   #if GLIBCPP_NEED_LIBIO
!   LIBIO_INCLUDES='-I$(top_builddir)/libio -I$(top_srcdir)/libio'
!   #else
!   #LIBIO_INCLUDES='-I$(top_srcdir)/libio'
!   #endif
! 
!   #if GLIBCPP_USE_CSHADOW
!   #  CSHADOW_INCLUDES='-I$(GLIBCPP_INCLUDE_DIR)/std -I$(C_INCLUDE_DIR) \
!   #                   -I$(top_blddir)/cshadow'
!   #else
!   CSTD_INCLUDES='-I$(GLIBCPP_INCLUDE_DIR)/std -I$(C_INCLUDE_DIR)'
!   #endif
  
    # Now, export this to all the little Makefiles....
!   AC_SUBST(GLIBCPP_INCLUDE_DIR)
    AC_SUBST(TOPLEVEL_INCLUDES)
    AC_SUBST(LIBMATH_INCLUDES)
    AC_SUBST(LIBSUPCXX_INCLUDES)
-   AC_SUBST(LIBIO_INCLUDES)
-   AC_SUBST(CSTD_INCLUDES)
  ])
  
  
--- 1505,1520 ----
  
    LIBSUPCXX_INCLUDES='-I$(top_srcdir)/libsupc++'
  
!   if test x"$need_libio" = xyes; then
!     LIBIO_INCLUDES='-I$(top_builddir)/libio -I$(top_srcdir)/libio'
!     AC_SUBST(LIBIO_INCLUDES)
!   fi
  
    # Now, export this to all the little Makefiles....
!   AC_SUBST(GLIBCPP_INCLUDES)
    AC_SUBST(TOPLEVEL_INCLUDES)
    AC_SUBST(LIBMATH_INCLUDES)
    AC_SUBST(LIBSUPCXX_INCLUDES)
  ])
  
  
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/configure.in,v
retrieving revision 1.65
diff -c -p -r1.65 configure.in
*** configure.in	2001/06/14 08:45:38	1.65
--- configure.in	2001/07/02 23:49:43
*************** if test -n "$with_cross_host"; then
*** 77,83 ****
    # We are being configured with a cross compiler.  AC_REPLACE_FUNCS
    # may not work correctly, because the compiler may not be able to
    # link executables.
!   xcompiling=1
    NATIVE=no
  
    # If Canadian cross, then don't pick up tools from the build
--- 77,83 ----
    # We are being configured with a cross compiler.  AC_REPLACE_FUNCS
    # may not work correctly, because the compiler may not be able to
    # link executables.
!   GLIBCPP_IS_CROSS_COMPILING=1
    NATIVE=no
  
    # If Canadian cross, then don't pick up tools from the build
*************** else
*** 197,203 ****
    # We are being configured natively. We can do more elaborate tests
    # that include AC_TRY_COMPILE now, as the linker is assumed to be
    # working.
!   xcompiling=0
    NATIVE=yes
    CANADIAN=no
    NULL_TARGET=no
--- 197,203 ----
    # We are being configured natively. We can do more elaborate tests
    # that include AC_TRY_COMPILE now, as the linker is assumed to be
    # working.
!   GLIBCPP_IS_CROSS_COMPILING=0
    NATIVE=yes
    CANADIAN=no
    NULL_TARGET=no
*************** else
*** 222,236 ****
    AC_FUNC_MMAP
  fi
  
! # Now that ctype is determined for all possible targets, we can do this...
! AC_LINK_FILES($os_include_dir/bits/ctype_base.h, \
! include/bits/ctype_base.h)
! AC_LINK_FILES($os_include_dir/bits/ctype_inline.h, \
! include/bits/ctype_inline.h)
! AC_LINK_FILES($os_include_dir/bits/ctype_noninline.h, \
! include/bits/ctype_noninline.h)
! AC_LINK_FILES($ATOMICITYH/bits/atomicity.h, include/bits/atomicity.h)
  
  AM_CONDITIONAL(NULL_TARGET, test "$NULL_TARGET" = yes)
  AM_CONDITIONAL(NATIVE, test "$NATIVE" = yes || test "$NULL_TARGET" = yes)
  AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
--- 222,235 ----
    AC_FUNC_MMAP
  fi
  
! # Propagate the target-specific source directories through the build chain
! OS_INC_SRCDIR=$os_include_dir/bits
! ATOMICITY_INC_SRCDIR=$ATOMICITYH/bits
! AC_SUBST(OS_INC_SRCDIR)
! AC_SUBST(ATOMICITY_INC_SRCDIR)
  
+ # Set up cross-compile flags
+ AC_SUBST(GLIBCPP_IS_CROSS_COMPILING)
  AM_CONDITIONAL(NULL_TARGET, test "$NULL_TARGET" = yes)
  AM_CONDITIONAL(NATIVE, test "$NATIVE" = yes || test "$NULL_TARGET" = yes)
  AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
*************** else
*** 244,252 ****
    multilib_arg=
  fi
  
- 
- # Generate the various Makefiles, include files, and scripts.
- 
  # Needed so that g++ can find the correct include subdir automatically.
  INTERFACE=v3
  
--- 243,248 ----
*************** else
*** 264,284 ****
    LIBSUPCXX_PICFLAGS=
  fi
  AC_SUBST(LIBSUPCXX_PICFLAGS)
- 
- # This should be done by mkincludedir, but hack around it now.
- blddir=`pwd`
- echo "checking for $blddir/include"
- 
- if test ! -d "$blddir/include"; then
-   mkdir "$blddir/include"
- fi
  
  # NB: Multilibs need MULTISUBDIR defined correctly in src/Makefile.am
  # and libsupc++/Makefile.am so that multilib installs will end up
  # installed in the correct place. To work around this not being passed
  # down from config-ml.in -> top_srcdir/Makefile.am ->
  # top_srcdir/{src,libsupc++}/Makefile.am, manually append it here.
! AC_OUTPUT(Makefile src/Makefile libmath/Makefile libio/Makefile libsupc++/Makefile testsuite/Makefile mkcheck testsuite_flags,
  [if test -n "$CONFIG_FILES"; then
    ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in
    grep '^MULTISUBDIR =' Makefile >> src/Makefile
--- 260,276 ----
    LIBSUPCXX_PICFLAGS=
  fi
  AC_SUBST(LIBSUPCXX_PICFLAGS)
  
+ # Generate the various Makefiles, include files, and scripts.
  # NB: Multilibs need MULTISUBDIR defined correctly in src/Makefile.am
  # and libsupc++/Makefile.am so that multilib installs will end up
  # installed in the correct place. To work around this not being passed
  # down from config-ml.in -> top_srcdir/Makefile.am ->
  # top_srcdir/{src,libsupc++}/Makefile.am, manually append it here.
! AC_OUTPUT(Makefile \
! 	  include/Makefile src/Makefile \
! 	  libmath/Makefile libio/Makefile libsupc++/Makefile \
! 	  testsuite/Makefile mkcheck testsuite_flags,
  [if test -n "$CONFIG_FILES"; then
    ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in
    grep '^MULTISUBDIR =' Makefile >> src/Makefile
*************** glibcpp_basedir=${glibcpp_basedir}
*** 297,318 ****
  CC="${CC}"
  CXX="${CXX}"
  )
- 
- 
- # Generate bits/c++config.h
- # NB: This must be the first generated file as others include it. . .
- $srcdir/mkc++config $blddir $srcdir
- 
- # Generate bits/std_limits.h and src/limitsMEMBERS.cc
- if test ! -f stamp-limits; then
-   $srcdir/mknumeric_limits $blddir $srcdir $xcompiling
-   if test ! -f include/bits/std_limits.h; then
-     echo "mknumeric_limits failed to execute properly: exiting"
-     exit 1
-   else
-     touch stamp-limits 
-   fi
- fi
  
  
  # Sanity checking & User-visible messages.
--- 289,294 ----
Index: mknumeric_limits
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/mknumeric_limits,v
retrieving revision 1.14
diff -c -p -r1.14 mknumeric_limits
*** mknumeric_limits	2001/06/20 03:05:27	1.14
--- mknumeric_limits	2001/07/02 23:49:44
*************** CC=${CC="$BUILD_DIR/../../gcc/xgcc -B$BU
*** 54,60 ****
  cat <<EOF > $OUT_H-t
  // The template and inlines for the -*- C++ -*- numeric_limits classes.
  
! // Copyright (C) 1999, 2000 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
--- 54,60 ----
  cat <<EOF > $OUT_H-t
  // The template and inlines for the -*- C++ -*- numeric_limits classes.
  
! // Copyright (C) 1999-2001 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
*************** EOF
*** 257,266 ****
  
  # Must turn off exceptions, because the C++ exception handling support
  # routines have not been built yet.
! echo "$CC -I. $CPPFLAGS -I$BUILD_DIR/include -DHAVE_CONFIG_H -fno-exceptions \
      -o $BUILD_DIR/src/gen-num-limits $SRC_DIR/src/gen-num-limits.cc"
  
! { $CC -I. $CPPFLAGS -I$BUILD_DIR/include -DHAVE_CONFIG_H -fno-exceptions \
      -o "$BUILD_DIR/src/gen-num-limits" "$SRC_DIR/src/gen-num-limits.cc"
  } || {
    echo "gen-num-limits failed to build, exiting."
--- 257,266 ----
  
  # Must turn off exceptions, because the C++ exception handling support
  # routines have not been built yet.
! echo "$CC -I$BUILD_DIR -fno-exceptions \
      -o $BUILD_DIR/src/gen-num-limits $SRC_DIR/src/gen-num-limits.cc"
  
! { $CC -I$BUILD_DIR -fno-exceptions \
      -o "$BUILD_DIR/src/gen-num-limits" "$SRC_DIR/src/gen-num-limits.cc"
  } || {
    echo "gen-num-limits failed to build, exiting."
Index: testsuite_flags.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite_flags.in,v
retrieving revision 1.3
diff -c -p -r1.3 testsuite_flags.in
*** testsuite_flags.in	2001/05/16 02:03:30	1.3
--- testsuite_flags.in	2001/07/02 23:49:44
*************** case ${query} in
*** 32,43 ****
        echo ${INCLUDES}
        ;;
      --build-includes)
!       C_DIR="`basename  @C_INCLUDE_DIR@`"
!       INCLUDES="-nostdinc++ -I${BUILD_DIR}/include -I${SRC_DIR}/include
!                 -I${SRC_DIR}/include/std  -I${SRC_DIR}/include/$C_DIR
! 	        -I${SRC_DIR}/libsupc++ -I${SRC_DIR}/libio 
! 		-I${SRC_DIR}/testsuite
! 		-I${SRC_DIR}/include/backwards -I${SRC_DIR}/include/ext"
        echo ${INCLUDES}
        ;;
      --install-cxx)
--- 32,40 ----
        echo ${INCLUDES}
        ;;
      --build-includes)
!       INCLUDES="-nostdinc++ @GLIBCPP_INCLUDES@
!                 -I${SRC_DIR}/libsupc++ -I${SRC_DIR}/libio
!                 -I${SRC_DIR}/testsuite"
        echo ${INCLUDES}
        ;;
      --install-cxx)
Index: include/Makefile.am
===================================================================
RCS file: Makefile.am
diff -N Makefile.am
*** /dev/null	Tue May  5 13:32:27 1998
--- Makefile.am	Mon Jul  2 16:49:46 2001
***************
*** 0 ****
--- 1,427 ----
+ ## Makefile for the include subdirectory of the GNU C++ Standard library.
+ ##
+ ## Copyright (C) 2001 Free Software Foundation, Inc.
+ ##
+ ## This file is part of the libstdc++ version 3 distribution.
+ ## Process this file with automake to produce Makefile.in.
+ 
+ ## 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 2, 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 COPYING.  If not, write to the Free
+ ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ ## USA.
+ 
+ ## $Id$
+ 
+ AUTOMAKE_OPTIONS = 1.3 gnits
+ MAINT_CHARSET = latin1
+ 
+ mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
+ 
+ # Cross compiler and multilib support.
+ CXX = @glibcpp_CXX@
+ glibcpp_srcdir=@glibcpp_srcdir@
+ glibcpp_builddir=@glibcpp_builddir@
+ 
+ bits_srcdir = ${glibcpp_srcdir}/include/bits
+ bits_builddir = ./bits
+ bits_headers = \
+ 	${bits_srcdir}/basic_file.h \
+ 	${bits_srcdir}/basic_ios.h \
+ 	${bits_srcdir}/basic_ios.tcc \
+ 	${bits_srcdir}/basic_string.h \
+ 	${bits_srcdir}/basic_string.tcc \
+ 	${bits_srcdir}/boost_concept_check.h \
+ 	${bits_srcdir}/char_traits.h \
+ 	${bits_srcdir}/codecvt.h \
+ 	${bits_srcdir}/concept_check.h \
+ 	${bits_srcdir}/cpp_type_traits.h \
+ 	${bits_srcdir}/fpos.h \
+ 	${bits_srcdir}/fstream.tcc \
+ 	${bits_srcdir}/functexcept.h \
+ 	${bits_srcdir}/generic_shadow.h \
+ 	${bits_srcdir}/gslice.h \
+ 	${bits_srcdir}/gslice_array.h \
+ 	${bits_srcdir}/indirect_array.h \
+ 	${bits_srcdir}/ios_base.h \
+ 	${bits_srcdir}/istream.tcc \
+ 	${bits_srcdir}/locale_facets.h \
+ 	${bits_srcdir}/locale_facets.tcc \
+ 	${bits_srcdir}/localefwd.h \
+ 	${bits_srcdir}/mask_array.h \
+ 	${bits_srcdir}/ostream.tcc \
+ 	${bits_srcdir}/pthread_allocimpl.h \
+ 	${bits_srcdir}/stream_iterator.h \
+ 	${bits_srcdir}/streambuf_iterator.h \
+ 	${bits_srcdir}/slice.h \
+ 	${bits_srcdir}/slice_array.h \
+ 	${bits_srcdir}/sstream.tcc \
+ 	${bits_srcdir}/std_algorithm.h \
+ 	${bits_srcdir}/std_bitset.h \
+ 	${bits_srcdir}/std_complex.h \
+ 	${bits_srcdir}/std_deque.h \
+ 	${bits_srcdir}/std_fstream.h \
+ 	${bits_srcdir}/std_functional.h \
+ 	${bits_srcdir}/std_iomanip.h \
+ 	${bits_srcdir}/std_ios.h \
+ 	${bits_srcdir}/std_iosfwd.h \
+ 	${bits_srcdir}/std_iostream.h \
+ 	${bits_srcdir}/std_istream.h \
+ 	${bits_srcdir}/std_iterator.h \
+ 	${bits_srcdir}/std_list.h \
+ 	${bits_srcdir}/std_locale.h \
+ 	${bits_srcdir}/std_map.h \
+ 	${bits_srcdir}/std_memory.h \
+ 	${bits_srcdir}/std_numeric.h \
+ 	${bits_srcdir}/std_ostream.h \
+ 	${bits_srcdir}/std_queue.h \
+ 	${bits_srcdir}/std_set.h \
+ 	${bits_srcdir}/std_sstream.h \
+ 	${bits_srcdir}/std_stack.h \
+ 	${bits_srcdir}/std_stdexcept.h \
+ 	${bits_srcdir}/std_streambuf.h \
+ 	${bits_srcdir}/std_string.h \
+ 	${bits_srcdir}/std_utility.h \
+ 	${bits_srcdir}/std_valarray.h \
+ 	${bits_srcdir}/std_vector.h \
+ 	${bits_srcdir}/stl_algo.h \
+ 	${bits_srcdir}/stl_algobase.h \
+ 	${bits_srcdir}/stl_alloc.h \
+ 	${bits_srcdir}/stl_bvector.h \
+ 	${bits_srcdir}/stl_construct.h \
+ 	${bits_srcdir}/stl_deque.h \
+ 	${bits_srcdir}/stl_function.h \
+ 	${bits_srcdir}/stl_heap.h \
+ 	${bits_srcdir}/stl_iterator.h \
+ 	${bits_srcdir}/stl_iterator_base_funcs.h \
+ 	${bits_srcdir}/stl_iterator_base_types.h \
+ 	${bits_srcdir}/stl_list.h \
+ 	${bits_srcdir}/stl_map.h \
+ 	${bits_srcdir}/stl_multimap.h \
+ 	${bits_srcdir}/stl_multiset.h \
+ 	${bits_srcdir}/stl_numeric.h \
+ 	${bits_srcdir}/stl_pair.h \
+ 	${bits_srcdir}/stl_pthread_alloc.h \
+ 	${bits_srcdir}/stl_queue.h \
+ 	${bits_srcdir}/stl_raw_storage_iter.h \
+ 	${bits_srcdir}/stl_relops.h \
+ 	${bits_srcdir}/stl_set.h \
+ 	${bits_srcdir}/stl_stack.h \
+ 	${bits_srcdir}/stl_tempbuf.h \
+ 	${bits_srcdir}/stl_threads.h \
+ 	${bits_srcdir}/stl_tree.h \
+ 	${bits_srcdir}/stl_uninitialized.h \
+ 	${bits_srcdir}/stl_vector.h \
+ 	${bits_srcdir}/streambuf.tcc \
+ 	${bits_srcdir}/stringfwd.h \
+ 	${bits_srcdir}/type_traits.h \
+ 	${bits_srcdir}/valarray_array.h \
+ 	${bits_srcdir}/valarray_array.tcc \
+ 	${bits_srcdir}/valarray_meta.h
+ 
+ backward_srcdir = ${glibcpp_srcdir}/include/backward
+ backward_builddir = ./backward
+ backward_headers = \
+ 	${backward_srcdir}/complex.h \
+ 	${backward_srcdir}/iomanip.h \
+ 	${backward_srcdir}/istream.h \
+ 	${backward_srcdir}/ostream.h \
+ 	${backward_srcdir}/stream.h \
+ 	${backward_srcdir}/streambuf.h \
+ 	${backward_srcdir}/algo.h \
+ 	${backward_srcdir}/algobase.h \
+ 	${backward_srcdir}/alloc.h \
+ 	${backward_srcdir}/bvector.h \
+ 	${backward_srcdir}/defalloc.h \
+ 	${backward_srcdir}/deque.h \
+ 	${backward_srcdir}/function.h \
+ 	${backward_srcdir}/hash_map.h \
+ 	${backward_srcdir}/hash_set.h \
+ 	${backward_srcdir}/hashtable.h \
+ 	${backward_srcdir}/heap.h \
+ 	${backward_srcdir}/iostream.h \
+ 	${backward_srcdir}/iterator.h \
+ 	${backward_srcdir}/list.h \
+ 	${backward_srcdir}/map.h \
+ 	${backward_srcdir}/multimap.h \
+ 	${backward_srcdir}/new.h \
+ 	${backward_srcdir}/multiset.h \
+ 	${backward_srcdir}/pair.h \
+ 	${backward_srcdir}/queue.h \
+ 	${backward_srcdir}/rope.h \
+ 	${backward_srcdir}/set.h \
+ 	${backward_srcdir}/slist.h \
+ 	${backward_srcdir}/stack.h \
+ 	${backward_srcdir}/tempbuf.h \
+ 	${backward_srcdir}/tree.h \
+ 	${backward_srcdir}/vector.h \
+ 	${backward_srcdir}/fstream.h \
+ 	${backward_srcdir}/strstream.h \
+ 	${backward_srcdir}/strstream \
+ 	${backward_srcdir}/backward_warning.h
+ 
+ ext_srcdir = ${glibcpp_srcdir}/include/ext
+ ext_builddir = ./ext
+ ext_headers = \
+ 	${ext_srcdir}/rope \
+ 	${ext_srcdir}/ropeimpl.h \
+ 	${ext_srcdir}/stl_rope.h \
+ 	${ext_srcdir}/slist \
+ 	${ext_srcdir}/hash_map \
+ 	${ext_srcdir}/hash_set \
+ 	${ext_srcdir}/stl_hashtable.h \
+ 	${ext_srcdir}/stl_hash_fun.h
+ 
+ # This is the common subset of files that all three "C" header models use.
+ c_base_srcdir = @C_INCLUDE_DIR@/bits
+ c_base_builddir = ./bits
+ c_base_headers = \
+ 	${c_base_srcdir}/std_cassert.h \
+ 	${c_base_srcdir}/std_cctype.h \
+ 	${c_base_srcdir}/std_cerrno.h \
+ 	${c_base_srcdir}/std_cfloat.h \
+ 	${c_base_srcdir}/std_climits.h \
+ 	${c_base_srcdir}/std_clocale.h \
+ 	${c_base_srcdir}/std_cmath.h \
+ 	${c_base_srcdir}/std_csetjmp.h \
+ 	${c_base_srcdir}/std_csignal.h \
+ 	${c_base_srcdir}/std_cstdarg.h \
+ 	${c_base_srcdir}/std_cstddef.h \
+ 	${c_base_srcdir}/std_cstdio.h \
+ 	${c_base_srcdir}/std_cstdlib.h \
+ 	${c_base_srcdir}/std_cstring.h \
+ 	${c_base_srcdir}/std_ctime.h \
+ 	${c_base_srcdir}/std_cwchar.h \
+ 	${c_base_srcdir}/std_cwctype.h \
+ 	${c_base_srcdir}/cmath.tcc 
+ 
+ c_compatibility_srcdir = ${glibcpp_srcdir}/include/c_compatibility
+ c_compatibility_builddir = ./
+ c_compatibility_headers = \
+ 	${c_compatibility_srcdir}/assert.h \
+ 	${c_compatibility_srcdir}/ctype.h \
+ 	${c_compatibility_srcdir}/errno.h \
+ 	${c_compatibility_srcdir}/float.h \
+ 	${c_compatibility_srcdir}/limits.h \
+ 	${c_compatibility_srcdir}/locale.h \
+ 	${c_compatibility_srcdir}/math.h \
+ 	${c_compatibility_srcdir}/setjmp.h \
+ 	${c_compatibility_srcdir}/signal.h \
+ 	${c_compatibility_srcdir}/stdarg.h \
+ 	${c_compatibility_srcdir}/stddef.h \
+ 	${c_compatibility_srcdir}/stdio.h \
+ 	${c_compatibility_srcdir}/stdlib.h \
+ 	${c_compatibility_srcdir}/string.h \
+ 	${c_compatibility_srcdir}/time.h \
+ 	${c_compatibility_srcdir}/wchar.h \
+ 	${c_compatibility_srcdir}/wctype.h 
+ 
+ std_srcdir = ${glibcpp_srcdir}/include/std
+ std_builddir = ./
+ std_headers = \
+ 	${std_srcdir}/algorithm \
+ 	${std_srcdir}/bitset \
+ 	${std_srcdir}/complex \
+ 	${std_srcdir}/deque \
+ 	${std_srcdir}/fstream \
+ 	${std_srcdir}/functional \
+ 	${std_srcdir}/iomanip \
+ 	${std_srcdir}/ios \
+ 	${std_srcdir}/iosfwd \
+ 	${std_srcdir}/iostream \
+ 	${std_srcdir}/istream \
+ 	${std_srcdir}/iterator \
+ 	${std_srcdir}/limits \
+ 	${std_srcdir}/list \
+ 	${std_srcdir}/locale \
+ 	${std_srcdir}/map \
+ 	${std_srcdir}/memory \
+ 	${std_srcdir}/numeric \
+ 	${std_srcdir}/ostream \
+ 	${std_srcdir}/queue \
+ 	${std_srcdir}/set \
+ 	${std_srcdir}/sstream \
+ 	${std_srcdir}/stack \
+ 	${std_srcdir}/stdexcept \
+ 	${std_srcdir}/streambuf \
+ 	${std_srcdir}/string \
+ 	${std_srcdir}/utility \
+ 	${std_srcdir}/valarray \
+ 	${std_srcdir}/vector \
+ 	${std_srcdir}/cassert \
+ 	${std_srcdir}/cctype \
+ 	${std_srcdir}/cerrno \
+ 	${std_srcdir}/cfloat \
+ 	${std_srcdir}/climits \
+ 	${std_srcdir}/clocale \
+ 	${std_srcdir}/ciso646 \
+ 	${std_srcdir}/cmath \
+ 	${std_srcdir}/csetjmp \
+ 	${std_srcdir}/csignal \
+ 	${std_srcdir}/cstdarg \
+ 	${std_srcdir}/cstddef \
+ 	${std_srcdir}/cstdio \
+ 	${std_srcdir}/cstdlib \
+ 	${std_srcdir}/cstring \
+ 	${std_srcdir}/ctime \
+ 	${std_srcdir}/cwchar \
+ 	${std_srcdir}/cwctype
+ 
+ target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@
+ target_builddir = ./${target_alias}/bits
+ target_headers = \
+ 	${target_srcdir}/ctype_base.h \
+ 	${target_srcdir}/ctype_inline.h \
+ 	${target_srcdir}/ctype_noninline.h \
+ 	${target_srcdir}/os_defines.h \
+ 	${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h
+ 
+ thread_builddir = ./${target_alias}/bits
+ thread_headers = \
+ 	${thread_builddir}/gthr.h \
+ 	${thread_builddir}/gthr-single.h \
+ 	${thread_builddir}/gthr-default.h
+ 
+ # XXX stamp-c_compatibility 
+ # Here are the rules for building the headers
+ all-local: \
+ 	${target_builddir}/c++config.h \
+ 	${target_builddir}/std_limits.h \
+ 	stamp-std stamp-bits stamp-c_base \
+ 	stamp-backward stamp-ext stamp-target stamp-thread \
+ 	${target_builddir}/basic_file_model.h \
+ 	${target_builddir}/c++io.h \
+ 	${target_builddir}/c++locale.h 
+ 
+ stamp-std: ${std_headers}
+ 	@if [ ! -d "${std_builddir}" ]; then \
+ 	  mkdir -p ${std_builddir} ;\
+ 	fi ;\
+ 	cp $? ${std_builddir} ;\
+ 	echo `date` > stamp-std
+ 
+ stamp-bits: ${bits_headers}
+ 	@if [ ! -d "${bits_builddir}" ]; then \
+ 	  mkdir -p ${bits_builddir} ;\
+ 	fi ;\
+ 	cp $? ${bits_builddir} ;\
+ 	echo `date` > stamp-bits
+ 
+ stamp-c_base: ${c_base_headers}
+ 	@if [ ! -d "${c_base_builddir}" ]; then \
+ 	  mkdir -p ${c_base_builddir} ;\
+ 	fi ;\
+ 	cp $? ${c_base_builddir} ;\
+ 	echo `date` > stamp-c_base
+ 
+ stamp-c_compatibility: ${c_compatibility_headers}
+ 	@if [ ! -d "${c_compatibility_builddir}" ]; then \
+ 	  mkdir -p ${c_compatibility_builddir} ;\
+ 	fi ;\
+ 	cp $? ${c_compatibility_builddir} ;\
+ 	echo `date` > stamp-c_compatibility
+ 
+ stamp-backward: ${backward_headers}
+ 	@if [ ! -d "${backward_builddir}" ]; then \
+ 	  mkdir -p ${backward_builddir} ;\
+ 	fi ;\
+ 	cp $? ${backward_builddir} ;\
+ 	echo `date` > stamp-backward
+ 
+ stamp-ext: ${ext_headers}
+ 	@if [ ! -d "${ext_builddir}" ]; then \
+ 	  mkdir -p ${ext_builddir} ;\
+ 	fi ;\
+ 	cp $? ${ext_builddir} ;\
+ 	echo `date` > stamp-ext
+ 
+ stamp-target: ${target_headers} ${target_builddir}
+ 	@cp $? ${target_builddir} ;\
+ 	echo `date` > stamp-target
+ 
+ stamp-thread: ${thread_headers} ${thread_builddir}
+ 	@echo `date` > stamp-thread
+ 
+ ${target_builddir}/basic_file_model.h: ${glibcpp_srcdir}/@BASIC_FILE_H@ \
+ 				       ${target_builddir}
+ 	@cp ${glibcpp_srcdir}/@BASIC_FILE_H@ ${target_builddir}/basic_file_model.h
+ 
+ ${target_builddir}/c++io.h: ${glibcpp_srcdir}/@CSTDIO_H@ ${target_builddir}
+ 	@cp ${glibcpp_srcdir}/@CSTDIO_H@ $@
+ 
+ ${target_builddir}/c++locale.h: ${glibcpp_srcdir}/@CLOCALE_H@ ${target_builddir}
+ 	@cp ${glibcpp_srcdir}/@CLOCALE_H@ $@
+ 
+ ${target_builddir}/c++threads.h: ${glibcpp_srcdir}/@CTHREAD_H@ \
+ 				 ${target_builddir}
+ 	@cp ${glibcpp_srcdir}/@CTHREAD_H@ $@
+ 
+ ${target_builddir}:
+ 	@if [ ! -d ${target_builddir} ]; then \
+ 	  mkdir -p ${target_builddir} ;\
+ 	fi
+ 
+ ${target_builddir}/c++config.h: ${glibcpp_builddir}/config.h \
+ 				${glibcpp_srcdir}/include/bits/c++config \
+ 				${target_builddir}
+ 	@cat ${glibcpp_srcdir}/include/bits/c++config > $@ ;\
+ 	sed -e 's/HAVE_/_GLIBCPP_HAVE_/g' \
+ 	-e 's/PACKAGE/_GLIBCPP_PACKAGE/g' \
+ 	-e 's/VERSION/_GLIBCPP_VERSION/g' \
+ 	-e 's/WORDS_/_GLIBCPP_WORDS_/g' \
+ 	< ${glibcpp_builddir}/config.h >> $@ ;\
+ 	echo "#endif // _CPP_CPPCONFIG_" >>$@
+ 
+ # This tool leaves the header in the wrong place, but rather than fix the
+ # tool, the destination get massaged here.
+ ${target_builddir}/std_limits.h: ${target_builddir}/c++config.h \
+ 				 stamp-target ${target_builddir}
+ 	CC="$(CC) -I${glibcpp_builddir} -I${target_builddir}/.." \
+ 	${glibcpp_srcdir}/mknumeric_limits \
+ 	${glibcpp_builddir} ${glibcpp_srcdir} @GLIBCPP_IS_CROSS_COMPILING@ ;\
+ 	mv ${glibcpp_builddir}/include/bits/std_limits.h ${target_builddir}
+ 
+ # This can definitely be improved.
+ glibcpp_thread_h = @glibcpp_thread_h@
+ 
+ ${thread_builddir}/gthr.h: 
+ 	cp ${glibcpp_srcdir}/../gcc/gthr.h ${thread_builddir}/gthr.h-in; \
+ 	sed '/^#/s/\([A-Z_][A-Z_]*\)/_GLIBCPP_\1/g' < ${thread_builddir}/gthr.h-in > $@
+ 
+ ${thread_builddir}/gthr-single.h:
+ 	cp ${glibcpp_srcdir}/../gcc/gthr-single.h ${thread_builddir}/gthr-single.h-in; \
+ 	sed 's/\(UNUSED\)/_GLIBCPP_\1/g' < ${thread_builddir}/gthr-single.h-in | sed 's/\(GCC[A-Z_]*_H\)/_GLIBCPP_\1/g' > $@
+ 
+ ${thread_builddir}/gthr-default.h:
+ 	cp ${glibcpp_srcdir}/../gcc/${glibcpp_thread_h} ${thread_builddir}/gthr-default.h-in; \
+ 	sed 's/\(UNUSED\)/_GLIBCPP_\1/g' < ${thread_builddir}/gthr-default.h-in | sed 's/\(GCC[A-Z_]*_H\)/_GLIBCPP_\1/g' | sed 's/\([A-Z_]*WEAK\)/_GLIBCPP_\1/g' > $@
+ 
+ # One big happy istallation:  just copy everything
+ # from the build to the install tree (except for the build stamps)
+ gxx_include_dir = @gxx_include_dir@
+ 
+ install-data-local:
+ 	for file in `find . ! -name stamp-\* -print`; do \
+ 	installFile=${gxx_include_dir}/$${file} ;\
+ 	if [ -d $${file} ]; then \
+ 	  $(INSTALL) -d $${installFile} ;\
+ 	else \
+ 	  $(INSTALL_DATA) $${file} $${installFile} ;\
+ 	fi ;\
+ 	done
+ 
+ # By adding these files here, automake will remove them for 'make clean'
+ CLEANFILES = \
+         stamp-backward stamp-bits stamp-c_base stamp-ext stamp-libio \
+         stamp-std stamp-target stamp-threads
+ 
Index: libio/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libio/Makefile.am,v
retrieving revision 1.20
diff -c -p -r1.20 Makefile.am
*** Makefile.am	2001/02/03 09:01:44	1.20
--- Makefile.am	2001/07/02 23:49:49
*************** noinst_LTLIBRARIES =
*** 32,49 ****
  endif
  
  # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
! GLIBCPP_INCLUDE_DIR = @GLIBCPP_INCLUDE_DIR@
! C_INCLUDE_DIR = @C_INCLUDE_DIR@
  TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
- LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
- LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
  LIBIO_INCLUDES = @LIBIO_INCLUDES@
- CSHADOW_INCLUDES = @CSHADOW_INCLUDES@
  
  INCLUDES = \
  	-nostdinc++ \
! 	-I$(top_builddir)/include -I$(GLIBCPP_INCLUDE_DIR) \
! 	$(LIBIO_INCLUDES) $(TOPLEVEL_INCLUDES)	
  
  libio_headers = \
          libio.h libioP.h iolibio.h
--- 32,44 ----
  endif
  
  # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
! GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
  TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
  LIBIO_INCLUDES = @LIBIO_INCLUDES@
  
  INCLUDES = \
  	-nostdinc++ \
! 	$(GLIBCPP_INCLUDES) $(LIBIO_INCLUDES) $(TOPLEVEL_INCLUDES)	
  
  libio_headers = \
          libio.h libioP.h iolibio.h
Index: libmath/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libmath/Makefile.am,v
retrieving revision 1.12
diff -c -p -r1.12 Makefile.am
*** Makefile.am	2001/06/22 03:43:47	1.12
--- Makefile.am	2001/07/02 23:49:49
*************** libmath_la_SOURCES = signbit.c signbitf.
*** 45,59 ****
  LINK = $(LIBTOOL) --mode=link "$(CCLD)" $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
  
  # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
- GLIBCPP_INCLUDE_DIR = @GLIBCPP_INCLUDE_DIR@
- C_INCLUDE_DIR = @C_INCLUDE_DIR@
  TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
- LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
- LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
- LIBIO_INCLUDES = @LIBIO_INCLUDES@
- CSHADOW_INCLUDES = @CSHADOW_INCLUDES@
  
  INCLUDES = \
- 	-I$(GLIBCPP_INCLUDE_DIR) -I$(top_builddir)/include  \
  	$(TOPLEVEL_INCLUDES) 
  
--- 45,55 ----
  LINK = $(LIBTOOL) --mode=link "$(CCLD)" $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
  
  # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
  TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
  
  INCLUDES = \
  	$(TOPLEVEL_INCLUDES) 
+ 
+ 
+ 
  
Index: libmath/mathconf.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libmath/mathconf.h,v
retrieving revision 1.6
diff -c -p -r1.6 mathconf.h
*** mathconf.h	2001/02/25 09:24:10	1.6
--- mathconf.h	2001/07/02 23:49:51
***************
*** 28,50 ****
     the GNU General Public License.  */
  
  
! #include <bits/c++config.h>
  
! #ifdef _GLIBCPP_HAVE_ENDIAN_H
  # include <endian.h>
  #else
! # ifdef _GLIBCPP_HAVE_MACHINE_ENDIAN_H
  #  include <machine/endian.h>
  # else
! #  ifdef _GLIBCPP_HAVE_SYS_MACHINE_H
  #   include <sys/machine.h>
  #  else
! #   if defined _GLIBCPP_HAVE_SYS_ISA_DEFS_H || defined _GLIBCPP_HAVE_MACHINE_PARAM_H
  /* This is on Solaris.  */
! #    ifdef _GLIBCPP_HAVE_SYS_ISA_DEFS_H
  #     include <sys/isa_defs.h>
  #    endif
! #    ifdef _GLIBCPP_HAVE_MACHINE_PARAM_H
  #     include <machine/param.h>
  #    endif
  #    ifdef _LITTLE_ENDIAN
--- 28,50 ----
     the GNU General Public License.  */
  
  
! #include <config.h>
  
! #ifdef HAVE_ENDIAN_H
  # include <endian.h>
  #else
! # ifdef HAVE_MACHINE_ENDIAN_H
  #  include <machine/endian.h>
  # else
! #  ifdef HAVE_SYS_MACHINE_H
  #   include <sys/machine.h>
  #  else
! #   if defined HAVE_SYS_ISA_DEFS_H || defined HAVE_MACHINE_PARAM_H
  /* This is on Solaris.  */
! #    ifdef HAVE_SYS_ISA_DEFS_H
  #     include <sys/isa_defs.h>
  #    endif
! #    ifdef HAVE_MACHINE_PARAM_H
  #     include <machine/param.h>
  #    endif
  #    ifdef _LITTLE_ENDIAN
*************** typedef int Int32_t __attribute ((mode (
*** 72,78 ****
  typedef unsigned int U_int64_t __attribute ((mode (DI)));
  typedef int Int64_t __attribute ((mode (DI)));
  
! #ifdef _GLIBCPP_HAVE_NAN_H
  # include <nan.h>
  #endif
  
--- 72,78 ----
  typedef unsigned int U_int64_t __attribute ((mode (DI)));
  typedef int Int64_t __attribute ((mode (DI)));
  
! #ifdef HAVE_NAN_H
  # include <nan.h>
  #endif
  
*************** typedef int Int64_t __attribute ((mode (
*** 81,95 ****
  double nan (void);
  #endif
  
! #ifdef _GLIBCPP_HAVE_IEEEFP_H
  # include <ieeefp.h>
  #endif
  
! #ifdef _GLIBCPP_HAVE_FP_H
  # include <fp.h>
  #endif
  
! #ifdef _GLIBCPP_HAVE_FLOAT_H
  # include <float.h>
  #endif
  
--- 81,95 ----
  double nan (void);
  #endif
  
! #ifdef HAVE_IEEEFP_H
  # include <ieeefp.h>
  #endif
  
! #ifdef HAVE_FP_H
  # include <fp.h>
  #endif
  
! #ifdef HAVE_FLOAT_H
  # include <float.h>
  #endif
  
*************** do {								\
*** 265,310 ****
          
  
  /* Replacement for non-existing float functions.  */
! #if !defined(_GLIBCPP_HAVE_FABSF) && !defined(_GLIBCPP_HAVE___BUILTIN_FABSF)
  # define fabsf(x) fabs (x)
  #endif
! #if !defined(_GLIBCPP_HAVE_COSF) && !defined(_GLIBCPP_HAVE___BUILTIN_COSF)
  # define cosf(x) cos (x)
  #endif
! #ifndef _GLIBCPP_HAVE_COSHF
  # define coshf(x) cosh (x)
  #endif
! #ifndef _GLIBCPP_HAVE_EXPF
  # define expf(x) expf (x)
  #endif
! #ifndef _GLIBCPP_HAVE_LOGF
  # define logf(x) log(x)
  #endif
! #ifndef _GLIBCPP_HAVE_LOG10F
  # define log10f(x) log10 (x)
  #endif
! #ifndef _GLIBCPP_HAVE_POWF
  # define powf(x, y) pow (x, y)
  #endif
! #if !defined(_GLIBCPP_HAVE_SINF) && !defined(_GLIBCPP_HAVE___BUILTIN_SINF)
  # define sinf(x) sin (x)
  #endif
! #ifndef _GLIBCPP_HAVE_SINHF
  # define sinhf(x) sinh (x)
  #endif
! #if !defined(_GLIBCPP_HAVE_SQRTF) && !defined(_GLIBCPP_HAVE___BUILTIN_SQRTF)
  # define sqrtf(x) sqrt (x)
  #endif
! #ifndef _GLIBCPP_HAVE_TANF
  # define tanf(x) tan (x)
  #endif
! #ifndef _GLIBCPP_HAVE_TANHF
  # define tanhf(x) tanh (x)
  #endif
! #ifndef _GLIBCPP_HAVE_STRTOF
  # define strtof(s, e) strtod (s, e)
  #endif
  
  #ifdef __cplusplus
  }
  #endif
--- 265,312 ----
          
  
  /* Replacement for non-existing float functions.  */
! #if !defined(HAVE_FABSF) && !defined(HAVE___BUILTIN_FABSF)
  # define fabsf(x) fabs (x)
  #endif
! #if !defined(HAVE_COSF) && !defined(HAVE___BUILTIN_COSF)
  # define cosf(x) cos (x)
  #endif
! #ifndef HAVE_COSHF
  # define coshf(x) cosh (x)
  #endif
! #ifndef HAVE_EXPF
  # define expf(x) expf (x)
  #endif
! #ifndef HAVE_LOGF
  # define logf(x) log(x)
  #endif
! #ifndef HAVE_LOG10F
  # define log10f(x) log10 (x)
  #endif
! #ifndef HAVE_POWF
  # define powf(x, y) pow (x, y)
  #endif
! #if !defined(HAVE_SINF) && !defined(HAVE___BUILTIN_SINF)
  # define sinf(x) sin (x)
  #endif
! #ifndef HAVE_SINHF
  # define sinhf(x) sinh (x)
  #endif
! #if !defined(HAVE_SQRTF) && !defined(HAVE___BUILTIN_SQRTF)
  # define sqrtf(x) sqrt (x)
  #endif
! #ifndef HAVE_TANF
  # define tanf(x) tan (x)
  #endif
! #ifndef HAVE_TANHF
  # define tanhf(x) tanh (x)
  #endif
! #ifndef HAVE_STRTOF
  # define strtof(s, e) strtod (s, e)
  #endif
  
  #ifdef __cplusplus
  }
  #endif
+ 
+ 
Index: libmath/stubs.c
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libmath/stubs.c,v
retrieving revision 1.5
diff -c -p -r1.5 stubs.c
*** stubs.c	2001/06/23 23:47:39	1.5
--- stubs.c	2001/07/02 23:49:51
***************
*** 28,34 ****
     the GNU General Public License.  */
  
  #include <math.h>
! #include <bits/c++config.h>
  
  #if !defined(_GLIBCPP_HAVE_COSF) && !defined(_GLIBCPP_HAVE___BUILTIN_COSF)
  float
--- 28,34 ----
     the GNU General Public License.  */
  
  #include <math.h>
! #include <config.h>
  
  #if !defined(_GLIBCPP_HAVE_COSF) && !defined(_GLIBCPP_HAVE___BUILTIN_COSF)
  float
Index: libsupc++/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libsupc++/Makefile.am,v
retrieving revision 1.27
diff -c -p -r1.27 Makefile.am
*** Makefile.am	2001/06/04 02:24:06	1.27
--- Makefile.am	2001/07/02 23:49:52
*************** WARN_CXXFLAGS = \
*** 55,72 ****
  	@WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once
  
  # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
! GLIBCPP_INCLUDE_DIR = @GLIBCPP_INCLUDE_DIR@
! C_INCLUDE_DIR = @C_INCLUDE_DIR@
! CSTD_INCLUDES = @CSTD_INCLUDES@
! LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
  LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
- LIBIO_INCLUDES = @LIBIO_INCLUDES@
- TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
  
  INCLUDES = \
  	-I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include \
! 	-I$(GLIBCPP_INCLUDE_DIR) $(CSTD_INCLUDES) -I$(top_builddir)/include \
! 	 $(LIBSUPCXX_INCLUDES)
  
  headers = \
  	exception new typeinfo cxxabi.h exception_defines.h 
--- 55,66 ----
  	@WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once
  
  # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
! GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
  LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
  
  INCLUDES = \
  	-I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include \
! 	$(GLIBCPP_INCLUDES) $(LIBSUPCXX_INCLUDES)
  
  headers = \
  	exception new typeinfo cxxabi.h exception_defines.h 
Index: src/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/src/Makefile.am,v
retrieving revision 1.89
diff -c -p -r1.89 Makefile.am
*** Makefile.am	2001/06/26 21:22:57	1.89
--- Makefile.am	2001/07/02 23:49:53
*************** WARN_CXXFLAGS = \
*** 49,57 ****
  	@WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once
  
  # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
! GLIBCPP_INCLUDE_DIR = @GLIBCPP_INCLUDE_DIR@
! C_INCLUDE_DIR = @C_INCLUDE_DIR@
! CSTD_INCLUDES = @CSTD_INCLUDES@
  LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
  LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
  LIBIO_INCLUDES = @LIBIO_INCLUDES@
--- 49,55 ----
  	@WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once
  
  # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
! GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
  LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
  LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
  LIBIO_INCLUDES = @LIBIO_INCLUDES@
*************** TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
*** 59,170 ****
  
  INCLUDES = \
  	-nostdinc++ \
! 	-I$(GLIBCPP_INCLUDE_DIR) $(CSTD_INCLUDES) -I$(top_builddir)/include \
  	$(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \
  	$(TOPLEVEL_INCLUDES)
  
- base_headers = \
- 	bits/cpp_type_traits.h bits/char_traits.h bits/codecvt.h \
- 	bits/stringfwd.h bits/std_string.h bits/basic_string.h \
- 	bits/basic_string.tcc \
- 	bits/generic_shadow.h bits/std_utility.h \
- 	bits/std_complex.h \
- 	bits/valarray_array.h bits/valarray_array.tcc bits/valarray_meta.h \
- 	bits/std_valarray.h bits/mask_array.h bits/slice.h bits/slice_array.h \
- 	bits/gslice.h bits/gslice_array.h bits/indirect_array.h \
- 	bits/std_fstream.h bits/std_iomanip.h \
- 	bits/ios_base.h bits/fpos.h bits/basic_ios.h bits/basic_ios.tcc \
- 	bits/std_ios.h bits/std_iosfwd.h bits/std_iostream.h \
- 	bits/std_istream.h bits/istream.tcc bits/std_locale.h \
- 	bits/fstream.tcc bits/ostream.tcc bits/sstream.tcc \
- 	bits/stream_iterator.h bits/streambuf_iterator.h \
- 	bits/std_ostream.h bits/std_sstream.h bits/std_streambuf.h \
- 	bits/streambuf.tcc bits/basic_file.h \
- 	bits/locale_facets.h bits/locale_facets.tcc bits/localefwd.h \
- 	bits/stl_pthread_alloc.h bits/pthread_allocimpl.h \
- 	bits/stl_threads.h \
- 	bits/stl_iterator_base_types.h bits/stl_iterator_base_funcs.h \
- 	bits/std_bitset.h bits/std_deque.h bits/std_functional.h \
- 	bits/std_iterator.h bits/std_list.h \
- 	bits/std_map.h bits/std_memory.h bits/std_numeric.h \
- 	bits/std_queue.h bits/std_set.h bits/std_stack.h \
- 	bits/std_stdexcept.h bits/functexcept.h bits/std_vector.h \
- 	bits/stl_algo.h bits/stl_algobase.h bits/stl_alloc.h \
- 	bits/stl_deque.h bits/stl_function.h \
- 	bits/stl_heap.h bits/stl_iterator.h bits/stl_list.h bits/stl_map.h \
- 	bits/stl_multimap.h bits/stl_multiset.h bits/stl_numeric.h \
- 	bits/stl_pair.h bits/stl_queue.h bits/stl_raw_storage_iter.h \
- 	bits/stl_relops.h bits/stl_set.h bits/stl_stack.h bits/stl_tempbuf.h \
- 	bits/stl_tree.h bits/stl_uninitialized.h bits/stl_vector.h \
- 	bits/stl_bvector.h bits/type_traits.h bits/std_algorithm.h \
- 	bits/stl_construct.h bits/boost_concept_check.h bits/concept_check.h
- 
- 
- backward_headers = \
- 	backward/complex.h backward/iomanip.h backward/istream.h \
- 	backward/ostream.h backward/stream.h backward/streambuf.h \
- 	backward/algo.h backward/algobase.h backward/alloc.h \
- 	backward/bvector.h backward/defalloc.h backward/deque.h \
- 	backward/function.h backward/hash_map.h backward/hash_set.h \
- 	backward/hashtable.h backward/heap.h backward/iostream.h \
- 	backward/iterator.h backward/list.h backward/map.h \
- 	backward/multimap.h backward/new.h backward/multiset.h \
- 	backward/pair.h backward/queue.h backward/rope.h backward/set.h \
- 	backward/slist.h backward/stack.h backward/tempbuf.h backward/tree.h \
- 	backward/vector.h backward/fstream.h backward/strstream.h \
- 	backward/strstream backward/backward_warning.h
- 
- ext_headers = \
- 	ext/rope ext/ropeimpl.h ext/stl_rope.h \
- 	ext/slist ext/hash_map ext/hash_set \
- 	ext/stl_hashtable.h ext/stl_hash_fun.h 
- 
- c_base_headers = \
- 	bits/std_cassert.h bits/std_cctype.h bits/std_cerrno.h \
- 	bits/std_cfloat.h bits/std_climits.h bits/std_clocale.h \
- 	bits/std_cmath.h bits/std_csetjmp.h bits/std_csignal.h \
- 	bits/std_cstdarg.h bits/std_cstddef.h bits/std_cstdio.h \
- 	bits/std_cstdlib.h bits/std_cstring.h bits/std_ctime.h \
- 	bits/std_cwchar.h bits/std_cwctype.h bits/cmath.tcc
- 
- if GLIBCPP_USE_CSHADOW
- c_shadow_headers = \
- 	assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h \
- 	signal.h stdarg.h stddef.h stdio.h stdlib.h string.h time.h wchar.h \
- 	wctype.h fcntl.h libio.h iolibio.h libioP.h pthread.h iconv.h \
- 	features.h langinfo.h \
- 	bits/wrap_libio.h bits/wrap_iolibio.h bits/wrap_libioP.h \
- 	bits/wrap_iconv.h bits/wrap_fcntl.h bits/wrap_pthread.h \
- 	bits/wrap_features.h bits/wrap_langinfo.h \
- 	sys/cdefs.h 
- else
- c_shadow_headers =
- endif
- 
- std_headers = \
- 	algorithm bitset complex deque fstream functional \
- 	iomanip ios iosfwd iostream istream iterator limits list locale \
- 	map memory numeric ostream queue set sstream stack stdexcept \
- 	streambuf string utility valarray vector \
- 	cassert cctype cerrno cfloat climits clocale ciso646 \
- 	cmath csetjmp csignal cstdarg cstddef cstdio cstdlib \
- 	cstring ctime cwchar cwctype
- 
- if GLIBCPP_NEED_LIBIO 
- libio_headers = \
- 	$(top_srcdir)/libio/_G_config.h $(top_srcdir)/libio/libio.h
- else
- libio_headers =
- endif
- 
- build_headers = \
- 	bits/std_limits.h \
- 	bits/c++config.h bits/c++io.h bits/c++locale.h \
- 	bits/gthr.h bits/gthr-single.h bits/gthr-default.h \
- 	bits/basic_file_model.h \
- 	bits/atomicity.h bits/os_defines.h \
- 	bits/ctype_base.h bits/ctype_noninline.h bits/ctype_inline.h 
- 
  sources = \
  	basic_file.cc bitset.cc c++locale.cc cmath.cc codecvt.cc \
  	complex_io.cc functexcept.cc globals.cc ios.cc limitsMEMBERS.cc \
--- 57,66 ----
  
  INCLUDES = \
  	-nostdinc++ \
! 	$(GLIBCPP_INCLUDES) \
  	$(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \
  	$(TOPLEVEL_INCLUDES)
  
  sources = \
  	basic_file.cc bitset.cc c++locale.cc cmath.cc codecvt.cc \
  	complex_io.cc functexcept.cc globals.cc ios.cc limitsMEMBERS.cc \
*************** sources = \
*** 173,179 ****
  	wstring-inst.cc
  
  
! VPATH = $(top_srcdir):$(top_srcdir)/src:$(GLIBCPP_INCLUDE_DIR):$(GLIBCPP_INCLUDE_DIR)/std:$(C_INCLUDE_DIR)
  
  libstdc___la_SOURCES = $(sources)
  
--- 69,75 ----
  	wstring-inst.cc
  
  
! VPATH = $(top_srcdir):$(top_srcdir)/src
  
  libstdc___la_SOURCES = $(sources)
  
*************** libstdc___la_DEPENDENCIES = $(libstdc___
*** 188,283 ****
  
  # Use special rules for the deprecated source files so that they find
  # deprecated include files.
  strstream.lo: strstream.cc
  	$(LTCXXCOMPILE) -I$(GLIBCPP_INCLUDE_DIR)/backward -c $<
  strstream.o: strstream.cc
  	$(CXXCOMPILE) -I$(GLIBCPP_INCLUDE_DIR)/backward -c $<
- 
- # Make sure cshadow headers are built first.
- if GLIBCPP_USE_CSHADOW
- CSHADOW_H = $(top_builddir)/stamp-cshadow
- else
- CSHADOW_H =
- endif
- 
- # Specify that all *.o's depend on this.
- $(libstdc___la_OBJECTS): $(CSHADOW_H)
- 
- $(top_builddir)/stamp-cshadow: $(top_srcdir)/mkinclosure \
- 	                       $(top_srcdir)/mkcshadow
- 	$(top_srcdir)/mkinclosure \
- 	"-I $(top_builddir)/../../gcc/include -I /usr/include -G fcntl.h unistd.h" | $(top_srcdir)/mkcshadow;
- 	rm -f  $(top_builddir)/stamp-cshadow 
- 	echo "done" > $(top_builddir)/stamp-cshadow 
- 
- 
- # Check for various configure bits that change where the headers get installed.
- gxx_include_dir = @gxx_include_dir@
- gxx_target_include_dir = $(gxx_include_dir)/$(target_alias)
- 
- # We have our own special, ridiculously complicated installation routine
- # here, as automake/autoconf is currently brain-damaged when it comes
- # to installing sub-directories of headers. In particular, we want to
- # 1) install build headers from (blddir)/include/bits -> (install)/bits
- # 2) install source headers from
- #      (srcdir)/include/bits -> (install)/bits
- #      (srcdir)/include/ext -> (install)/ext
- #      (srcdir)/include/backward -> (install)/backward
- #      ... and the always entertaining "C" compatibility bits
- #      where * represents configure-time directory switching
- #      (srcdir)/include/c* -> (install)/
- #      (srcdir)/include/c*/bits -> (install)/bits
- #      (srcdir)/include/c*/sys -> (install)/sys
- install-data-local: myinstalldirs myinstallheaders
- 
- # NB: installation of shadow header directories is not attempted.
- myinstalldirs:
- 	if test -z "$(MULTISUBDIR)"; then \
- 	$(mkinstalldirs) $(DESTDIR)$(gxx_include_dir)/backward; \
- 	$(mkinstalldirs) $(DESTDIR)$(gxx_include_dir)/bits; \
- 	$(mkinstalldirs) $(DESTDIR)$(gxx_include_dir)/ext; \
- 	$(mkinstalldirs) $(DESTDIR)$(gxx_target_include_dir)/bits; \
- 	fi
- 
- # NB: As libio_headers may be empty, need this to make sure bash doesn't
- # choke on an empty for... loop by using libio_headers_install
- # NB: installation of shadow headers is not attempted.
- src_incdir = @GLIBCPP_INCLUDE_DIR@
- bld_incdir = $(top_builddir)/include
- c_incdir = @C_INCLUDE_DIR@
- myinstallheaders: 
- 	if test -z "$(MULTISUBDIR)"; then \
- 	for i in $(base_headers); do \
- 	echo "$(INSTALL_DATA) $(src_incdir)/$$i $(gxx_include_dir)/bits/";\
- 	  $(INSTALL_DATA) $(src_incdir)/$$i $(gxx_include_dir)/bits/; \
- 	done; \
- 	for i in $(ext_headers); do \
- 	echo "$(INSTALL_DATA) $(src_incdir)/$$i $(gxx_include_dir)/ext/";\
- 	  $(INSTALL_DATA) $(src_incdir)/$$i $(gxx_include_dir)/ext/; \
- 	done; \
- 	for i in $(backward_headers); do \
- 	echo "$(INSTALL_DATA) $(src_incdir)/$$i $(gxx_include_dir)/backward/";\
- 	  $(INSTALL_DATA) $(src_incdir)/$$i $(gxx_include_dir)/backward/; \
- 	done; \
- 	for i in $(c_base_headers); do \
- 	echo "$(INSTALL_DATA) $(c_incdir)/$$i $(gxx_include_dir)/bits/";\
- 	  $(INSTALL_DATA) $(c_incdir)/$$i $(gxx_include_dir)/bits/; \
- 	done; \
- 	for i in $(std_headers); do \
- 	echo "$(INSTALL_DATA) $(src_incdir)/std/$$i $(gxx_include_dir)";\
- 	  $(INSTALL_DATA) $(src_incdir)/std/$$i $(gxx_include_dir); \
- 	done; \
- 	for i in $(build_headers); do \
- 	echo "$(INSTALL_DATA) $(bld_incdir)/$$i \
- 	  $(gxx_target_include_dir)/bits/"; $(INSTALL_DATA) \
- 	  $(bld_incdir)/$$i $(gxx_target_include_dir)/bits/; \
- 	done; \
- 	libio_headers_install='$(libio_headers)'; \
- 	for i in $$libio_headers_install; do \
- 	echo "$(INSTALL_DATA) $$i $(gxx_include_dir)"; \
- 	  $(INSTALL_DATA) $$i $(gxx_include_dir); \
- 	done; \
- 	fi;
  
  
  # AM_CXXFLAGS needs to be in each subdirectory so that it can be
--- 84,94 ----
  
  # Use special rules for the deprecated source files so that they find
  # deprecated include files.
+ GLIBCPP_INCLUDE_DIR=@glibcpp_builddir@/include
  strstream.lo: strstream.cc
  	$(LTCXXCOMPILE) -I$(GLIBCPP_INCLUDE_DIR)/backward -c $<
  strstream.o: strstream.cc
  	$(CXXCOMPILE) -I$(GLIBCPP_INCLUDE_DIR)/backward -c $<
  
  
  # AM_CXXFLAGS needs to be in each subdirectory so that it can be
Index: src/gen-num-limits.cc
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/src/gen-num-limits.cc,v
retrieving revision 1.10
diff -c -p -r1.10 gen-num-limits.cc
*** gen-num-limits.cc	2001/03/20 19:39:45	1.10
--- gen-num-limits.cc	2001/07/02 23:49:56
***************
*** 33,56 ****
  // Do not compile with optimization turned on.
  //
  
! #include <bits/c++config.h>
! 
! #if HAVE_CONFIG_H
! # include <config.h>
! #endif
! 
! //
! // Force Linux <limits.h> to define the *LONG_LONG*
! //
! #if __linux__ && _GLIBCPP_USE_LONG_LONG
! # ifndef __USE_GNU
! #  define __USE_GNU 1
! # endif
! # ifndef _GNU_SOURCE
! #  define _GNU_SOURCE 1
! # endif
! #endif
! 
  #include <limits.h>
  #include <float.h>
  #include <stdio.h>
--- 33,39 ----
  // Do not compile with optimization turned on.
  //
  
! #include <config.h>
  #include <limits.h>
  #include <float.h>
  #include <stdio.h>

































Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]