Generate a dozen test-related Makefile.am files at bootstrap-time.
authorJim Meyering <jim@meyering.net>
Tue, 15 May 2007 08:18:48 +0000 (10:18 +0200)
committerJim Meyering <jim@meyering.net>
Tue, 15 May 2007 08:18:48 +0000 (10:18 +0200)
* README-hacking: Build-from-checkout now require Perl, too.
* bootstrap: Now that these generated Makefile.am files are no longer
under version control, they must be created at bootstrap time.

ChangeLog
README-hacking
bootstrap

index 59040ac..3b67efe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-05-15  Jim Meyering  <jim@meyering.net>
+
+       Generate a dozen test-related Makefile.am files at bootstrap-time.
+       * README-hacking: Build-from-checkout now require Perl, too.
+       * bootstrap: Now that these generated Makefile.am files are no longer
+       under version control, they must be created at bootstrap time.
+
 2007-05-14  Paul Eggert  <eggert@cs.ucla.edu>
 
        * man/chmod.x: Document chmod's behavior with setuid and setgid bits.
index 6a2714a..4ad917a 100644 (file)
@@ -16,6 +16,7 @@ tools we depend upon, including:
 - Bison <http://www.gnu.org/software/bison/>
 - Gettext <http://www.gnu.org/software/gettext/>
 - Gzip <http://www.gnu.org/software/gzip/>
+- Perl <http://www.cpan.org/>
 - Tar <http://www.gnu.org/software/tar/>
 - Wget <http://www.gnu.org/software/wget/>
 
index 3294085..a387725 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -484,6 +484,22 @@ if test $with_gettext = yes; then
   rm -fr $bt $bt2 || exit
 fi
 
+# Coreutils is unusual in that it generates some of its test-related
+# Makefile.am files.  That must be done before invoking automake.
+PERL=perl
+for tool in cut head join pr sort tac tail test tr uniq wc; do
+  m=tests/$tool/Makefile.am
+  t=${m}t
+  mam_template=tests/Makefile.am.in
+  rm -f $m $t
+  sed -n '1,/^##test-files-begin/p' $mam_template > $t
+  echo "x = $tool" >> $t
+  srcdir=tests/$tool
+  $PERL -I$srcdir -w -- tests/mk-script $srcdir --list >> $t
+  sed -n '/^##test-files-end/,$p' $mam_template >> $t
+  chmod -w $t
+  mv $t $m
+done
 
 # Reconfigure, getting other files.