aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog17
-rw-r--r--libstdc++-v3/Makefile.am6
-rw-r--r--libstdc++-v3/Makefile.in12
-rw-r--r--libstdc++-v3/acinclude.m471
-rw-r--r--libstdc++-v3/aclocal.m4159
-rwxr-xr-xlibstdc++-v3/configure220
-rw-r--r--libstdc++-v3/configure.ac8
-rw-r--r--libstdc++-v3/include/Makefile.am22
-rw-r--r--libstdc++-v3/include/Makefile.in40
-rw-r--r--libstdc++-v3/libmath/Makefile.in2
-rw-r--r--libstdc++-v3/libsupc++/Makefile.in2
-rw-r--r--libstdc++-v3/po/Makefile.in2
-rw-r--r--libstdc++-v3/src/Makefile.in2
-rw-r--r--libstdc++-v3/testsuite/Makefile.in2
14 files changed, 405 insertions, 160 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 5790828..26cbdff 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,20 @@
+2003-08-27 Phil Edwards <pme@gcc.gnu.org>
+
+ * acinclude.m4 (GLIBCXX_CONDITIONAL): New macro. Wrap
+ AM_CONDITIONAL. Replace all calls to AM_CONDITIONAL with this one.
+ (GLIBCXX_ENABLE_HOSTED): New macro, sets new variable is_hosted,
+ used elsewhere in this file.
+ (GLIBCXX_EVALUATE_CONDITIONALS): New macro...
+ * configure.ac: ...called here to expand all conditionals.
+ * Makefile.am: Conditionalize SUBDIRS on GLIBCXX_HOSTED.
+ * include/Makefile.am: Remove redundant gxx_include_dir assignment.
+ (install-freestanding-headers): New target, a subset of
+ install-headers. Conditionalize install-data-local on GLIBCXX_HOSTED.
+
+ * aclocal.m4, configure, Makefile.in, include/Makefile.in,
+ libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
+ src/Makefile.in, testsuite/Makefile.in: Regenerated.
+
2003-08-26 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/run_doxygen: Shell fixes. Remove hardcoded local
diff --git a/libstdc++-v3/Makefile.am b/libstdc++-v3/Makefile.am
index 59ab45ce..2c3db0e 100644
--- a/libstdc++-v3/Makefile.am
+++ b/libstdc++-v3/Makefile.am
@@ -24,8 +24,12 @@
include $(top_srcdir)/fragment.am
+if GLIBCXX_HOSTED
+ # Possibly libmath as well...
+ hosted_source = src po
+endif
## Keep this list sync'd with acinclude.m4:GLIBCXX_CONFIGURE.
-SUBDIRS = include libmath libsupc++ src po testsuite
+SUBDIRS = include libmath libsupc++ $(hosted_source) testsuite
# These rules are messy, but are hella worth it.
doxygen:
diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in
index 12c6c2d..2e7f454 100644
--- a/libstdc++-v3/Makefile.in
+++ b/libstdc++-v3/Makefile.in
@@ -94,6 +94,8 @@ GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
+GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
@@ -216,8 +218,8 @@ WARN_CXXFLAGS = \
# -I/-D flags to pass when compiling.
AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-
-SUBDIRS = include libmath libsupc++ src po testsuite
+@GLIBCXX_HOSTED_TRUE@hosted_source = src po
+SUBDIRS = include libmath libsupc++ $(hosted_source) testsuite
# Multilib support.
MAKEOVERRIDES =
@@ -296,7 +298,7 @@ DIST_COMMON = README $(top_srcdir)/fragment.am ../ABOUT-NLS ../COPYING \
../ltconfig ../ltmain.sh ../missing ../mkinstalldirs ../ylwrap \
ChangeLog Makefile.am Makefile.in acconfig.h acinclude.m4 \
aclocal.m4 config.h.in configure configure.ac
-DIST_SUBDIRS = $(SUBDIRS)
+DIST_SUBDIRS = include libmath libsupc++ src po testsuite
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -491,7 +493,7 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
@@ -670,6 +672,8 @@ uninstall-info: uninstall-info-recursive
uninstall-info-recursive uninstall-recursive
+@GLIBCXX_HOSTED_TRUE@ # Possibly libmath as well...
+
# These rules are messy, but are hella worth it.
doxygen:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 4551898..474af59 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -1,5 +1,22 @@
dnl
+dnl GLIBCXX_CONDITIONAL (NAME, SHELL-TEST)
+dnl
+dnl Exactly like AM_CONDITIONAL, but delays evaluation of the test until the
+dnl end of configure. This lets tested variables be reassigned, and the
+dnl conditional will depend on the final state of the variable. For a simple
+dnl example of why this is needed, see GLIBCXX_ENABLE_HOSTED.
+dnl
+m4_define([_m4_divert(glibcxx_diversion)], 8000)dnl
+AC_DEFUN(GLIBCXX_CONDITIONAL, [dnl
+ m4_divert_text([glibcxx_diversion],dnl
+ AM_CONDITIONAL([$1],[$2])
+ )dnl
+])dnl
+AC_DEFUN(GLIBCXX_EVALUATE_CONDITIONALS, [m4_undivert([glibcxx_diversion])])dnl
+
+
+dnl
dnl Check to see what architecture and operating system we are compiling
dnl for. Also, if architecture- or OS-specific flags are required for
dnl compilation, pick them up here.
@@ -143,7 +160,10 @@ AC_DEFUN(GLIBCXX_CONFIGURE, [
AM_MAINTAINER_MODE
- # Set up safe default values for all subsequent AM_CONDITIONAL tests.
+ # Set up safe default values for all subsequent AM_CONDITIONAL tests
+ # which are themselves conditionally expanded.
+ ## (Right now, this only matters for enable_wchar_t, but nothing prevents
+ ## other macros from doing the same. This should be automated.) -pme
need_libmath=no
enable_wchar_t=no
#enable_libstdcxx_debug=no
@@ -152,6 +172,7 @@ AC_DEFUN(GLIBCXX_CONFIGURE, [
#c_compatibility=no
#enable_abi_check=no
#enable_symvers=no
+ #enable_hosted_libstdcxx=yes
# Find platform-specific directories containing configuration info.
# Also possibly modify flags used elsewhere, as needed by the platform.
@@ -560,7 +581,7 @@ dnl Substs:
dnl baseline_dir
dnl
AC_DEFUN(GLIBCXX_CONFIGURE_TESTSUITE, [
- if $GLIBCXX_IS_NATIVE; then
+ if $GLIBCXX_IS_NATIVE && test $is_hosted = yes; then
# Do checks for memory limit functions.
GLIBCXX_CHECK_SETRLIMIT
@@ -573,7 +594,7 @@ AC_DEFUN(GLIBCXX_CONFIGURE_TESTSUITE, [
AC_SUBST(baseline_dir)
# Determine if checking the ABI is desirable.
- if test $enable_symvers = no; then
+ if test $enable_symvers = no || test $is_hosted = no; then
enable_abi_check=no
else
case "$host" in
@@ -584,8 +605,8 @@ AC_DEFUN(GLIBCXX_CONFIGURE_TESTSUITE, [
esac
fi
- AM_CONDITIONAL(GLIBCXX_TEST_WCHAR_T, test $enable_wchar_t = yes)
- AM_CONDITIONAL(GLIBCXX_TEST_ABI, test $enable_abi_check = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_TEST_WCHAR_T, test $enable_wchar_t = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_TEST_ABI, test $enable_abi_check = yes)
])
@@ -897,9 +918,9 @@ AC_DEFUN(GLIBCXX_ENABLE_CHEADERS, [
C_INCLUDE_DIR='${glibcxx_srcdir}/include/'$enable_cheaders
AC_SUBST(C_INCLUDE_DIR)
- AM_CONDITIONAL(GLIBCXX_C_HEADERS_C, test $enable_cheaders = c)
- AM_CONDITIONAL(GLIBCXX_C_HEADERS_C_STD, test $enable_cheaders = c_std)
- AM_CONDITIONAL(GLIBCXX_C_HEADERS_COMPATIBILITY, test $c_compatibility = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_C, test $enable_cheaders = c)
+ GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_C_STD, test $enable_cheaders = c_std)
+ GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_COMPATIBILITY, test $c_compatibility = yes)
])
@@ -1213,7 +1234,7 @@ AC_DEFUN(GLIBCXX_ENABLE_DEBUG, [
AC_MSG_CHECKING([for additional debug build])
GLIBCXX_ENABLE(libstdcxx-debug,$1,,[build extra debug library])
AC_MSG_RESULT($enable_libstdcxx_debug)
- AM_CONDITIONAL(GLIBCXX_BUILD_DEBUG, test $enable_libstdcxx_debug = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_DEBUG, test $enable_libstdcxx_debug = yes)
])
@@ -1247,6 +1268,34 @@ AC_DEFUN(GLIBCXX_ENABLE_DEBUG_FLAGS, [
dnl
+dnl Check if the user only wants a freestanding library implementation.
+dnl
+dnl --disable-hosted-libstdcxx will turn off most of the library build,
+dnl installing only the headers required by [17.4.1.3] and the language
+dnl support library. More than that will be built (to keep the Makefiles
+dnl conveniently clean), but not installed.
+dnl
+dnl Sets:
+dnl is_hosted (yes/no)
+dnl
+AC_DEFUN(GLIBCXX_ENABLE_HOSTED, [
+ AC_ARG_ENABLE([hosted-libstdcxx],
+ AC_HELP_STRING([--disable-hosted-libstdcxx],
+ [only build freestanding C++ runtime support]),,
+ [enable_hosted_libstdcxx=yes])
+ if test "$enable_hosted_libstdcxx" = no; then
+ AC_MSG_NOTICE([Only freestanding libraries will be built])
+ is_hosted=no
+ enable_abi_check=no
+ enable_libstdcxx_pch=no
+ else
+ is_hosted=yes
+ fi
+ GLIBCXX_CONDITIONAL(GLIBCXX_HOSTED, test $is_hosted = yes)
+])
+
+
+dnl
dnl Check for libunwind exception handling support. If enabled, then
dnl we assume that the _Unwind_* functions that make up the Unwind ABI
dnl (_Unwind_RaiseException, _Unwind_Resume, etc.) are defined by
@@ -1351,7 +1400,7 @@ AC_DEFUN(GLIBCXX_ENABLE_PCH, [
enable_libstdcxx_pch=$glibcxx_cv_prog_CXX_pch
fi
- AM_CONDITIONAL(GLIBCXX_BUILD_PCH, test $enable_libstdcxx_pch = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_PCH, test $enable_libstdcxx_pch = yes)
if test $enable_libstdcxx_pch = yes; then
glibcxx_PCHFLAGS="-include bits/stdc++.h"
else
@@ -1523,7 +1572,7 @@ esac
AC_SUBST(SYMVER_MAP)
AC_SUBST(port_specific_symbol_files)
-AM_CONDITIONAL(GLIBCXX_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
+GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
AC_MSG_NOTICE(versioning on shared library symbols is $enable_symvers)
])
diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4
index 5c892e9..e6870fd 100644
--- a/libstdc++-v3/aclocal.m4
+++ b/libstdc++-v3/aclocal.m4
@@ -13,6 +13,23 @@
dnl
+dnl GLIBCXX_CONDITIONAL (NAME, SHELL-TEST)
+dnl
+dnl Exactly like AM_CONDITIONAL, but delays evaluation of the test until the
+dnl end of configure. This lets tested variables be reassigned, and the
+dnl conditional will depend on the final state of the variable. For a simple
+dnl example of why this is needed, see GLIBCXX_ENABLE_HOSTED.
+dnl
+m4_define([_m4_divert(glibcxx_diversion)], 8000)dnl
+AC_DEFUN(GLIBCXX_CONDITIONAL, [dnl
+ m4_divert_text([glibcxx_diversion],dnl
+ AM_CONDITIONAL([$1],[$2])
+ )dnl
+])dnl
+AC_DEFUN(GLIBCXX_EVALUATE_CONDITIONALS, [m4_undivert([glibcxx_diversion])])dnl
+
+
+dnl
dnl Check to see what architecture and operating system we are compiling
dnl for. Also, if architecture- or OS-specific flags are required for
dnl compilation, pick them up here.
@@ -156,7 +173,10 @@ AC_DEFUN(GLIBCXX_CONFIGURE, [
AM_MAINTAINER_MODE
- # Set up safe default values for all subsequent AM_CONDITIONAL tests.
+ # Set up safe default values for all subsequent AM_CONDITIONAL tests
+ # which are themselves conditionally expanded.
+ ## (Right now, this only matters for enable_wchar_t, but nothing prevents
+ ## other macros from doing the same. This should be automated.) -pme
need_libmath=no
enable_wchar_t=no
#enable_libstdcxx_debug=no
@@ -165,6 +185,7 @@ AC_DEFUN(GLIBCXX_CONFIGURE, [
#c_compatibility=no
#enable_abi_check=no
#enable_symvers=no
+ #enable_hosted_libstdcxx=yes
# Find platform-specific directories containing configuration info.
# Also possibly modify flags used elsewhere, as needed by the platform.
@@ -573,7 +594,7 @@ dnl Substs:
dnl baseline_dir
dnl
AC_DEFUN(GLIBCXX_CONFIGURE_TESTSUITE, [
- if $GLIBCXX_IS_NATIVE; then
+ if $GLIBCXX_IS_NATIVE && test $is_hosted = yes; then
# Do checks for memory limit functions.
GLIBCXX_CHECK_SETRLIMIT
@@ -586,7 +607,7 @@ AC_DEFUN(GLIBCXX_CONFIGURE_TESTSUITE, [
AC_SUBST(baseline_dir)
# Determine if checking the ABI is desirable.
- if test $enable_symvers = no; then
+ if test $enable_symvers = no || test $is_hosted = no; then
enable_abi_check=no
else
case "$host" in
@@ -597,8 +618,8 @@ AC_DEFUN(GLIBCXX_CONFIGURE_TESTSUITE, [
esac
fi
- AM_CONDITIONAL(GLIBCXX_TEST_WCHAR_T, test $enable_wchar_t = yes)
- AM_CONDITIONAL(GLIBCXX_TEST_ABI, test $enable_abi_check = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_TEST_WCHAR_T, test $enable_wchar_t = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_TEST_ABI, test $enable_abi_check = yes)
])
@@ -910,9 +931,9 @@ AC_DEFUN(GLIBCXX_ENABLE_CHEADERS, [
C_INCLUDE_DIR='${glibcxx_srcdir}/include/'$enable_cheaders
AC_SUBST(C_INCLUDE_DIR)
- AM_CONDITIONAL(GLIBCXX_C_HEADERS_C, test $enable_cheaders = c)
- AM_CONDITIONAL(GLIBCXX_C_HEADERS_C_STD, test $enable_cheaders = c_std)
- AM_CONDITIONAL(GLIBCXX_C_HEADERS_COMPATIBILITY, test $c_compatibility = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_C, test $enable_cheaders = c)
+ GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_C_STD, test $enable_cheaders = c_std)
+ GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_COMPATIBILITY, test $c_compatibility = yes)
])
@@ -1226,7 +1247,7 @@ AC_DEFUN(GLIBCXX_ENABLE_DEBUG, [
AC_MSG_CHECKING([for additional debug build])
GLIBCXX_ENABLE(libstdcxx-debug,$1,,[build extra debug library])
AC_MSG_RESULT($enable_libstdcxx_debug)
- AM_CONDITIONAL(GLIBCXX_BUILD_DEBUG, test $enable_libstdcxx_debug = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_DEBUG, test $enable_libstdcxx_debug = yes)
])
@@ -1260,6 +1281,34 @@ AC_DEFUN(GLIBCXX_ENABLE_DEBUG_FLAGS, [
dnl
+dnl Check if the user only wants a freestanding library implementation.
+dnl
+dnl --disable-hosted-libstdcxx will turn off most of the library build,
+dnl installing only the headers required by [17.4.1.3] and the language
+dnl support library. More than that will be built (to keep the Makefiles
+dnl conveniently clean), but not installed.
+dnl
+dnl Sets:
+dnl is_hosted (yes/no)
+dnl
+AC_DEFUN(GLIBCXX_ENABLE_HOSTED, [
+ AC_ARG_ENABLE([hosted-libstdcxx],
+ AC_HELP_STRING([--disable-hosted-libstdcxx],
+ [only build freestanding C++ runtime support]),,
+ [enable_hosted_libstdcxx=yes])
+ if test "$enable_hosted_libstdcxx" = no; then
+ AC_MSG_NOTICE([Only freestanding libraries will be built])
+ is_hosted=no
+ enable_abi_check=no
+ enable_libstdcxx_pch=no
+ else
+ is_hosted=yes
+ fi
+ GLIBCXX_CONDITIONAL(GLIBCXX_HOSTED, test $is_hosted = yes)
+])
+
+
+dnl
dnl Check for libunwind exception handling support. If enabled, then
dnl we assume that the _Unwind_* functions that make up the Unwind ABI
dnl (_Unwind_RaiseException, _Unwind_Resume, etc.) are defined by
@@ -1364,7 +1413,7 @@ AC_DEFUN(GLIBCXX_ENABLE_PCH, [
enable_libstdcxx_pch=$glibcxx_cv_prog_CXX_pch
fi
- AM_CONDITIONAL(GLIBCXX_BUILD_PCH, test $enable_libstdcxx_pch = yes)
+ GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_PCH, test $enable_libstdcxx_pch = yes)
if test $enable_libstdcxx_pch = yes; then
glibcxx_PCHFLAGS="-include bits/stdc++.h"
else
@@ -1536,7 +1585,7 @@ esac
AC_SUBST(SYMVER_MAP)
AC_SUBST(port_specific_symbol_files)
-AM_CONDITIONAL(GLIBCXX_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
+GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
AC_MSG_NOTICE(versioning on shared library symbols is $enable_symvers)
])
@@ -1608,6 +1657,50 @@ AC_DEFUN([AC_PROG_LD])
dnl vim:et:ts=2:sw=2
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program 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 program 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 program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 5
+
+AC_PREREQ(2.52)
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.])
+fi])])
+
# Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -1742,50 +1835,6 @@ AC_DEFUN([AM_MAINTAINER_MODE],
AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# This program 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 program 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 program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 5
-
-AC_PREREQ(2.52)
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.])
-fi])])
-
# Do all the work for Automake. -*- Autoconf -*-
# This macro actually does too much some checks are only needed if
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index a852881..9a7b9c4 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -308,7 +308,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static LIBUNWIND_FLAG GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H FPOS_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CCODECVT_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE glibcxx_thread_h DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS SYMVER_MAP port_specific_symbol_files GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE baseline_dir GLIBCXX_TEST_WCHAR_T_TRUE GLIBCXX_TEST_WCHAR_T_FALSE GLIBCXX_TEST_ABI_TRUE GLIBCXX_TEST_ABI_FALSE ATOMICITY_INC_SRCDIR FPOS_INC_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE LIBUNWIND_FLAG GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H FPOS_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CCODECVT_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE glibcxx_thread_h DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS SYMVER_MAP port_specific_symbol_files GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE baseline_dir GLIBCXX_TEST_WCHAR_T_TRUE GLIBCXX_TEST_WCHAR_T_FALSE GLIBCXX_TEST_ABI_TRUE GLIBCXX_TEST_ABI_FALSE ATOMICITY_INC_SRCDIR FPOS_INC_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -850,6 +850,8 @@ Optional Features:
--enable-static=PKGS build static libraries default=yes
--enable-fast-install=PKGS optimize for fast installation default=yes
--disable-libtool-lock avoid locking (might break parallel builds)
+ --disable-hosted-libstdcxx
+ only build freestanding C++ runtime support
--enable-sjlj-exceptions
force use of builtin_setjmp for exceptions
[default=auto]
@@ -857,7 +859,7 @@ Optional Features:
force use of libunwind for exceptions
[default=no]
--enable-libstdcxx-pch build pre-compiled libstdc++ headers
- [default=yes]
+ [default=$is_hosted]
--enable-cstdio=PACKAGE use target-specific I/O package
[default=stdio]
--enable-clocale[=MODEL]
@@ -3536,7 +3538,10 @@ fi
- # Set up safe default values for all subsequent AM_CONDITIONAL tests.
+ # Set up safe default values for all subsequent AM_CONDITIONAL tests
+ # which are themselves conditionally expanded.
+ ## (Right now, this only matters for enable_wchar_t, but nothing prevents
+ ## other macros from doing the same. This should be automated.) -pme
need_libmath=no
enable_wchar_t=no
#enable_libstdcxx_debug=no
@@ -3545,6 +3550,7 @@ fi
#c_compatibility=no
#enable_abi_check=no
#enable_symvers=no
+ #enable_hosted_libstdcxx=yes
# Find platform-specific directories containing configuration info.
# Also possibly modify flags used elsewhere, as needed by the platform.
@@ -4287,7 +4293,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4290 "configure"' > conftest.$ac_ext
+ echo '#line 4296 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -4821,6 +4827,29 @@ exec 5>>./config.log
#AC_MSG_NOTICE([====== Finished libtool configuration]) ; sleep 10
+# Possibly disable most of the library.
+## XXX Consider skipping unncessary tests altogether in this case, rather
+## than just ignoring the results. Faster /and/ more correct, win win.
+
+ # Check whether --enable-hosted-libstdcxx or --disable-hosted-libstdcxx was given.
+if test "${enable_hosted_libstdcxx+set}" = set; then
+ enableval="$enable_hosted_libstdcxx"
+
+else
+ enable_hosted_libstdcxx=yes
+fi;
+ if test "$enable_hosted_libstdcxx" = no; then
+ { echo "$as_me:$LINENO: Only freestanding libraries will be built" >&5
+echo "$as_me: Only freestanding libraries will be built" >&6;}
+ is_hosted=no
+ enable_abi_check=no
+ enable_libstdcxx_pch=no
+ else
+ is_hosted=yes
+ fi
+
+
+
# Check for support bits and g++ features that don't require linking.
echo "$as_me:$LINENO: checking for exception model to use" >&5
@@ -4856,7 +4885,7 @@ fi;
#
# Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style.
cat > conftest.$ac_ext << EOF
-#line 4859 "configure"
+#line 4888 "configure"
struct S { ~S(); };
void bar();
void foo()
@@ -4953,7 +4982,7 @@ echo "$as_me: error: Argument to enable/disable libstdcxx-pch must be yes or no"
esac
else
- enable_libstdcxx_pch=yes
+ enable_libstdcxx_pch=$is_hosted
fi;
echo "$as_me:$LINENO: result: $enable_libstdcxx_pch" >&5
@@ -5002,15 +5031,6 @@ echo "${ECHO_T}$glibcxx_cv_prog_CXX_pch" >&6
fi
-
-if test $enable_libstdcxx_pch = yes; then
- GLIBCXX_BUILD_PCH_TRUE=
- GLIBCXX_BUILD_PCH_FALSE='#'
-else
- GLIBCXX_BUILD_PCH_TRUE='#'
- GLIBCXX_BUILD_PCH_FALSE=
-fi
-
if test $enable_libstdcxx_pch = yes; then
glibcxx_PCHFLAGS="-include bits/stdc++.h"
else
@@ -6088,33 +6108,6 @@ echo "$as_me: \"C\" header strategy set to $enable_cheaders" >&6;}
-if test $enable_cheaders = c; then
- GLIBCXX_C_HEADERS_C_TRUE=
- GLIBCXX_C_HEADERS_C_FALSE='#'
-else
- GLIBCXX_C_HEADERS_C_TRUE='#'
- GLIBCXX_C_HEADERS_C_FALSE=
-fi
-
-
-
-if test $enable_cheaders = c_std; then
- GLIBCXX_C_HEADERS_C_STD_TRUE=
- GLIBCXX_C_HEADERS_C_STD_FALSE='#'
-else
- GLIBCXX_C_HEADERS_C_STD_TRUE='#'
- GLIBCXX_C_HEADERS_C_STD_FALSE=
-fi
-
-
-
-if test $c_compatibility = yes; then
- GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE=
- GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE='#'
-else
- GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE='#'
- GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE=
-fi
# Check whether --enable-c-mbchar or --disable-c-mbchar was given.
@@ -7427,15 +7420,6 @@ fi;
echo "${ECHO_T}$enable_libstdcxx_debug" >&6
-if test $enable_libstdcxx_debug = yes; then
- GLIBCXX_BUILD_DEBUG_TRUE=
- GLIBCXX_BUILD_DEBUG_FALSE='#'
-else
- GLIBCXX_BUILD_DEBUG_TRUE='#'
- GLIBCXX_BUILD_DEBUG_FALSE=
-fi
-
-
echo "$as_me:$LINENO: checking for extra compiler flags for building" >&5
echo $ECHO_N "checking for extra compiler flags for building... $ECHO_C" >&6
# Check whether --enable-cxx-flags or --disable-cxx-flags was given.
@@ -56984,22 +56968,13 @@ esac
-
-if test $enable_symvers != no; then
- GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE=
- GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE='#'
-else
- GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE='#'
- GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE=
-fi
-
{ echo "$as_me:$LINENO: versioning on shared library symbols is $enable_symvers" >&5
echo "$as_me: versioning on shared library symbols is $enable_symvers" >&6;}
# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
- if $GLIBCXX_IS_NATIVE; then
+ if $GLIBCXX_IS_NATIVE && test $is_hosted = yes; then
# Do checks for memory limit functions.
setrlimit_have_headers=yes
@@ -57562,7 +57537,7 @@ done
# Determine if checking the ABI is desirable.
- if test $enable_symvers = no; then
+ if test $enable_symvers = no || test $is_hosted = no; then
enable_abi_check=no
else
case "$host" in
@@ -57575,6 +57550,102 @@ done
+
+
+# Propagate the target-specific source directories through the build chain.
+# (Nothing currently uses cpu_include_dir directly; only atomicity_include_dir
+# uses it, and it only gets used in this file.)
+ATOMICITY_INC_SRCDIR=config/${atomicity_include_dir}
+OS_INC_SRCDIR=config/${os_include_dir}
+FPOS_INC_SRCDIR=config/${fpos_include_dir}
+
+
+
+
+# Determine cross-compile flags and AM_CONDITIONALs.
+#AC_SUBST(GLIBCXX_IS_NATIVE)
+#AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
+# from GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT:
+#AM_CONDITIONAL(GLIBCXX_BUILD_LIBMATH, test $need_libmath = yes)
+
+
+if test $is_hosted = yes; then
+ GLIBCXX_HOSTED_TRUE=
+ GLIBCXX_HOSTED_FALSE='#'
+else
+ GLIBCXX_HOSTED_TRUE='#'
+ GLIBCXX_HOSTED_FALSE=
+fi
+
+
+
+
+if test $enable_libstdcxx_pch = yes; then
+ GLIBCXX_BUILD_PCH_TRUE=
+ GLIBCXX_BUILD_PCH_FALSE='#'
+else
+ GLIBCXX_BUILD_PCH_TRUE='#'
+ GLIBCXX_BUILD_PCH_FALSE=
+fi
+
+
+
+
+if test $enable_cheaders = c; then
+ GLIBCXX_C_HEADERS_C_TRUE=
+ GLIBCXX_C_HEADERS_C_FALSE='#'
+else
+ GLIBCXX_C_HEADERS_C_TRUE='#'
+ GLIBCXX_C_HEADERS_C_FALSE=
+fi
+
+
+
+
+if test $enable_cheaders = c_std; then
+ GLIBCXX_C_HEADERS_C_STD_TRUE=
+ GLIBCXX_C_HEADERS_C_STD_FALSE='#'
+else
+ GLIBCXX_C_HEADERS_C_STD_TRUE='#'
+ GLIBCXX_C_HEADERS_C_STD_FALSE=
+fi
+
+
+
+
+if test $c_compatibility = yes; then
+ GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE=
+ GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE='#'
+else
+ GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE='#'
+ GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE=
+fi
+
+
+
+
+if test $enable_libstdcxx_debug = yes; then
+ GLIBCXX_BUILD_DEBUG_TRUE=
+ GLIBCXX_BUILD_DEBUG_FALSE='#'
+else
+ GLIBCXX_BUILD_DEBUG_TRUE='#'
+ GLIBCXX_BUILD_DEBUG_FALSE=
+fi
+
+
+
+
+if test $enable_symvers != no; then
+ GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE=
+ GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE='#'
+else
+ GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE='#'
+ GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE=
+fi
+
+
+
+
if test $enable_wchar_t = yes; then
GLIBCXX_TEST_WCHAR_T_TRUE=
GLIBCXX_TEST_WCHAR_T_FALSE='#'
@@ -57585,6 +57656,7 @@ fi
+
if test $enable_abi_check = yes; then
GLIBCXX_TEST_ABI_TRUE=
GLIBCXX_TEST_ABI_FALSE='#'
@@ -57595,21 +57667,6 @@ fi
-# Propagate the target-specific source directories through the build chain.
-# (Nothing currently uses cpu_include_dir directly; only atomicity_include_dir
-# uses it, and it only gets used in this file.)
-ATOMICITY_INC_SRCDIR=config/${atomicity_include_dir}
-OS_INC_SRCDIR=config/${os_include_dir}
-FPOS_INC_SRCDIR=config/${fpos_include_dir}
-
-
-
-
-# Determine cross-compile flags and AM_CONDITIONALs.
-#AC_SUBST(GLIBCXX_IS_NATIVE)
-#AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
-# from GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT:
-#AM_CONDITIONAL(GLIBCXX_BUILD_LIBMATH, test $need_libmath = yes)
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -57911,6 +57968,13 @@ echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${GLIBCXX_HOSTED_TRUE}" && test -z "${GLIBCXX_HOSTED_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_HOSTED\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"GLIBCXX_HOSTED\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
if test -z "${GLIBCXX_BUILD_PCH_TRUE}" && test -z "${GLIBCXX_BUILD_PCH_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_BUILD_PCH\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -58581,6 +58645,8 @@ s,@CXXCPP@,$CXXCPP,;t t
s,@CPPFLAGS@,$CPPFLAGS,;t t
s,@enable_shared@,$enable_shared,;t t
s,@enable_static@,$enable_static,;t t
+s,@GLIBCXX_HOSTED_TRUE@,$GLIBCXX_HOSTED_TRUE,;t t
+s,@GLIBCXX_HOSTED_FALSE@,$GLIBCXX_HOSTED_FALSE,;t t
s,@LIBUNWIND_FLAG@,$LIBUNWIND_FLAG,;t t
s,@GLIBCXX_BUILD_PCH_TRUE@,$GLIBCXX_BUILD_PCH_TRUE,;t t
s,@GLIBCXX_BUILD_PCH_FALSE@,$GLIBCXX_BUILD_PCH_FALSE,;t t
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 326b22f..d10d381 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -70,10 +70,15 @@ AC_SUBST(enable_shared)
AC_SUBST(enable_static)
#AC_MSG_NOTICE([====== Finished libtool configuration]) ; sleep 10
+# Possibly disable most of the library.
+## XXX Consider skipping unncessary tests altogether in this case, rather
+## than just ignoring the results. Faster /and/ more correct, win win.
+GLIBCXX_ENABLE_HOSTED
+
# Check for support bits and g++ features that don't require linking.
GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS
-GLIBCXX_ENABLE_PCH([yes])
+GLIBCXX_ENABLE_PCH($is_hosted)
# Enable all the variable C++ runtime options.
# NB: C_MBCHAR must come early.
@@ -266,6 +271,7 @@ AC_SUBST(OS_INC_SRCDIR)
#AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
# from GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT:
#AM_CONDITIONAL(GLIBCXX_BUILD_LIBMATH, test $need_libmath = yes)
+GLIBCXX_EVALUATE_CONDITIONALS
AC_CACHE_SAVE
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index a7660d5..cc4a5f5 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -510,10 +510,30 @@ ${pch_input}: ${allstamped} ${host_builddir}/c++config.h ${pch_source}
# `$(mkinstalldirs)' instead of `mkdir -p'. In particular,
# host_headers_extra are taken out of the build tree staging area;
# the rest are taken from the original source tree.
-gxx_include_dir = @gxx_include_dir@
+if GLIBCXX_HOSTED
install-data-local: install-headers ${pch_install}
+else
+install-data-local: install-freestanding-headers
+endif
+
+# This is a subset of the full install-headers rule. We only need <cstddef>,
+# <limits>, <cstdlib>, <cstdarg>, <new>, <typeinfo>, <exception>, and any
+# files which they include (and which we provide). The last three headers
+# are installed by libsupc++, so only the first four and the sub-includes
+# are copied here.
+install-freestanding-headers:
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${host_builddir}
+ for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h; do \
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${host_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
+ $(INSTALL_DATA) ${std_builddir}/limits $(DESTDIR)${gxx_include_dir}/${std_builddir}
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
+ for file in cstddef cstdlib cstdarg; do \
+ $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
+# The real deal.
install-headers:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index bb8bbb4..bb32189 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -94,6 +94,8 @@ GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
+GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
@@ -169,15 +171,6 @@ glibcxx_srcdir = @glibcxx_srcdir@
glibcxx_thread_h = @glibcxx_thread_h@
glibcxx_toolexecdir = @glibcxx_toolexecdir@
glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
-
-# For robustness sake (in light of junk files or in-source
-# configuration), copy from the build or source tree to the install
-# tree using only the human-maintained file lists and directory
-# components. Yes, with minor differences, this is sheer duplication
-# of the staging rules above using $(INSTALL_DATA) instead of LN_S and
-# `$(mkinstalldirs)' instead of `mkdir -p'. In particular,
-# host_headers_extra are taken out of the build tree staging area;
-# the rest are taken from the original source tree.
gxx_include_dir = @gxx_include_dir@
host = @host@
host_alias = @host_alias@
@@ -860,8 +853,35 @@ ${pch_input}: ${allstamped} ${host_builddir}/c++config.h ${pch_source}
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O0 -g -o ${pch_output_builddir}/O0g; \
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O2 -g -o ${pch_output_builddir}/O2g;
-install-data-local: install-headers ${pch_install}
+# For robustness sake (in light of junk files or in-source
+# configuration), copy from the build or source tree to the install
+# tree using only the human-maintained file lists and directory
+# components. Yes, with minor differences, this is sheer duplication
+# of the staging rules above using $(INSTALL_DATA) instead of LN_S and
+# `$(mkinstalldirs)' instead of `mkdir -p'. In particular,
+# host_headers_extra are taken out of the build tree staging area;
+# the rest are taken from the original source tree.
+
+@GLIBCXX_HOSTED_TRUE@install-data-local: install-headers ${pch_install}
+@GLIBCXX_HOSTED_FALSE@install-data-local: install-freestanding-headers
+
+# This is a subset of the full install-headers rule. We only need <cstddef>,
+# <limits>, <cstdlib>, <cstdarg>, <new>, <typeinfo>, <exception>, and any
+# files which they include (and which we provide). The last three headers
+# are installed by libsupc++, so only the first four and the sub-includes
+# are copied here.
+install-freestanding-headers:
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${host_builddir}
+ for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h; do \
+ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${host_builddir}; done
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
+ $(INSTALL_DATA) ${std_builddir}/limits $(DESTDIR)${gxx_include_dir}/${std_builddir}
+ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
+ for file in cstddef cstdlib cstdarg; do \
+ $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
+# The real deal.
install-headers:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
diff --git a/libstdc++-v3/libmath/Makefile.in b/libstdc++-v3/libmath/Makefile.in
index 18d3ac4..5569900 100644
--- a/libstdc++-v3/libmath/Makefile.in
+++ b/libstdc++-v3/libmath/Makefile.in
@@ -94,6 +94,8 @@ GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
+GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in
index cf19aed..4e74717 100644
--- a/libstdc++-v3/libsupc++/Makefile.in
+++ b/libstdc++-v3/libsupc++/Makefile.in
@@ -94,6 +94,8 @@ GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
+GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in
index dee122c..d9b439b 100644
--- a/libstdc++-v3/po/Makefile.in
+++ b/libstdc++-v3/po/Makefile.in
@@ -94,6 +94,8 @@ GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
+GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index 3834987..a622f55 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -95,6 +95,8 @@ GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
+GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@
diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in
index 4bfb56e..932aca9 100644
--- a/libstdc++-v3/testsuite/Makefile.in
+++ b/libstdc++-v3/testsuite/Makefile.in
@@ -94,6 +94,8 @@ GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
+GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
GLIBCXX_TEST_ABI_FALSE = @GLIBCXX_TEST_ABI_FALSE@
GLIBCXX_TEST_ABI_TRUE = @GLIBCXX_TEST_ABI_TRUE@