aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/checkout.sh22
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