aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc_update
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc_update')
-rwxr-xr-xcontrib/gcc_update54
1 files changed, 30 insertions, 24 deletions
diff --git a/contrib/gcc_update b/contrib/gcc_update
index 573b0bd6ff8..2f4fe660b05 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -66,16 +66,21 @@ gcc/configure: gcc/configure.in
gcc/cstamp-h.in: gcc/configure.in gcc/acconfig.h
gcc/config.in: gcc/cstamp-h.in
gcc/fixinc/fixincl.x: gcc/fixinc/fixincl.tpl gcc/fixinc/inclhack.def
-gcc/gcov.1: gcc/gcov.texi
-gcc/cpp.1: gcc/cpp.texi
-gcc/gcc.1: gcc/invoke.texi
+gcc/doc/gcov.1: gcc/doc/gcov.texi
+gcc/doc/cpp.1: gcc/doc/cpp.texi
+gcc/doc/gcc.1: gcc/doc/invoke.texi
+gcc/doc/fsf-funding.7: gcc/doc/include/funding.texi
+gcc/doc/gfdl.7: gcc/doc/include/fdl.texi
+gcc/doc/gpl.7: gcc/doc/include/gpl.texi
# And then, language-specific files
-# (None at present.)
+gcc/f/intdoc.texi: gcc/f/intdoc.in gcc/f/intdoc.c gcc/f/intrin.h gcc/f/intrin.def
# And libraries, at last
libchill/configure: libchill/configure.in
libf2c/configure: libf2c/configure.in
libf2c/libF77/configure: libf2c/libF77/configure.in
libf2c/libI77/configure: libf2c/libI77/configure.in
+libf2c/libI77/stamp-h.in: libf2c/libI77/configure.in
+libf2c/libI77/config.h.in: libf2c/libI77/configure.in libf2c/libI77/stamp-h.in
libf2c/libU77/configure: libf2c/libU77/configure.in
libf2c/libU77/stamp-h.in: libf2c/libU77/configure.in libf2c/libU77/acconfig.h
libobjc/configure: libobjc/configure.in
@@ -98,31 +103,28 @@ EOF
}
-# This function checks whether its first argument is newer than all
-# the other arguments. It returns success (0) otherwise.
-is_out_of_date () {
- test `ls -1dt ${1+"$@"} | sed 1q` != "$1"
-}
-
-
# This function touches generated files such that the ``end'' user does
# not have to rebuild them.
touch_files () {
- files_and_dependencies | while read f deps; do
- if test -f $f && is_out_of_date "$f" $deps; then
- echo Touching "$f"...
- touch $f
- if is_out_of_date "$f" $deps; then
- # Hmm, it may have got the same timestamp as one of
- # its touched dependencies. Wait a second and retry.
- sleep 1
- echo Touching "$f" once more...
- touch $f
- fi
- fi
- done
+ rm -f Makefile.$$
+ echo 'all: \' > Makefile.$$
+ files_and_dependencies | sed 's, .*, \\,' >> Makefile.$$
+ echo '; @true' >> Makefile.$$
+ files_and_dependencies | sed 's, ,: ,' >> Makefile.$$
+ files_and_dependencies | sed 's, .*, \\,' >> Makefile.$$
+ echo ':' >> Makefile.$$
+ echo ' @for f in $?; do test -f $$f || exit 0; done; \' >> Makefile.$$
+ echo ' echo Touching $@...; \' >> Makefile.$$
+ echo ' echo Touching $@... 1>&2; \' >> Makefile.$$
+ echo ' touch $@' >> Makefile.$$
+ files_and_dependencies | sed 's,[^ ]* ,,;s,$, :,' >> Makefile.$$
+ while ${MAKE-make} -f Makefile.$$ all | grep . > /dev/null; do
+ sleep 1
+ done 2>&1
+ rm -f Makefile.$$
}
+
# Whenever we update the tree or install a patch, we may be modifying
# this script. By re-execing it, we ensure that the appropriate
# dependencies and rules will be used.
@@ -215,4 +217,8 @@ if [ $? -ne 0 ]; then
exit 1
fi
+{
+ date
+ TZ=UTC date
+} > LAST_UPDATED
touch_files_reexec