summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.SH5
-rw-r--r--regen.pl6
-rw-r--r--regen_lib.pl6
3 files changed, 11 insertions, 6 deletions
diff --git a/Makefile.SH b/Makefile.SH
index 3f23e49718..947f92244d 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -1033,9 +1033,12 @@ AUTOGEN_FILES = keywords.h opcode.h opnames.h pp_proto.h pp.sym proto.h \
.PHONY: regen_headers regen_pods regen_all
-regen regen_headers: FORCE
+regen: FORCE
-perl regen.pl
+regen_headers: FORCE
+ -perl regen.pl -v
+
regen_pods: FORCE
-cd pod; $(LDLIBPTH) $(MAKE) regen_pods
diff --git a/regen.pl b/regen.pl
index 821fa2ebc5..3d2ad4f8a9 100644
--- a/regen.pl
+++ b/regen.pl
@@ -11,7 +11,6 @@ require 5.003; # keep this compatible, an old perl is all we may have before
use strict;
my $perl = $^X;
-require 'regen_lib.pl';
# keep warnings.pl in sync with the CPAN distribution by not requiring core
# changes. Um, what ?
# safer_unlink ("warnings.h", "lib/warnings.pm");
@@ -46,10 +45,11 @@ sub do_cksum {
foreach my $pl (qw (keywords.pl opcode.pl embed.pl
regcomp.pl warnings.pl autodoc.pl reentr.pl)) {
- print "$^X $pl\n";
+ my @command = ($^X, $pl, @ARGV);
+ print "@command\n";
my %cksum0;
%cksum0 = do_cksum($pl) unless $pl eq 'warnings.pl'; # the files were removed
- system "$^X $pl";
+ system @command;
next if $pl eq 'warnings.pl'; # the files were removed
my %cksum1 = do_cksum($pl);
my @chg;
diff --git a/regen_lib.pl b/regen_lib.pl
index 7605271ec8..89ac3f9009 100644
--- a/regen_lib.pl
+++ b/regen_lib.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
use strict;
-use vars qw($Is_W32 $Is_OS2 $Is_Cygwin $Is_NetWare $Needs_Write);
+use vars qw($Is_W32 $Is_OS2 $Is_Cygwin $Is_NetWare $Needs_Write $Verbose);
use Config; # Remember, this is running using an existing perl
use File::Compare;
use Symbol;
@@ -17,6 +17,8 @@ if ($Is_NetWare) {
$Needs_Write = $Is_OS2 || $Is_W32 || $Is_Cygwin || $Is_NetWare;
+@ARGV = grep { not($_ eq '-v' and $Verbose = 1) } @ARGV;
+
sub safer_unlink {
my @names = @_;
my $cnt = 0;
@@ -44,7 +46,7 @@ sub rename_if_different {
my ($from, $to) = @_;
if (compare($from, $to) == 0) {
- warn "no changes between '$from' & '$to'\n";
+ warn "no changes between '$from' & '$to'\n" if $Verbose;
safer_unlink($from);
return;
}