OSDN Git Service

2007-09-11 Johannes Singler <singler@ira.uka.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / include / Makefile.in
index d1feae1..80a7c24 100644 (file)
@@ -49,9 +49,11 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
        $(top_srcdir)/../config/multi.m4 \
        $(top_srcdir)/../config/no-executables.m4 \
        $(top_srcdir)/../config/unwind_ipinfo.m4 \
-       $(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
-       $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+       $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+       $(top_srcdir)/crossconfig.m4 $(top_srcdir)/linkage.m4 \
+       $(top_srcdir)/acinclude.m4 $(top_srcdir)/../config/tls.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 CONFIG_HEADER = $(top_builddir)/config.h
@@ -69,6 +71,7 @@ AMTAR = @AMTAR@
 AR = @AR@
 AS = @AS@
 ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
+ATOMIC_FLAGS = @ATOMIC_FLAGS@
 ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -101,10 +104,13 @@ CYGPATH_W = @CYGPATH_W@
 C_INCLUDE_DIR = @C_INCLUDE_DIR@
 DEBUG_FLAGS = @DEBUG_FLAGS@
 DEFS = @DEFS@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+ENABLE_PARALLEL_FALSE = @ENABLE_PARALLEL_FALSE@
+ENABLE_PARALLEL_TRUE = @ENABLE_PARALLEL_TRUE@
 ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@
 ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@
 ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@
@@ -115,8 +121,10 @@ ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
 ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@
 ENABLE_VISIBILITY_FALSE = @ENABLE_VISIBILITY_FALSE@
 ENABLE_VISIBILITY_TRUE = @ENABLE_VISIBILITY_TRUE@
+ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
 EXEEXT = @EXEEXT@
 EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
+FGREP = @FGREP@
 GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
 GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
 GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
@@ -136,10 +144,13 @@ GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
 GLIBCXX_LDBL_COMPAT_FALSE = @GLIBCXX_LDBL_COMPAT_FALSE@
 GLIBCXX_LDBL_COMPAT_TRUE = @GLIBCXX_LDBL_COMPAT_TRUE@
+GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBMATHOBJS = @LIBMATHOBJS@
 LIBOBJS = @LIBOBJS@
@@ -153,6 +164,7 @@ MAINT = @MAINT@
 MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
 MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
 MAKEINFO = @MAKEINFO@
+NM = @NM@
 OBJEXT = @OBJEXT@
 OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
 OPT_LDFLAGS = @OPT_LDFLAGS@
@@ -167,6 +179,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
+SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
@@ -180,6 +193,7 @@ ac_ct_AR = @ac_ct_AR@
 ac_ct_AS = @ac_ct_AS@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_RANLIB = @ac_ct_RANLIB@
 ac_ct_STRIP = @ac_ct_STRIP@
 am__leading_dot = @am__leading_dot@
@@ -220,6 +234,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 libtool_VERSION = @libtool_VERSION@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 multi_basedir = @multi_basedir@
@@ -292,6 +307,7 @@ std_headers = \
        ${std_srcdir}/stdexcept \
        ${std_srcdir}/streambuf \
        ${std_srcdir}/string \
+       ${std_srcdir}/system_error \
        ${std_srcdir}/tuple \
        ${std_srcdir}/type_traits \
        ${std_srcdir}/unordered_map \
@@ -303,6 +319,7 @@ std_headers = \
 bits_srcdir = ${glibcxx_srcdir}/include/bits
 bits_builddir = ./bits
 bits_headers = \
+        ${bits_srcdir}/algorithmfwd.h \
        ${bits_srcdir}/allocator.h \
        ${bits_srcdir}/basic_ios.h \
        ${bits_srcdir}/basic_ios.tcc \
@@ -316,18 +333,24 @@ bits_headers = \
        ${bits_srcdir}/deque.tcc \
        ${bits_srcdir}/fstream.tcc \
        ${bits_srcdir}/functexcept.h \
+       ${bits_srcdir}/functional_hash.h \
        ${bits_srcdir}/gslice.h \
        ${bits_srcdir}/gslice_array.h \
+       ${bits_srcdir}/hashtable.h \
        ${bits_srcdir}/indirect_array.h \
        ${bits_srcdir}/ios_base.h \
        ${bits_srcdir}/istream.tcc \
        ${bits_srcdir}/list.tcc \
        ${bits_srcdir}/locale_classes.h \
+       ${bits_srcdir}/locale_classes.tcc \
        ${bits_srcdir}/locale_facets.h \
        ${bits_srcdir}/locale_facets.tcc \
+       ${bits_srcdir}/locale_facets_nonio.h \
+       ${bits_srcdir}/locale_facets_nonio.tcc \
        ${bits_srcdir}/localefwd.h \
        ${bits_srcdir}/mask_array.h \
        ${bits_srcdir}/ostream.tcc \
+       ${bits_srcdir}/ostream_insert.h \
        ${bits_srcdir}/postypes.h \
        ${bits_srcdir}/stream_iterator.h \
        ${bits_srcdir}/streambuf_iterator.h \
@@ -345,7 +368,7 @@ bits_headers = \
        ${bits_srcdir}/stl_iterator_base_types.h \
        ${bits_srcdir}/stl_list.h \
        ${bits_srcdir}/stl_map.h \
-       ${bits_srcdir}/stl_memory.h \
+       ${bits_srcdir}/stl_auto_ptr.h \
        ${bits_srcdir}/stl_multimap.h \
        ${bits_srcdir}/stl_multiset.h \
        ${bits_srcdir}/stl_numeric.h \
@@ -598,7 +621,7 @@ pb_headers4 = \
        ${pb_srcdir}/detail/list_update_policy/counter_lu_policy_imp.hpp \
        ${pb_srcdir}/detail/list_update_policy/mtf_lu_policy_imp.hpp \
        ${pb_srcdir}/detail/list_update_policy/sample_update_policy.hpp \
-       ${pb_srcdir}/detail/map_debug_base.hpp \
+       ${pb_srcdir}/detail/debug_map_base.hpp \
        ${pb_srcdir}/detail/ov_tree_map_/cond_dtor.hpp \
        ${pb_srcdir}/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp \
        ${pb_srcdir}/detail/ov_tree_map_/debug_fn_imps.hpp \
@@ -743,6 +766,7 @@ ext_headers = \
        ${ext_srcdir}/mt_allocator.h \
        ${ext_srcdir}/new_allocator.h \
        ${ext_srcdir}/numeric \
+       ${ext_srcdir}/numeric_traits.h \
        ${ext_srcdir}/pod_char_traits.h \
        ${ext_srcdir}/pool_allocator.h \
        ${ext_srcdir}/rb_tree \
@@ -763,7 +787,8 @@ tr1_srcdir = ${glibcxx_srcdir}/include/tr1
 tr1_builddir = ./tr1
 tr1_headers = \
        ${tr1_srcdir}/array \
-       ${tr1_srcdir}/boost_shared_ptr.h \
+       ${tr1_srcdir}/bessel_function.tcc \
+       ${tr1_srcdir}/beta_function.tcc \
        ${tr1_srcdir}/ccomplex \
        ${tr1_srcdir}/cctype \
        ${tr1_srcdir}/cfenv \
@@ -771,7 +796,6 @@ tr1_headers = \
        ${tr1_srcdir}/cinttypes \
        ${tr1_srcdir}/climits \
        ${tr1_srcdir}/cmath \
-       ${tr1_srcdir}/common.h \
        ${tr1_srcdir}/complex \
        ${tr1_srcdir}/complex.h \
        ${tr1_srcdir}/cstdarg \
@@ -784,20 +808,27 @@ tr1_headers = \
        ${tr1_srcdir}/ctype.h \
        ${tr1_srcdir}/cwchar \
        ${tr1_srcdir}/cwctype \
+       ${tr1_srcdir}/ell_integral.tcc \
+       ${tr1_srcdir}/exp_integral.tcc \
        ${tr1_srcdir}/fenv.h \
        ${tr1_srcdir}/float.h \
        ${tr1_srcdir}/functional \
        ${tr1_srcdir}/functional_hash.h \
-       ${tr1_srcdir}/hashtable \
-       ${tr1_srcdir}/hashtable_policy.h \
+       ${tr1_srcdir}/gamma.tcc \
+       ${tr1_srcdir}/hypergeometric.tcc \
+       ${tr1_srcdir}/hashtable.h \
        ${tr1_srcdir}/inttypes.h \
        ${tr1_srcdir}/limits.h \
        ${tr1_srcdir}/math.h \
        ${tr1_srcdir}/memory \
+       ${tr1_srcdir}/modified_bessel_func.tcc \
+       ${tr1_srcdir}/poly_hermite.tcc \
+       ${tr1_srcdir}/poly_laguerre.tcc \
+       ${tr1_srcdir}/legendre_function.tcc \
        ${tr1_srcdir}/random \
-       ${tr1_srcdir}/random.tcc \
-       ${tr1_srcdir}/ref_fwd.h \
        ${tr1_srcdir}/regex \
+       ${tr1_srcdir}/riemann_zeta.tcc \
+       ${tr1_srcdir}/special_function_util.h \
        ${tr1_srcdir}/stdarg.h \
        ${tr1_srcdir}/stdbool.h \
        ${tr1_srcdir}/stdint.h \
@@ -806,13 +837,41 @@ tr1_headers = \
        ${tr1_srcdir}/tgmath.h \
        ${tr1_srcdir}/tuple \
        ${tr1_srcdir}/type_traits \
-       ${tr1_srcdir}/type_traits_fwd.h \
        ${tr1_srcdir}/unordered_set \
        ${tr1_srcdir}/unordered_map \
        ${tr1_srcdir}/utility \
        ${tr1_srcdir}/wchar.h \
        ${tr1_srcdir}/wctype.h
 
+tr1_impl_srcdir = ${glibcxx_srcdir}/include/tr1_impl
+tr1_impl_builddir = ./tr1_impl
+tr1_impl_headers = \
+       ${tr1_impl_srcdir}/array \
+       ${tr1_impl_srcdir}/boost_shared_ptr.h \
+       ${tr1_impl_srcdir}/cctype \
+       ${tr1_impl_srcdir}/cfenv \
+       ${tr1_impl_srcdir}/cinttypes \
+       ${tr1_impl_srcdir}/cmath \
+       ${tr1_impl_srcdir}/complex \
+       ${tr1_impl_srcdir}/cstdint \
+       ${tr1_impl_srcdir}/cstdio \
+       ${tr1_impl_srcdir}/cstdlib \
+       ${tr1_impl_srcdir}/cwchar \
+       ${tr1_impl_srcdir}/cwctype \
+       ${tr1_impl_srcdir}/functional \
+       ${tr1_impl_srcdir}/functional_hash.h \
+       ${tr1_impl_srcdir}/hashtable \
+       ${tr1_impl_srcdir}/hashtable_policy.h \
+       ${tr1_impl_srcdir}/random \
+       ${tr1_impl_srcdir}/random.tcc \
+       ${tr1_impl_srcdir}/regex \
+       ${tr1_impl_srcdir}/tuple \
+       ${tr1_impl_srcdir}/type_traits \
+       ${tr1_impl_srcdir}/type_traitsfwd.h \
+       ${tr1_impl_srcdir}/unordered_map \
+       ${tr1_impl_srcdir}/unordered_set \
+       ${tr1_impl_srcdir}/utility
+
 
 # This is the common subset of C++ files that all three "C" header models use.
 c_base_srcdir = $(C_INCLUDE_DIR)
@@ -849,6 +908,7 @@ c_compatibility_srcdir = ${glibcxx_srcdir}/include/c_compatibility
 c_compatibility_builddir = .
 @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@c_compatibility_headers = \
 @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@      ${c_compatibility_srcdir}/complex.h \
+@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@      ${c_compatibility_srcdir}/fenv.h \
 @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@      ${c_compatibility_srcdir}/tgmath.h 
 
 @GLIBCXX_C_HEADERS_C_STD_TRUE@c_compatibility_headers = 
@@ -909,6 +969,58 @@ debug_headers = \
        ${debug_srcdir}/string \
        ${debug_srcdir}/vector
 
+
+# Parallel mode headers
+parallel_srcdir = ${glibcxx_srcdir}/include/parallel
+parallel_builddir = ./parallel
+parallel_headers = \
+        ${parallel_srcdir}/algorithm \
+        ${parallel_srcdir}/algobase.h \
+        ${parallel_srcdir}/algo.h \
+        ${parallel_srcdir}/algorithm \
+        ${parallel_srcdir}/algorithmfwd.h \
+        ${parallel_srcdir}/balanced_quicksort.h \
+        ${parallel_srcdir}/base.h \
+        ${parallel_srcdir}/basic_iterator.h \
+        ${parallel_srcdir}/checkers.h \
+        ${parallel_srcdir}/compatibility.h \
+        ${parallel_srcdir}/compiletime_settings.h \
+        ${parallel_srcdir}/equally_split.h \
+        ${parallel_srcdir}/features.h \
+        ${parallel_srcdir}/find.h \
+        ${parallel_srcdir}/find_selectors.h \
+        ${parallel_srcdir}/for_each.h \
+        ${parallel_srcdir}/for_each_selectors.h \
+        ${parallel_srcdir}/iterator.h \
+        ${parallel_srcdir}/list_partition.h \
+        ${parallel_srcdir}/losertree.h \
+        ${parallel_srcdir}/merge.h \
+        ${parallel_srcdir}/multiseq_selection.h \
+        ${parallel_srcdir}/multiway_merge.h \
+        ${parallel_srcdir}/multiway_mergesort.h \
+        ${parallel_srcdir}/numeric \
+        ${parallel_srcdir}/numericfwd.h \
+        ${parallel_srcdir}/omp_loop.h \
+        ${parallel_srcdir}/omp_loop_static.h \
+        ${parallel_srcdir}/parallel.h \
+        ${parallel_srcdir}/par_loop.h \
+        ${parallel_srcdir}/partial_sum.h \
+        ${parallel_srcdir}/partition.h \
+        ${parallel_srcdir}/queue.h \
+        ${parallel_srcdir}/quicksort.h \
+        ${parallel_srcdir}/random_number.h \
+        ${parallel_srcdir}/random_shuffle.h \
+        ${parallel_srcdir}/search.h \
+        ${parallel_srcdir}/set_operations.h \
+        ${parallel_srcdir}/settings.h \
+        ${parallel_srcdir}/sort.h \
+        ${parallel_srcdir}/tags.h \
+        ${parallel_srcdir}/timing.h \
+        ${parallel_srcdir}/tree.h \
+        ${parallel_srcdir}/types.h \
+        ${parallel_srcdir}/unique_copy.h \
+        ${parallel_srcdir}/workstealing.h 
+
 @GLIBCXX_C_HEADERS_EXTRA_FALSE@c_base_headers_extra = 
 
 # Some of the different "C" header models need extra files.
@@ -927,7 +1039,11 @@ host_headers = \
        ${host_srcdir}/os_defines.h \
        ${glibcxx_srcdir}/$(ATOMIC_WORD_SRCDIR)/atomic_word.h \
        ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \
-       ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h   
+       ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h \
+       ${glibcxx_srcdir}/$(ERROR_CONSTANTS_SRCDIR)/error_constants.h \
+       ${glibcxx_srcdir}/include/precompiled/stdc++.h \
+       ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h \
+       ${glibcxx_srcdir}/include/precompiled/extc++.h 
 
 
 # Non-installed host_header files.
@@ -960,7 +1076,8 @@ pch1_output_anchor = ${host_builddir}/stdc++.h
 pch1_output_installdir = ${host_installdir}/stdc++.h.gch
 pch1a_output = ${pch1_output_builddir}/O0g.gch
 pch1b_output = ${pch1_output_builddir}/O2g.gch
-pch1_output = ${pch1a_output} ${pch1b_output}
+pch1c_output = ${pch1_output_builddir}/O2gp.gch
+pch1_output = ${pch1a_output} ${pch1b_output} ${pch1c_output}
 pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h
 pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch
 pch2_output_anchor = ${host_builddir}/stdtr1c++.h
@@ -981,15 +1098,13 @@ pch_output_anchors = \
 PCHFLAGS = -Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
 @GLIBCXX_BUILD_PCH_FALSE@pch_build = 
 @GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output}
-@GLIBCXX_BUILD_PCH_FALSE@pch_install = 
-@GLIBCXX_BUILD_PCH_TRUE@pch_install = install-pch
 
 # List of all timestamp files.  By keeping only one copy of this list, both
 # CLEANFILES and all-local are kept up-to-date.
 allstamped = \
        stamp-std stamp-bits stamp-c_base stamp-c_base_extra \
        stamp-c_compatibility  stamp-backward stamp-ext stamp-pb \
-       stamp-tr1 stamp-debug stamp-host
+       stamp-tr1 stamp-tr1-impl stamp-debug stamp-parallel stamp-host
 
 
 # List of all files that are created by explicit building, editing, or
@@ -1298,6 +1413,15 @@ stamp-tr1: ${tr1_headers}
        fi ;\
        $(STAMP) stamp-tr1
 
+stamp-tr1-impl: ${tr1_impl_headers}
+       @if [ ! -d "${tr1_impl_builddir}" ]; then \
+           mkdir -p ${tr1_impl_builddir} ;\
+       fi ;\
+       if [ ! -f stamp-tr1-impl ]; then \
+         (cd ${tr1_impl_builddir} && $(LN_S) $? . || true) ;\
+       fi ;\
+       $(STAMP) stamp-tr1-impl
+
 stamp-debug: ${debug_headers}
        @if [ ! -d "${debug_builddir}" ]; then \
          mkdir -p ${debug_builddir} ;\
@@ -1307,6 +1431,15 @@ stamp-debug: ${debug_headers}
        fi ;\
        $(STAMP) stamp-debug
 
+stamp-parallel: ${parallel_headers}
+       @if [ ! -d "${parallel_builddir}" ]; then \
+         mkdir -p ${parallel_builddir} ;\
+       fi ;\
+       if [ ! -f stamp-parallel ]; then \
+         (cd ${parallel_builddir} && @LN_S@ $? . || true) ;\
+       fi ;\
+       $(STAMP) stamp-parallel
+
 stamp-${host_alias}:
        @if [ ! -d ${host_builddir} ]; then \
          mkdir -p ${host_builddir} ;\
@@ -1341,6 +1474,8 @@ stamp-host: ${host_headers} ${host_headers_noinst} stamp-${host_alias}
 @ENABLE_VISIBILITY_FALSE@stamp-visibility:
 @ENABLE_VISIBILITY_FALSE@      echo 0 > stamp-visibility
 
+# NB: The non-empty default ldbl_compat works around an AIX sed
+# oddity, see libstdc++/31957 for details.
 ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
                              ${glibcxx_srcdir}/include/bits/c++config \
                              stamp-${host_alias} \
@@ -1350,7 +1485,7 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
        @date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\
        nsa_version=`cat stamp-namespace-version` ;\
        visibility=`cat stamp-visibility` ;\
-       ldbl_compat='' ;\
+       ldbl_compat='s,g,g,' ;\
        grep "^[        ]*#[    ]*define[       ][      ]*_GLIBCXX_LONG_DOUBLE_COMPAT[  ][      ]*1[    ]*$$" \
        ${CONFIG_HEADER} > /dev/null 2>&1 \
        && ldbl_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_COMPAT 1,' ;\
@@ -1407,7 +1542,7 @@ ${host_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcxx_thread_h} \
            -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
            < ${toplevel_srcdir}/gcc/${glibcxx_thread_h} > $@
 
-# Build two precompiled C++ includes, stdc++.h.gch/*.gch
+# Build three precompiled C++ includes, stdc++.h.gch/*.gch
 ${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
        if [ ! -d "${pch1_output_builddir}" ]; then \
          mkdir -p ${pch1_output_builddir}; \
@@ -1422,6 +1557,14 @@ ${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
        $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
        touch ${pch1_output_anchor}
 
+${pch1c_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
+       if [ ! -d "${pch1_output_builddir}" ]; then \
+         mkdir -p ${pch1_output_builddir}; \
+       fi; \
+       CXX_PARALLEL_FLAGS="-fgomp -march=native";
+       $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g $(CXX_PARALLEL_FLAGS) ${pch1_source} -o $@
+       touch ${pch1_output_anchor}
+
 # Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
 ${pch2_output}: ${pch2_source} ${pch1_output}
        if [ ! -d "${pch2_output_builddir}" ]; then \
@@ -1447,7 +1590,7 @@ ${pch3_output}: ${pch3_source} ${pch2_output}
 # 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_TRUE@install-data-local: install-headers 
 @GLIBCXX_HOSTED_FALSE@install-data-local: install-freestanding-headers
 
 # This is a subset of the full install-headers rule.  We only need <cstddef>,
@@ -1512,6 +1655,9 @@ install-headers:
        $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_builddir}
        for file in ${tr1_headers}; do \
          $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_builddir}; done
+       $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_impl_builddir}
+       for file in ${tr1_impl_headers}; do \
+         $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_impl_builddir}; done
        $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
        for file in ${c_base_headers}; do \
          $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
@@ -1527,21 +1673,14 @@ install-headers:
        $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir}
        for file in ${debug_headers}; do \
          $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done
+       $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${parallel_builddir}
+       for file in ${parallel_headers}; do \
+         $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${parallel_builddir}; done
        $(mkinstalldirs) $(DESTDIR)${host_installdir}
        for file in ${host_headers} ${host_headers_extra} \
         ${thread_host_headers}; do \
          $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
 
-install-pch:
-       $(mkinstalldirs) $(DESTDIR)${pch1_output_installdir}
-       for file in ${pch1_output_builddir}/*; do \
-         $(INSTALL_DATA) $$file $(DESTDIR)${pch1_output_installdir}; done
-       $(mkinstalldirs) $(DESTDIR)${pch2_output_installdir}
-       for file in ${pch2_output_builddir}/*; do \
-         $(INSTALL_DATA) $$file $(DESTDIR)${pch2_output_installdir}; done
-       $(INSTALL_DATA) ${pch1_output_anchor} $(DESTDIR)${host_installdir}
-       $(INSTALL_DATA) ${pch2_output_anchor} $(DESTDIR)${host_installdir}
-
 # To remove directories.
 clean-local:
        rm -rf ${pch_output_dirs}
@@ -1551,10 +1690,12 @@ clean-local:
 # developer tries to create them via make in the include build
 # directory. (This is more of an example of how this kind of rule can
 # be made.)
-.PRECIOUS: $(std_headers) $(c_base_headers) $(tr1_headers) $(ext_headers)
+.PRECIOUS: $(std_headers) $(c_base_headers) $(tr1_headers) $(tr1_impl_headers)
+          $(ext_headers)
 $(std_headers): ; @:
 $(c_base_headers): ; @:
 $(tr1_headers): ; @:
+$(tr1_impl_headers): ; @:
 $(ext_headers): ; @:
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.