This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: staging headers patch, next iteration
Here's the complete patch, sans regenerated files. A full aclocal &&
autoconf && autoheader && automake should be done after putting this
in place. Also, since 'cvs diff' won't do the 'patch against /dev/null'
thing properly, and 'patch' won't create a new file from such a diff anyhow,
the include/Makefile.am is attached separately. I /think/ that's the only
file which still needs tweaking for gthr*.
Phil
Index: Makefile.am
===================================================================
RCS file: /home/pme/Repositories/GCC/gcc/libstdc++-v3/Makefile.am,v
retrieving revision 1.22
diff -u -3 -r1.22 Makefile.am
--- Makefile.am 2001/05/14 01:14:55 1.22
+++ Makefile.am 2001/07/09 02:11:12
@@ -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 @@
${srcdir}/docs/doxygen/run_doxygen --mode=maint $${srcdir} $${outdir})
.PHONY: doxygen doxygen-maint
-
# Multilib support.
MAKEOVERRIDES=
Index: acinclude.m4
===================================================================
RCS file: /home/pme/Repositories/GCC/gcc/libstdc++-v3/acinclude.m4,v
retrieving revision 1.165
diff -u -3 -r1.165 acinclude.m4
--- acinclude.m4 2001/07/10 12:55:05 1.165
+++ acinclude.m4 2001/07/10 21:03:04
@@ -760,7 +670,6 @@
. [$]{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 +920,7 @@
;;
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 +1020,13 @@
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 +1059,13 @@
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,52 +1395,36 @@
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
LIBMATH_INCLUDES='-I$(top_srcdir)/libmath'
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: configure.in
===================================================================
RCS file: /home/pme/Repositories/GCC/gcc/libstdc++-v3/configure.in,v
retrieving revision 1.66
diff -u -3 -r1.66 configure.in
--- configure.in 2001/07/06 17:16:46 1.66
+++ configure.in 2001/07/09 03:50:29
@@ -36,6 +36,10 @@
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_static)
GLIBCPP_CHECK_GNU_MAKE
-
-
AM_CONFIG_HEADER(config.h)
# Check for c++ or library specific bits that don't require linking.
@@ -79,7 +82,7 @@
# 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 +199,7 @@
# 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 +222,14 @@
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 +241,6 @@
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 +259,16 @@
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 +287,6 @@
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.
Index: mknumeric_limits
===================================================================
RCS file: /home/pme/Repositories/GCC/gcc/libstdc++-v3/mknumeric_limits,v
retrieving revision 1.14
diff -u -3 -r1.14 mknumeric_limits
--- mknumeric_limits 2001/06/20 03:05:27 1.14
+++ mknumeric_limits 2001/07/09 02:32:08
@@ -54,7 +54,7 @@
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 @@
# 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: /home/pme/Repositories/GCC/gcc/libstdc++-v3/testsuite_flags.in,v
retrieving revision 1.4
diff -u -3 -r1.4 testsuite_flags.in
--- testsuite_flags.in 2001/07/05 17:18:00 1.4
+++ testsuite_flags.in 2001/07/09 02:33:18
@@ -32,12 +32,9 @@
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)
Index: libio/Makefile.am
===================================================================
RCS file: /home/pme/Repositories/GCC/gcc/libstdc++-v3/libio/Makefile.am,v
retrieving revision 1.20
diff -u -3 -r1.20 Makefile.am
--- libio/Makefile.am 2001/02/03 09:01:44 1.20
+++ libio/Makefile.am 2001/07/09 02:37:29
@@ -32,18 +32,13 @@
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: /home/pme/Repositories/GCC/gcc/libstdc++-v3/libmath/Makefile.am,v
retrieving revision 1.14
diff -u -3 -r1.14 Makefile.am
--- libmath/Makefile.am 2001/07/11 19:35:48 1.14
+++ libmath/Makefile.am 2001/07/11 20:04:39
@@ -45,15 +45,8 @@
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: /home/pme/Repositories/GCC/gcc/libstdc++-v3/libmath/mathconf.h,v
retrieving revision 1.6
diff -u -3 -r1.6 mathconf.h
--- libmath/mathconf.h 2001/02/25 09:24:10 1.6
+++ libmath/mathconf.h 2001/07/09 02:42:39
@@ -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 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 @@
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 @@
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: /home/pme/Repositories/GCC/gcc/libstdc++-v3/libmath/stubs.c,v
retrieving revision 1.6
diff -u -3 -r1.6 stubs.c
--- libmath/stubs.c 2001/07/06 23:09:30 1.6
+++ libmath/stubs.c 2001/07/09 02:43:03
@@ -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: /home/pme/Repositories/GCC/gcc/libstdc++-v3/libsupc++/Makefile.am,v
retrieving revision 1.27
diff -u -3 -r1.27 Makefile.am
--- libsupc++/Makefile.am 2001/06/04 02:24:06 1.27
+++ libsupc++/Makefile.am 2001/07/09 02:45:09
@@ -55,18 +55,12 @@
@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: /home/pme/Repositories/GCC/gcc/libstdc++-v3/src/Makefile.am,v
retrieving revision 1.89
diff -u -3 -r1.89 Makefile.am
--- src/Makefile.am 2001/06/26 21:22:57 1.89
+++ src/Makefile.am 2001/07/09 02:49:04
@@ -49,9 +49,7 @@
@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 @@
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 @@
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 @@
# 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: /home/pme/Repositories/GCC/gcc/libstdc++-v3/src/gen-num-limits.cc,v
retrieving revision 1.10
diff -u -3 -r1.10 gen-num-limits.cc
--- src/gen-num-limits.cc 2001/03/20 19:39:45 1.10
+++ src/gen-num-limits.cc 2001/07/09 02:50:10
@@ -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>
## 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 \
stamp-file_model stamp-io stamp-locale
stamp-std: ${std_headers}
@if [ ! -d "${std_builddir}" ]; then \
mkdir -p ${std_builddir} ;\
fi ;\
(cd ${std_builddir} && @LN_S@ $? .) ;\
echo `date` > stamp-std
stamp-bits: ${bits_headers}
@if [ ! -d "${bits_builddir}" ]; then \
mkdir -p ${bits_builddir} ;\
fi ;\
(cd ${bits_builddir} && @LN_S@ $? .) ;\
echo `date` > stamp-bits
stamp-c_base: ${c_base_headers}
@if [ ! -d "${c_base_builddir}" ]; then \
mkdir -p ${c_base_builddir} ;\
fi ;\
(cd ${c_base_builddir} && @LN_S@ $? .) ;\
echo `date` > stamp-c_base
stamp-c_compatibility: ${c_compatibility_headers}
@if [ ! -d "${c_compatibility_builddir}" ]; then \
mkdir -p ${c_compatibility_builddir} ;\
fi ;\
(cd ${c_compatibility_builddir} && @LN_S@ $? .) ;\
echo `date` > stamp-c_compatibility
stamp-backward: ${backward_headers}
@if [ ! -d "${backward_builddir}" ]; then \
mkdir -p ${backward_builddir} ;\
fi ;\
(cd ${backward_builddir} && @LN_S@ $? .) ;\
echo `date` > stamp-backward
stamp-ext: ${ext_headers}
@if [ ! -d "${ext_builddir}" ]; then \
mkdir -p ${ext_builddir} ;\
fi ;\
(cd ${ext_builddir} && @LN_S@ $? .) ;\
echo `date` > stamp-ext
# Can't use $? in command, otherwise target_builddir will trigger it, and
# we get bizarre symlinks mazes.
stamp-target: ${target_headers} ${target_builddir}
@(cd ${target_builddir} && @LN_S@ ${target_headers} .) ;\
echo `date` > stamp-target
stamp-thread: ${thread_headers} ${thread_builddir}
@echo `date` > stamp-thread
stamp-file_model: ${glibcpp_srcdir}/@BASIC_FILE_H@ ${target_builddir}
@(cd ${target_builddir} && @LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_H@ basic_file_model.h) ;\
echo `date` > stamp-file_model
stamp-io: ${glibcpp_srcdir}/@CSTDIO_H@ ${target_builddir}
@(cd ${target_builddir} && @LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h) ;\
echo `date` > stamp-io
stamp-locale: ${glibcpp_srcdir}/@CLOCALE_H@ ${target_builddir}
@(cd ${target_builddir} && @LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h) ;\
echo `date` > stamp-locale
# This target is kinda special. The timestamp on a directory gets modified
# whenever a file it contains gets modified, and that'll throw off all the
# build dependencies that need this target. On the other hand, someone
# could delete the directory and not the stamp file, faking out the make.
${target_builddir}: stamp-${target_alias}
stamp-${target_alias}:
@if [ ! -d ${target_builddir} ]; then \
mkdir -p ${target_builddir} ;\
fi
echo `date` > stamp-${target_alias}
${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