Rename the variables to be a bit more consistent.
[p5sagit/p5-mst-13.2.git] / win32 / config_h.PL
index 5b04506..607c484 100644 (file)
@@ -2,7 +2,6 @@
 use Config;
 use File::Compare qw(compare);
 use File::Copy qw(copy);
-my $OBJ   = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i;
 my $name = $0;
 $name =~ s#^(.*)\.PL$#../$1.SH#;
 my %opt;
@@ -11,6 +10,9 @@ while (@ARGV && $ARGV[0] =~ /^([\w_]+)=(.*)$/)
   $opt{$1}=$2;
   shift(@ARGV);
  }
+
+$opt{CONFIG_H} ||= 'config.h';
+
 my $patchlevel = $opt{INST_VER};
 $patchlevel =~ s|^[\\/]||;
 $patchlevel =~ s|~VERSION~|$Config{version}|g;
@@ -24,6 +26,8 @@ while (<SH>)
  }
 ($term,$file,$pat) = /^sed\s+<<(\S+)\s+>(\S+)\s+(.*)$/;
 
+$file =~ s/^\$(\w+)$/$opt{$1}/g;
+
 my $str = "sub munge\n{\n";
 
 while ($pat =~ s/-e\s+'([^']*)'\s*//)
@@ -40,7 +44,7 @@ eval $str;
 die "$str:$@" if $@;
 
 open(H,">$file.new") || die "Cannot open $file.new:$!";
-binmode H;             # no CRs (which cause a spurious rebuild)
+#binmode H;            # no CRs (which cause a spurious rebuild)
 while (<SH>)
  {
   last if /^$term$/o;
@@ -68,7 +72,7 @@ chmod(0666,"../lib/CORE/config.h");
 copy("$file.new","../lib/CORE/config.h") || die "Cannot copy:$!";
 chmod(0444,"../lib/CORE/config.h");
 
-if (!$OBJ && compare("$file.new",$file))
+if (compare("$file.new",$file))
  {
   warn "$file has changed\n";
   chmod(0666,$file);