aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2006-07-10 19:32:51 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2006-07-10 19:32:51 +0000
commitf42482f542f44b7a89f1fba16a65c7dae4bc0da6 (patch)
tree03f10585bdf1ef7d6d866435ed1c2e5469dee2ad /libstdc++-v3
parentb24f7f6b322aa46f91b1424a50085274a6762395 (diff)
downloadgcc-f42482f542f44b7a89f1fba16a65c7dae4bc0da6.zip
gcc-f42482f542f44b7a89f1fba16a65c7dae4bc0da6.tar.gz
gcc-f42482f542f44b7a89f1fba16a65c7dae4bc0da6.tar.bz2
re PR libstdc++/15448 (libstdc++ does not rebuild PCH)
2006-07-10 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/15448 * include/Makefile.am: Clean up pch rules. * include/Makefile.in: Regenerate. From-SVN: r115312
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/Makefile.am55
-rw-r--r--libstdc++-v3/include/Makefile.in54
3 files changed, 66 insertions, 49 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index d7a5f09..153eb82 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2006-07-10 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/15448
+ * include/Makefile.am: Clean up pch rules.
+ * include/Makefile.in: Regenerate.
+
2006-07-09 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (__int_to_char<>(_CharT*,
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 18c7a3d..2f9ee2e 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -763,26 +763,31 @@ thread_host_headers = \
${host_builddir}/gthr-tpf.h \
${host_builddir}/gthr-default.h
-pch1_input = ${host_builddir}/stdc++.h
+
+pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h
pch1_output_builddir = ${host_builddir}/stdc++.h.gch
pch1_output_installdir = ${host_installdir}/stdc++.h.gch
-pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h
+pch1a_output = ${pch1_output_builddir}/O0g.gch
+pch1b_output = ${pch1_output_builddir}/O2g.gch
+pch1_output = ${pch1a_output} ${pch1b_output}
-pch2_input = ${host_builddir}/stdtr1c++.h
+pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h
pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch
pch2_output_installdir = ${host_installdir}/stdtr1c++.h.gch
-pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h
+pch2_output = ${pch2_output_builddir}/O2g.gch
-pch3_input = ${host_builddir}/extc++.h
+pch3_source = ${glibcxx_srcdir}/include/precompiled/extc++.h
pch3_output_builddir = ${host_builddir}/extc++.h.gch
pch3_output_installdir = ${host_installdir}/extc++.h.gch
-pch3_source = ${glibcxx_srcdir}/include/precompiled/extc++.h
+pch3_output = ${pch3_output_builddir}/O2g.gch
+
-pch_input = ${pch1_input} ${pch2_input} ${pch3_input}
-pch_output = ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
+pch_output = ${pch1_output} ${pch2_output} ${pch3_output}
+pch_output_dirs = \
+ ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
PCHFLAGS=-Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
if GLIBCXX_BUILD_PCH
-pch_build = ${pch_input}
+pch_build = ${pch_output}
pch_install = install-pch
else
pch_build =
@@ -1038,32 +1043,32 @@ ${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 a precompiled C++ include, stdc++.h.gch.
-${pch1_input}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
- touch ${pch1_input}; \
+# Build two 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}; \
fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch1_source} -O0 -g -o ${pch1_output_builddir}/O0g.gch; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch1_source} -O2 -g -o ${pch1_output_builddir}/O2g.gch;
+ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O0 -g ${pch1_source} -o $@
+${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
+ if [ ! -d "${pch1_output_builddir}" ]; then \
+ mkdir -p ${pch1_output_builddir}; \
+ fi; \
+ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
-# Build a precompiled TR1 include, stdtr1c++.h.gch.
-${pch2_input}: ${allstamped} ${host_builddir}/c++config.h ${pch2_source} ${pch1_input}
- touch ${pch2_input}; \
+# Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
+${pch2_output}: ${pch2_source} ${pch1_output}
if [ ! -d "${pch2_output_builddir}" ]; then \
mkdir -p ${pch2_output_builddir}; \
fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch2_source} -O2 -g -o ${pch2_output_builddir}/O2g.gch;
-
+ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@
-# Build a precompiled extension include, extc++.h.gch.
-${pch3_input}: ${allstamped} ${host_builddir}/c++config.h ${pch3_source} ${pch2_input}
- touch ${pch3_input}; \
+# Build a precompiled extension include, extc++.h.gch/O2.gch
+${pch3_output}: ${pch3_source} ${pch2_output}
if [ ! -d "${pch3_output_builddir}" ]; then \
mkdir -p ${pch3_output_builddir}; \
fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch3_source} -O2 -g -o ${pch3_output_builddir}/O2g.gch;
+ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
# For robustness sake (in light of junk files or in-source
@@ -1172,11 +1177,11 @@ install-pch:
$(INSTALL_DATA) $$file $(DESTDIR)${pch2_output_installdir}; done
# By adding these files here, automake will remove them for 'make clean'
-CLEANFILES = ${pch_input}
+CLEANFILES = ${pch_output}
# To remove directories.
clean-local:
- rm -rf ${pch_output}
+ rm -rf ${pch_output_dirs}
# Stop implicit '.o' make rules from ever stomping on extensionless
# headers, in the improbable case where some foolish, crack-addled
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 1d990d3..9c6e532 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -978,23 +978,27 @@ thread_host_headers = \
${host_builddir}/gthr-tpf.h \
${host_builddir}/gthr-default.h
-pch1_input = ${host_builddir}/stdc++.h
+pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h
pch1_output_builddir = ${host_builddir}/stdc++.h.gch
pch1_output_installdir = ${host_installdir}/stdc++.h.gch
-pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h
-pch2_input = ${host_builddir}/stdtr1c++.h
+pch1a_output = ${pch1_output_builddir}/O0g.gch
+pch1b_output = ${pch1_output_builddir}/O2g.gch
+pch1_output = ${pch1a_output} ${pch1b_output}
+pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h
pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch
pch2_output_installdir = ${host_installdir}/stdtr1c++.h.gch
-pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h
-pch3_input = ${host_builddir}/extc++.h
+pch2_output = ${pch2_output_builddir}/O2g.gch
+pch3_source = ${glibcxx_srcdir}/include/precompiled/extc++.h
pch3_output_builddir = ${host_builddir}/extc++.h.gch
pch3_output_installdir = ${host_installdir}/extc++.h.gch
-pch3_source = ${glibcxx_srcdir}/include/precompiled/extc++.h
-pch_input = ${pch1_input} ${pch2_input} ${pch3_input}
-pch_output = ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
+pch3_output = ${pch3_output_builddir}/O2g.gch
+pch_output = ${pch1_output} ${pch2_output} ${pch3_output}
+pch_output_dirs = \
+ ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
+
PCHFLAGS = -Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
@GLIBCXX_BUILD_PCH_FALSE@pch_build =
-@GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_input}
+@GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output}
@GLIBCXX_BUILD_PCH_FALSE@pch_install =
@GLIBCXX_BUILD_PCH_TRUE@pch_install = install-pch
@@ -1017,7 +1021,7 @@ allcreated = \
uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
# By adding these files here, automake will remove them for 'make clean'
-CLEANFILES = ${pch_input}
+CLEANFILES = ${pch_output}
all: all-am
.SUFFIXES:
@@ -1411,30 +1415,32 @@ ${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 a precompiled C++ include, stdc++.h.gch.
-${pch1_input}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
- touch ${pch1_input}; \
+# Build two 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}; \
+ fi; \
+ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O0 -g ${pch1_source} -o $@
+
+${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
if [ ! -d "${pch1_output_builddir}" ]; then \
mkdir -p ${pch1_output_builddir}; \
fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch1_source} -O0 -g -o ${pch1_output_builddir}/O0g.gch; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch1_source} -O2 -g -o ${pch1_output_builddir}/O2g.gch;
+ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
-# Build a precompiled TR1 include, stdtr1c++.h.gch.
-${pch2_input}: ${allstamped} ${host_builddir}/c++config.h ${pch2_source} ${pch1_input}
- touch ${pch2_input}; \
+# Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
+${pch2_output}: ${pch2_source} ${pch1_output}
if [ ! -d "${pch2_output_builddir}" ]; then \
mkdir -p ${pch2_output_builddir}; \
fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch2_source} -O2 -g -o ${pch2_output_builddir}/O2g.gch;
+ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@
-# Build a precompiled extension include, extc++.h.gch.
-${pch3_input}: ${allstamped} ${host_builddir}/c++config.h ${pch3_source} ${pch2_input}
- touch ${pch3_input}; \
+# Build a precompiled extension include, extc++.h.gch/O2.gch
+${pch3_output}: ${pch3_source} ${pch2_output}
if [ ! -d "${pch3_output_builddir}" ]; then \
mkdir -p ${pch3_output_builddir}; \
fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch3_source} -O2 -g -o ${pch3_output_builddir}/O2g.gch;
+ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
# For robustness sake (in light of junk files or in-source
# configuration), copy from the build or source tree to the install
@@ -1540,7 +1546,7 @@ install-pch:
# To remove directories.
clean-local:
- rm -rf ${pch_output}
+ rm -rf ${pch_output_dirs}
# Stop implicit '.o' make rules from ever stomping on extensionless
# headers, in the improbable case where some foolish, crack-addled