Commit f42482f5 by Benjamin Kosnik Committed by Benjamin Kosnik

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
parent b24f7f6b
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> 2006-07-09 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (__int_to_char<>(_CharT*, * include/bits/locale_facets.tcc (__int_to_char<>(_CharT*,
......
...@@ -763,26 +763,31 @@ thread_host_headers = \ ...@@ -763,26 +763,31 @@ thread_host_headers = \
${host_builddir}/gthr-tpf.h \ ${host_builddir}/gthr-tpf.h \
${host_builddir}/gthr-default.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_builddir = ${host_builddir}/stdc++.h.gch
pch1_output_installdir = ${host_installdir}/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_builddir = ${host_builddir}/stdtr1c++.h.gch
pch2_output_installdir = ${host_installdir}/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_builddir = ${host_builddir}/extc++.h.gch
pch3_output_installdir = ${host_installdir}/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} ${pch2_output} ${pch3_output}
pch_output = ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir} pch_output_dirs = \
${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
PCHFLAGS=-Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS) PCHFLAGS=-Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
if GLIBCXX_BUILD_PCH if GLIBCXX_BUILD_PCH
pch_build = ${pch_input} pch_build = ${pch_output}
pch_install = install-pch pch_install = install-pch
else else
pch_build = pch_build =
...@@ -1038,32 +1043,32 @@ ${host_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcxx_thread_h} \ ...@@ -1038,32 +1043,32 @@ ${host_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcxx_thread_h} \
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \ -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< ${toplevel_srcdir}/gcc/${glibcxx_thread_h} > $@ < ${toplevel_srcdir}/gcc/${glibcxx_thread_h} > $@
# Build a precompiled C++ include, stdc++.h.gch. # Build two precompiled C++ includes, stdc++.h.gch/*.gch
${pch1_input}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source} ${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
touch ${pch1_input}; \
if [ ! -d "${pch1_output_builddir}" ]; then \ if [ ! -d "${pch1_output_builddir}" ]; then \
mkdir -p ${pch1_output_builddir}; \ mkdir -p ${pch1_output_builddir}; \
fi; \ fi; \
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch1_source} -O0 -g -o ${pch1_output_builddir}/O0g.gch; \ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O0 -g ${pch1_source} -o $@
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch1_source} -O2 -g -o ${pch1_output_builddir}/O2g.gch;
${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. # Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
${pch2_input}: ${allstamped} ${host_builddir}/c++config.h ${pch2_source} ${pch1_input} ${pch2_output}: ${pch2_source} ${pch1_output}
touch ${pch2_input}; \
if [ ! -d "${pch2_output_builddir}" ]; then \ if [ ! -d "${pch2_output_builddir}" ]; then \
mkdir -p ${pch2_output_builddir}; \ mkdir -p ${pch2_output_builddir}; \
fi; \ 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. # Build a precompiled extension include, extc++.h.gch/O2.gch
${pch3_input}: ${allstamped} ${host_builddir}/c++config.h ${pch3_source} ${pch2_input} ${pch3_output}: ${pch3_source} ${pch2_output}
touch ${pch3_input}; \
if [ ! -d "${pch3_output_builddir}" ]; then \ if [ ! -d "${pch3_output_builddir}" ]; then \
mkdir -p ${pch3_output_builddir}; \ mkdir -p ${pch3_output_builddir}; \
fi; \ 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 # For robustness sake (in light of junk files or in-source
...@@ -1172,11 +1177,11 @@ install-pch: ...@@ -1172,11 +1177,11 @@ install-pch:
$(INSTALL_DATA) $$file $(DESTDIR)${pch2_output_installdir}; done $(INSTALL_DATA) $$file $(DESTDIR)${pch2_output_installdir}; done
# By adding these files here, automake will remove them for 'make clean' # By adding these files here, automake will remove them for 'make clean'
CLEANFILES = ${pch_input} CLEANFILES = ${pch_output}
# To remove directories. # To remove directories.
clean-local: clean-local:
rm -rf ${pch_output} rm -rf ${pch_output_dirs}
# Stop implicit '.o' make rules from ever stomping on extensionless # Stop implicit '.o' make rules from ever stomping on extensionless
# headers, in the improbable case where some foolish, crack-addled # headers, in the improbable case where some foolish, crack-addled
......
...@@ -978,23 +978,27 @@ thread_host_headers = \ ...@@ -978,23 +978,27 @@ thread_host_headers = \
${host_builddir}/gthr-tpf.h \ ${host_builddir}/gthr-tpf.h \
${host_builddir}/gthr-default.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_builddir = ${host_builddir}/stdc++.h.gch
pch1_output_installdir = ${host_installdir}/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
pch2_input = ${host_builddir}/stdtr1c++.h 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_builddir = ${host_builddir}/stdtr1c++.h.gch
pch2_output_installdir = ${host_installdir}/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_builddir = ${host_builddir}/extc++.h.gch
pch3_output_installdir = ${host_installdir}/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} ${pch2_output} ${pch3_output}
pch_output = ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir} pch_output_dirs = \
${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
PCHFLAGS = -Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS) PCHFLAGS = -Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
@GLIBCXX_BUILD_PCH_FALSE@pch_build = @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_FALSE@pch_install =
@GLIBCXX_BUILD_PCH_TRUE@pch_install = install-pch @GLIBCXX_BUILD_PCH_TRUE@pch_install = install-pch
...@@ -1017,7 +1021,7 @@ allcreated = \ ...@@ -1017,7 +1021,7 @@ allcreated = \
uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_] uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
# By adding these files here, automake will remove them for 'make clean' # By adding these files here, automake will remove them for 'make clean'
CLEANFILES = ${pch_input} CLEANFILES = ${pch_output}
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
...@@ -1411,30 +1415,32 @@ ${host_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcxx_thread_h} \ ...@@ -1411,30 +1415,32 @@ ${host_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcxx_thread_h} \
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \ -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< ${toplevel_srcdir}/gcc/${glibcxx_thread_h} > $@ < ${toplevel_srcdir}/gcc/${glibcxx_thread_h} > $@
# Build a precompiled C++ include, stdc++.h.gch. # Build two precompiled C++ includes, stdc++.h.gch/*.gch
${pch1_input}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source} ${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
touch ${pch1_input}; \ 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 \ if [ ! -d "${pch1_output_builddir}" ]; then \
mkdir -p ${pch1_output_builddir}; \ mkdir -p ${pch1_output_builddir}; \
fi; \ fi; \
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch1_source} -O0 -g -o ${pch1_output_builddir}/O0g.gch; \ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch1_source} -O2 -g -o ${pch1_output_builddir}/O2g.gch;
# Build a precompiled TR1 include, stdtr1c++.h.gch. # Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
${pch2_input}: ${allstamped} ${host_builddir}/c++config.h ${pch2_source} ${pch1_input} ${pch2_output}: ${pch2_source} ${pch1_output}
touch ${pch2_input}; \
if [ ! -d "${pch2_output_builddir}" ]; then \ if [ ! -d "${pch2_output_builddir}" ]; then \
mkdir -p ${pch2_output_builddir}; \ mkdir -p ${pch2_output_builddir}; \
fi; \ 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. # Build a precompiled extension include, extc++.h.gch/O2.gch
${pch3_input}: ${allstamped} ${host_builddir}/c++config.h ${pch3_source} ${pch2_input} ${pch3_output}: ${pch3_source} ${pch2_output}
touch ${pch3_input}; \
if [ ! -d "${pch3_output_builddir}" ]; then \ if [ ! -d "${pch3_output_builddir}" ]; then \
mkdir -p ${pch3_output_builddir}; \ mkdir -p ${pch3_output_builddir}; \
fi; \ 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 # For robustness sake (in light of junk files or in-source
# configuration), copy from the build or source tree to the install # configuration), copy from the build or source tree to the install
...@@ -1540,7 +1546,7 @@ install-pch: ...@@ -1540,7 +1546,7 @@ install-pch:
# To remove directories. # To remove directories.
clean-local: clean-local:
rm -rf ${pch_output} rm -rf ${pch_output_dirs}
# Stop implicit '.o' make rules from ever stomping on extensionless # Stop implicit '.o' make rules from ever stomping on extensionless
# headers, in the improbable case where some foolish, crack-addled # headers, in the improbable case where some foolish, crack-addled
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment