summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--regen.pl25
1 files changed, 22 insertions, 3 deletions
diff --git a/regen.pl b/regen.pl
index 6670e17ad3..c46039ef4c 100644
--- a/regen.pl
+++ b/regen.pl
@@ -1,4 +1,7 @@
#!/usr/bin/perl -w
+#
+# regen.pl - a wrapper that runs all *.pl scripts to to autogenerate files
+
require 5.003; # keep this compatible, an old perl is all we may have before
# we build the new one
@@ -15,7 +18,24 @@ my $perl = $^X;
# changes. Um, what ?
# safer_unlink ("warnings.h", "lib/warnings.pm");
-# We no longer need the values on this mapping, as the "changed" message is
+# Which scripts to run. Note the ordering: embed.pl must run after
+# opcode.pl, since it depends on pp.sym, and autodoc.pl should run last as
+# it reads all *.[ch] files, some of which may have been changed by other
+# scripts (eg reentr.c)
+
+my @scripts = qw(
+warnings.pl
+regcomp.pl
+reentr.pl
+overload.pl
+opcode.pl
+keywords.pl
+embed.pl
+autodoc.pl
+);
+
+# Which files are (re)generated by each script.
+# *** We no longer need these values, as the "changed" message is
# now generated by regen_lib.pl, so should we just drop them?
my %gen = (
@@ -46,8 +66,7 @@ sub do_cksum {
return %cksum;
}
-# this puts autodoc.pl last, which can be useful as it reads reentr.c
-foreach my $pl (reverse sort keys %gen) {
+foreach my $pl (@scripts) {
my @command = ($^X, $pl, @ARGV);
print "@command\n";
system @command;