diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4927457f6ed..20597247245 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2006-07-13 Benjamin Kosnik + + * include/Makefile.am (pch*_output_anchor): Add. + (pch*_output): Use. + (CLEANFILES): Use. + * include/Makefile.in: Regenerate. + + * scripts/check_performance: Be verbose on compile error. + 2006-07-12 Benjamin Kosnik * include/Makefile.am: Revert last change. diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am index 2f9ee2ef588..bb76da646ae 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am @@ -766,6 +766,7 @@ thread_host_headers = \ pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h pch1_output_builddir = ${host_builddir}/stdc++.h.gch +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 @@ -773,11 +774,13 @@ pch1_output = ${pch1a_output} ${pch1b_output} pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch +pch2_output_anchor = ${host_builddir}/stdtr1c++.h pch2_output_installdir = ${host_installdir}/stdtr1c++.h.gch 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_anchor = ${host_builddir}/extc++.h pch3_output_installdir = ${host_installdir}/extc++.h.gch pch3_output = ${pch3_output_builddir}/O2g.gch @@ -785,6 +788,8 @@ 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} +pch_output_anchors = \ + ${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor} PCHFLAGS=-Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS) if GLIBCXX_BUILD_PCH pch_build = ${pch_output} @@ -1049,12 +1054,14 @@ ${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source} mkdir -p ${pch1_output_builddir}; \ fi; \ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O0 -g ${pch1_source} -o $@ + touch ${pch1_output_anchor} ${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 $@ + touch ${pch1_output_anchor} # Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch ${pch2_output}: ${pch2_source} ${pch1_output} @@ -1062,6 +1069,7 @@ ${pch2_output}: ${pch2_source} ${pch1_output} mkdir -p ${pch2_output_builddir}; \ fi; \ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@ + touch ${pch2_output_anchor} # Build a precompiled extension include, extc++.h.gch/O2.gch ${pch3_output}: ${pch3_source} ${pch2_output} @@ -1069,7 +1077,7 @@ ${pch3_output}: ${pch3_source} ${pch2_output} mkdir -p ${pch3_output_builddir}; \ fi; \ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@ - + touch ${pch3_output_anchor} # For robustness sake (in light of junk files or in-source # configuration), copy from the build or source tree to the install @@ -1175,9 +1183,11 @@ install-pch: $(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} # By adding these files here, automake will remove them for 'make clean' -CLEANFILES = ${pch_output} +CLEANFILES = ${pch_output} ${pch_output_anchors} # To remove directories. clean-local: diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 9c6e532ea42..5df0756e71c 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -980,22 +980,28 @@ thread_host_headers = \ pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h pch1_output_builddir = ${host_builddir}/stdc++.h.gch +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} pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch +pch2_output_anchor = ${host_builddir}/stdtr1c++.h pch2_output_installdir = ${host_installdir}/stdtr1c++.h.gch 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_anchor = ${host_builddir}/extc++.h pch3_output_installdir = ${host_installdir}/extc++.h.gch 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} +pch_output_anchors = \ + ${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor} + PCHFLAGS = -Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS) @GLIBCXX_BUILD_PCH_FALSE@pch_build = @GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output} @@ -1021,7 +1027,7 @@ allcreated = \ uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_] # By adding these files here, automake will remove them for 'make clean' -CLEANFILES = ${pch_output} +CLEANFILES = ${pch_output} ${pch_output_anchors} all: all-am .SUFFIXES: @@ -1421,12 +1427,14 @@ ${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source} mkdir -p ${pch1_output_builddir}; \ fi; \ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O0 -g ${pch1_source} -o $@ + touch ${pch1_output_anchor} ${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 $@ + touch ${pch1_output_anchor} # Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch ${pch2_output}: ${pch2_source} ${pch1_output} @@ -1434,6 +1442,7 @@ ${pch2_output}: ${pch2_source} ${pch1_output} mkdir -p ${pch2_output_builddir}; \ fi; \ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@ + touch ${pch2_output_anchor} # Build a precompiled extension include, extc++.h.gch/O2.gch ${pch3_output}: ${pch3_source} ${pch2_output} @@ -1441,6 +1450,7 @@ ${pch3_output}: ${pch3_source} ${pch2_output} mkdir -p ${pch3_output_builddir}; \ fi; \ $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@ + touch ${pch3_output_anchor} # For robustness sake (in light of junk files or in-source # configuration), copy from the build or source tree to the install @@ -1543,6 +1553,8 @@ install-pch: $(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: diff --git a/libstdc++-v3/scripts/check_performance b/libstdc++-v3/scripts/check_performance index ff5a44ba077..b7bbd6d0202 100755 --- a/libstdc++-v3/scripts/check_performance +++ b/libstdc++-v3/scripts/check_performance @@ -54,6 +54,9 @@ do $CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME if [ -f $EXE_NAME ]; then ./$EXE_NAME + else + echo "compile error:" + echo "$CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME" fi done @@ -65,6 +68,9 @@ do $CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME if [ -f $EXE_NAME ]; then ./$EXE_NAME + else + echo "compile error:" + echo "$CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME" fi done @@ -74,6 +80,9 @@ do $CXX $TESTNAME $LIBS -o $EXE_NAME if [ -f $EXE_NAME ]; then ./$EXE_NAME >& tmp.$FILE_NAME + else + echo "compile error:" + echo "$CXX $TESTNAME $LIBS -o $EXE_NAME" fi if [ -s tmp.$FILE_NAME ]; then mv tmp.$FILE_NAME $FILE_NAME.xml