[v3] new staging headers

Phil Edwards pedwards@disaster.jaj.com
Fri Jul 13 09:54:00 GMT 2001


There's been much discussion on the libstdc++ list about this patch;
I won't repeat it all here.  Suffice to say that this simplifies many
build/install issues, and should help fix some of the AIX multilib problems.
We now create a "staging area" for include files, mirroring the header
tree which will exist after installation.

Installed on trunk only.  We'll give it a few days and then move it to the
trunk next week.  Tested on a few major platforms (again, see the libstdc++
archives of the last 24 hours); it's been running in people's local trees
for some time now.

One additional note:  Gaby, the change of yours from three days ago regarding
expf and atan2f didn't get run through autoheader to rebuild config.h.in
and the two HAVE_ symbols.  When I regenerated everything for this patch,
they got picked up here.  So that's why config.h.in is being touched with
this checkin.


2001-07-13  Stephen M. Webb  <stephen@bregmasoft.com>
            Loren J. Rittle  <ljrittle@acm.org>
            Phil Edwards  <pme@sources.redhat.com>

	* include/Makefile.am:  New file encapsulating header generation rules.
	* Makefile.am (SUBDIRS):  Prepend 'include' directory.
	* acinclude.m4:  Moved/removed rules for building various headers.
	* configure.in (AC_OUTPUT):  Add include/Makefile.
	* mkc++config:  Removed.

	* testsuite_flags.in:  Changed build-includes to match new scheme.
	* mknumeric_limits:  Likewise.
	* libio/Makefile.am:  Changed INCLUDES to maatch new header scheme.
	* libmath/Makefile.am:  Likewise.
	* libsupc++/Makefile.am:  Likewise.
	* src/Makefile.am:  Likewise; removed rules to build headers.
	* libmath/mathconf.h:  Changed #include'd header names to match.
	* libmath/stubs.c:  Likewise.
	* src/gen-num-limits.cc:  Likewise.

	* configure:  Regenerated.
	* config.h.in:  Regenerated.
	* aclocal.m4:  Regenerated.
	* Makefile.in:  Regenerated.
	* include/Makefile.in:  Regenerated.
	* libio/Makefile.in:  Regenerated.
	* libmath/Makefile.in:  Regenerated.
	* libsupc++/Makefile.in:  Regenerated.
	* src/Makefile.in:  Regenerated.
	* testsuite/Makefile.in:  Regenerated.


Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/Makefile.am,v
retrieving revision 1.22
diff -u -3 -p -r1.22 Makefile.am
--- Makefile.am	2001/05/14 01:14:55	1.22
+++ Makefile.am	2001/07/13 16:37:13
@@ -24,7 +24,7 @@
 AUTOMAKE_OPTIONS = 1.3 cygnus
 MAINT_CHARSET = latin1
 
-SUBDIRS = libio libmath libsupc++ src testsuite
+SUBDIRS = include libio libmath libsupc++ src testsuite
 
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
 
@@ -58,7 +58,6 @@ doxygen-maint:
 	  ${srcdir}/docs/doxygen/run_doxygen --mode=maint $${srcdir} $${outdir})
 
 .PHONY: doxygen doxygen-maint
-
 
 # Multilib support.
 MAKEOVERRIDES=
Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/acinclude.m4,v
retrieving revision 1.165
diff -u -3 -p -r1.165 acinclude.m4
--- acinclude.m4	2001/07/10 12:55:05	1.165
+++ acinclude.m4	2001/07/13 16:37:13
@@ -760,7 +760,6 @@ AC_DEFUN(GLIBCPP_CHECK_TARGET, [
     . [$]{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)
 ])
 
 
@@ -1011,7 +1010,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
       ;;
   esac
 
-  AC_LINK_FILES($CLOCALE_H, include/bits/c++locale.h)
+  AC_SUBST(CLOCALE_H)
   AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
 ])
 
@@ -1111,13 +1110,13 @@ AC_DEFUN(GLIBCPP_ENABLE_CSTDIO, [
       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_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_LINK_FILES($CCODECVT_C, libio/c_codecvt.c)
+  AC_SUBST(CCODECVT_C)
   # 2000-08-04 bkoz hack
 
   AM_CONDITIONAL(GLIBCPP_BUILD_LIBIO,
@@ -1150,24 +1149,13 @@ AC_DEFUN(GLIBCPP_ENABLE_THREADS, [
   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])
+
+  glibcpp_thread_h=gthr-$target_thread_file.h
+  AC_SUBST(glibcpp_thread_h)
 ])
 
 
@@ -1497,25 +1485,19 @@ dnl Option parsed, now other scripts can
 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
 dnl LIBIO_INCLUDES
 dnl CSHADOW_INCLUDES
 dnl
-dnl GLIBCPP_EXPORT_INCLUDE
+dnl GLIBCPP_EXPORT_INCLUDES
 AC_DEFUN(GLIBCPP_EXPORT_INCLUDES, [
-  # Root level of the include sources.
-  GLIBCPP_INCLUDE_DIR='$(top_srcdir)/include'
+  # Root level of the build directory include sources.
+  GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/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
+  if test x"$CANADIAN" = xyes; then
     TOPLEVEL_INCLUDES='-I$(includedir)'
   fi
 
@@ -1523,26 +1505,16 @@ AC_DEFUN(GLIBCPP_EXPORT_INCLUDES, [
 
   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
+  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_INCLUDE_DIR)
+  AC_SUBST(GLIBCPP_INCLUDES)
   AC_SUBST(TOPLEVEL_INCLUDES)
   AC_SUBST(LIBMATH_INCLUDES)
   AC_SUBST(LIBSUPCXX_INCLUDES)
-  AC_SUBST(LIBIO_INCLUDES)
-  AC_SUBST(CSTD_INCLUDES)
 ])
 
 
Index: config.h.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/config.h.in,v
retrieving revision 1.34
diff -u -3 -p -r1.34 config.h.in
--- config.h.in	2001/06/11 04:36:55	1.34
+++ config.h.in	2001/07/13 16:37:13
@@ -261,9 +261,6 @@
 /* Define if you have the asinl function.  */
 #undef HAVE_ASINL
 
-/* Define if you have the atan2f function.  */
-#undef HAVE_ATAN2F
-
 /* Define if you have the atan2l function.  */
 #undef HAVE_ATAN2L
 
@@ -305,9 +302,6 @@
 
 /* Define if you have the drand48 function.  */
 #undef HAVE_DRAND48
-
-/* Define if you have the expf function.  */
-#undef HAVE_EXPF
 
 /* Define if you have the expl function.  */
 #undef HAVE_EXPL
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/configure.in,v
retrieving revision 1.66
diff -u -3 -p -r1.66 configure.in
--- configure.in	2001/07/06 17:16:46	1.66
+++ configure.in	2001/07/13 16:37:15
@@ -36,6 +36,10 @@ AC_CANONICAL_SYSTEM
 target_alias=${target_alias-$target}
 AC_SUBST(target_alias)
 
+# Will set LN_S to either 'ln -s' or 'ln'.  With autoconf 2.50+, can also
+# be 'cp -p' if linking isn't available.
+AC_PROG_LN_S
+
 # We use these options to decide which functions to include.
 AC_ARG_WITH(target-subdir,
 [  --with-target-subdir=SUBDIR
@@ -53,8 +57,6 @@ AC_SUBST(enable_shared)
 AC_SUBST(enable_static)
 GLIBCPP_CHECK_GNU_MAKE
 
-
-
 AM_CONFIG_HEADER(config.h)
 
 # Check for c++ or library specific bits that don't require linking.
@@ -79,7 +81,7 @@ if test -n "$with_cross_host" || test x"
   # compiler may not run on this machine, may not be able to link
   # executables, or may produce executables we can't run on this
   # machine.
-  xcompiling=1
+  GLIBCPP_IS_CROSS_COMPILING=1
 
   # If Canadian cross, then don't pick up tools from the build
   # directory.
@@ -196,7 +198,7 @@ else
   # 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
+  GLIBCPP_IS_CROSS_COMPILING=0
   CANADIAN=no
 
   # Check for available headers.
@@ -219,15 +221,14 @@ else
   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)
+# 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(CANADIAN, test "$CANADIAN" = yes)
  
 AC_CACHE_SAVE
@@ -239,9 +240,6 @@ else
   multilib_arg=
 fi
 
-
-# Generate the various Makefiles, include files, and scripts.
-
 # Needed so that g++ can find the correct include subdir automatically.
 INTERFACE=v3
 
@@ -260,20 +258,16 @@ else
 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
-
+# 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 src/Makefile libmath/Makefile libio/Makefile libsupc++/Makefile testsuite/Makefile mkcheck testsuite_flags,
+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
@@ -292,22 +286,6 @@ glibcpp_basedir=${glibcpp_basedir}
 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.
cvs server: mkc++config was removed, no comparison available
Index: mknumeric_limits
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/mknumeric_limits,v
retrieving revision 1.14
diff -u -3 -p -r1.14 mknumeric_limits
--- mknumeric_limits	2001/06/20 03:05:27	1.14
+++ mknumeric_limits	2001/07/13 16:37:15
@@ -54,7 +54,7 @@ CC=${CC="$BUILD_DIR/../../gcc/xgcc -B$BU
 cat <<EOF > $OUT_H-t
 // The template and inlines for the -*- C++ -*- numeric_limits classes.
 
-// Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+// 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
@@ -257,10 +257,10 @@ EOF
 
 # 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 \
+echo "$CC -I$BUILD_DIR -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 \
+{ $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.4
diff -u -3 -p -r1.4 testsuite_flags.in
--- testsuite_flags.in	2001/07/05 17:18:00	1.4
+++ testsuite_flags.in	2001/07/13 16:37:15
@@ -32,12 +32,9 @@ case ${query} in
       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
+      INCLUDES="-nostdinc++ @GLIBCPP_INCLUDES@
 	        -I${SRC_DIR}/libsupc++ -I${SRC_DIR}/libio 
-		-I${SRC_DIR}/testsuite
-		-I${SRC_DIR}/include/backward -I${SRC_DIR}/include/ext"
+		-I${SRC_DIR}/testsuite"
       echo ${INCLUDES}
       ;;
     --install-cxx)
cvs server: include/Makefile.am is a new entry, no comparison available
cvs server: include/Makefile.in is a new entry, no comparison available
Index: libio/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libio/Makefile.am,v
retrieving revision 1.20
diff -u -3 -p -r1.20 Makefile.am
--- Makefile.am	2001/02/03 09:01:44	1.20
+++ Makefile.am	2001/07/13 16:37:16
@@ -32,18 +32,13 @@ noinst_LTLIBRARIES =
 endif
 
 # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
-GLIBCPP_INCLUDE_DIR = @GLIBCPP_INCLUDE_DIR@
-C_INCLUDE_DIR = @C_INCLUDE_DIR@
+GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
 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)	
+	$(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.14
diff -u -3 -p -r1.14 Makefile.am
--- Makefile.am	2001/07/11 19:35:48	1.14
+++ Makefile.am	2001/07/13 16:37:16
@@ -45,15 +45,8 @@ libmath_la_SOURCES = signbit.c signbitf.
 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) 
 
Index: libmath/mathconf.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libmath/mathconf.h,v
retrieving revision 1.6
diff -u -3 -p -r1.6 mathconf.h
--- mathconf.h	2001/02/25 09:24:10	1.6
+++ mathconf.h	2001/07/13 16:37:16
@@ -1,6 +1,6 @@
 /* Configuration data for libmath subpart of libstdc++. */
 
-/* Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997-1999, 2000, 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
@@ -28,23 +28,23 @@
    the GNU General Public License.  */
 
 
-#include <bits/c++config.h>
+#include <config.h>
 
-#ifdef _GLIBCPP_HAVE_ENDIAN_H
+#ifdef HAVE_ENDIAN_H
 # include <endian.h>
 #else
-# ifdef _GLIBCPP_HAVE_MACHINE_ENDIAN_H
+# ifdef HAVE_MACHINE_ENDIAN_H
 #  include <machine/endian.h>
 # else
-#  ifdef _GLIBCPP_HAVE_SYS_MACHINE_H
+#  ifdef HAVE_SYS_MACHINE_H
 #   include <sys/machine.h>
 #  else
-#   if defined _GLIBCPP_HAVE_SYS_ISA_DEFS_H || defined _GLIBCPP_HAVE_MACHINE_PARAM_H
+#   if defined HAVE_SYS_ISA_DEFS_H || defined HAVE_MACHINE_PARAM_H
 /* This is on Solaris.  */
-#    ifdef _GLIBCPP_HAVE_SYS_ISA_DEFS_H
+#    ifdef HAVE_SYS_ISA_DEFS_H
#     include <sys/isa_defs.h>
 #    endif
-#    ifdef _GLIBCPP_HAVE_MACHINE_PARAM_H
+#    ifdef HAVE_MACHINE_PARAM_H
 #     include <machine/param.h>
 #    endif
 #    ifdef _LITTLE_ENDIAN
@@ -72,7 +72,7 @@ typedef int Int32_t __attribute ((mode (
 typedef unsigned int U_int64_t __attribute ((mode (DI)));
 typedef int Int64_t __attribute ((mode (DI)));
 
-#ifdef _GLIBCPP_HAVE_NAN_H
+#ifdef HAVE_NAN_H
 # include <nan.h>
 #endif
 
@@ -81,15 +81,15 @@ typedef int Int64_t __attribute ((mode (
 double nan (void);
 #endif
 
-#ifdef _GLIBCPP_HAVE_IEEEFP_H
+#ifdef HAVE_IEEEFP_H
 # include <ieeefp.h>
 #endif
 
-#ifdef _GLIBCPP_HAVE_FP_H
+#ifdef HAVE_FP_H
 # include <fp.h>
 #endif
 
-#ifdef _GLIBCPP_HAVE_FLOAT_H
+#ifdef HAVE_FLOAT_H
 # include <float.h>
 #endif
 
@@ -262,49 +262,50 @@ do {								\
   qw_u.value = (d);						\
   (msw) = qw_u.parts64.msw;					\
 } while (0)
-        
 
+
 /* Replacement for non-existing float functions.  */
-#if !defined(_GLIBCPP_HAVE_FABSF) && !defined(_GLIBCPP_HAVE___BUILTIN_FABSF)
+#if !defined(HAVE_FABSF) && !defined(HAVE___BUILTIN_FABSF)
 # define fabsf(x) fabs (x)
 #endif
-#if !defined(_GLIBCPP_HAVE_COSF) && !defined(_GLIBCPP_HAVE___BUILTIN_COSF)
+#if !defined(HAVE_COSF) && !defined(HAVE___BUILTIN_COSF)
 # define cosf(x) cos (x)
 #endif
-#ifndef _GLIBCPP_HAVE_COSHF
+#ifndef HAVE_COSHF
 # define coshf(x) cosh (x)
 #endif
-#ifndef _GLIBCPP_HAVE_EXPF
+#ifndef HAVE_EXPF
 # define expf(x) expf (x)
 #endif
-#ifndef _GLIBCPP_HAVE_LOGF
+#ifndef HAVE_LOGF
 # define logf(x) log(x)
 #endif
-#ifndef _GLIBCPP_HAVE_LOG10F
+#ifndef HAVE_LOG10F
 # define log10f(x) log10 (x)
 #endif
-#ifndef _GLIBCPP_HAVE_POWF
+#ifndef HAVE_POWF
 # define powf(x, y) pow (x, y)
 #endif
-#if !defined(_GLIBCPP_HAVE_SINF) && !defined(_GLIBCPP_HAVE___BUILTIN_SINF)
+#if !defined(HAVE_SINF) && !defined(HAVE___BUILTIN_SINF)
 # define sinf(x) sin (x)
 #endif
-#ifndef _GLIBCPP_HAVE_SINHF
+#ifndef HAVE_SINHF
 # define sinhf(x) sinh (x)
 #endif
-#if !defined(_GLIBCPP_HAVE_SQRTF) && !defined(_GLIBCPP_HAVE___BUILTIN_SQRTF)
+#if !defined(HAVE_SQRTF) && !defined(HAVE___BUILTIN_SQRTF)
 # define sqrtf(x) sqrt (x)
 #endif
-#ifndef _GLIBCPP_HAVE_TANF
+#ifndef HAVE_TANF
 # define tanf(x) tan (x)
 #endif
-#ifndef _GLIBCPP_HAVE_TANHF
+#ifndef HAVE_TANHF
 # define tanhf(x) tanh (x)
 #endif
-#ifndef _GLIBCPP_HAVE_STRTOF
+#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.6
diff -u -3 -p -r1.6 stubs.c
--- stubs.c	2001/07/06 23:09:30	1.6
+++ stubs.c	2001/07/13 16:37:16
@@ -28,7 +28,7 @@
    the GNU General Public License.  */
 
 #include <math.h>
-#include <bits/c++config.h>
+#include <config.h>
 
 #ifndef _GLIBCPP_HAVE_ATAN2F
 float
Index: libsupc++/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libsupc++/Makefile.am,v
retrieving revision 1.27
diff -u -3 -p -r1.27 Makefile.am
--- Makefile.am	2001/06/04 02:24:06	1.27
+++ Makefile.am	2001/07/13 16:37:16
@@ -55,18 +55,12 @@ WARN_CXXFLAGS = \
 	@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@
+GLIBCPP_INCLUDES = @GLIBCPP_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)
+	$(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 -u -3 -p -r1.89 Makefile.am
--- Makefile.am	2001/06/26 21:22:57	1.89
+++ Makefile.am	2001/07/13 16:37:16
@@ -49,9 +49,7 @@ WARN_CXXFLAGS = \
 	@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@
+GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
 LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
 LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
 LIBIO_INCLUDES = @LIBIO_INCLUDES@
@@ -59,112 +57,10 @@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
 
 INCLUDES = \
 	-nostdinc++ \
-	-I$(GLIBCPP_INCLUDE_DIR) $(CSTD_INCLUDES) -I$(top_builddir)/include \
+	$(GLIBCPP_INCLUDES) \
 	$(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 \
@@ -173,7 +69,7 @@ sources = \
 	wstring-inst.cc
 
 
-VPATH = $(top_srcdir):$(top_srcdir)/src:$(GLIBCPP_INCLUDE_DIR):$(GLIBCPP_INCLUDE_DIR)/std:$(C_INCLUDE_DIR)
+VPATH = $(top_srcdir):$(top_srcdir)/src
 
 libstdc___la_SOURCES = $(sources)
 
@@ -188,96 +84,11 @@ libstdc___la_DEPENDENCIES = $(libstdc___
 
 # 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 $<
-
-# 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
Index: src/gen-num-limits.cc
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/src/gen-num-limits.cc,v
retrieving revision 1.10
diff -u -3 -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/13 16:37:16
@@ -33,24 +33,7 @@
 // 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 <config.h>
 #include <limits.h>
 #include <float.h>
 #include <stdio.h>



More information about the Libstdc++ mailing list