diff options
-rw-r--r-- | lib/checkout.sh | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/lib/checkout.sh b/lib/checkout.sh index 936cf5a4..584a1595 100644 --- a/lib/checkout.sh +++ b/lib/checkout.sh @@ -249,22 +249,12 @@ checkout() # build behavior. dryrun "(cd ${srcdir} && ./contrib/gcc_update --touch)" ;; - gdb|binutils) - # Sometimes the timestamps are wrong after checkout causing - # useless rebuilds. In the case of intl/plural.[cy], it's - # causing build failures because plural.y is very old, and the - # file generated by a modern bison cannot be compiled. The - # clean fix would be to merge intl/ with newer gettext in - # binutils-gdb. Quick hack: force plural.c to be more recent - # than plural.y. - dryrun "touch ${srcdir}/intl/plural.c" - ;; - eglibc) - # Like gdb and binutils, eglibc can be affected by a timestamps - # issue, and force a plural.c re-build. Only the path differs - # in this case. - dryrun "touch ${srcdir}/libc/intl/plural.c" - ;; + *) + # Avoid rebuilding of auto-generated C files. Rather than + # try to determine which are auto-generated, touch all of them. + # If a C file is not autogenerated, it does no harm to update + # its timestamp. + dryrun "cd ${srcdir} && git ls-files -z '*.c' | xargs -0 touch" esac fi |