[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Avoid certain spurious `testsuite' rebuilds
From: |
Ralf Wildenhues |
Subject: |
Re: Avoid certain spurious `testsuite' rebuilds |
Date: |
Sat, 1 Apr 2006 15:04:00 +0200 |
User-agent: |
Mutt/1.5.9i |
Hi Noah,
A quick first review:
* Noah Misch wrote on Fri, Mar 31, 2006 at 06:09:06PM CEST:
> 2006-03-31 Noah Misch <address@hidden>
>
> Do not rebuild `testsuite' when a lib/autoconf/*.m4 edit does not affect
> the generated test cases.
> @@ -79,6 +79,10 @@ $(wrappers): wrapper.in
> ## Test suite. ##
> ## ------------ ##
>
> +stamp_tgat = $(srcdir)/stamp-tgat
> +stamp_acm4 = $(srcdir)/stamp-acm4
> +EXTRA_DIST += $(stamp_tgat) $(stamp_acm4)
> +
> TESTSUITE_GENERATED_AT = \
> $(srcdir)/aclang.at \
> $(srcdir)/acc.at \
> @@ -112,7 +116,8 @@ TESTSUITE = ./testsuite
> AUTOTEST = ./autom4te --language=autotest
> $(TESTSUITE): $(srcdir)/package.m4 \
> local.at \
> - $(TESTSUITE_AT) \
> + $(TESTSUITE_HAND_AT) \
> + $(stamp_tgat) $(TESTSUITE_GENERATED_AT) \
> $(autotest_m4f_dependencies)
> cd $(top_builddir)/lib/autotest && $(MAKE) $(AM_MAKEFLAGS) autotest.m4f
> $(AUTOTEST) -I $(srcdir) suite.at -o address@hidden
> @@ -161,9 +166,54 @@ AUTOCONF_FILES = $(autoconfdir)/general.
> $(autoconfdir)/types.m4 \
> $(autoconfdir)/programs.m4
>
> +
> +## Rebuild TESTSUITE_GENERATED_AT when their sources change.
> +$(stamp_tgat): $(stamp_acm4)
> + test -f updated && mv -f updated $@; :
`updated' and `$(stamp_tgat)' aka `$(srcdir)/stamp-tgat' may not be on
the same mount point.
> +$(stamp_acm4): mktests.sh $(AUTOCONF_FILES)
> + touch updated
If you want to be compatible to old BSDs, avoid touch for creating files
or updating time stamps, see autoconf.texi. I don't know if we can
ignore this in practice, though.
> + { ($(do_update)) && \
> + if test -f $(stamp_tgat); then rm -f updated; fi; } \
> + || test $$? -eq 55
> + touch $@
Likewise.
> +## Rebuild TESTSUITE_GENERATED_AT when the developer deletes one of them.
> +$(TESTSUITE_GENERATED_AT):
> + $(do_update) || :
>
>
> ## maintainer-check ##
[ mktests ]
> - rm -f ac$base.tat ac$base.at
> - touch ac$base.at
> + rm -f ac$base.tat
> + if test -s ac$base.at; then
> + rm -f ac$base.at
> + touch ac$base.at
I guess the same applies here.
> + exit_val=55
> + fi
> fi
> done
Cheers, and thanks!
Ralf
- Re: Avoid certain spurious `testsuite' rebuilds,
Ralf Wildenhues <=