Regen embed enable slab for PERL_IMPLICIT_SYS
[p5sagit/p5-mst-13.2.git] / Porting / makerel
index 72005b4..3bfb855 100644 (file)
@@ -20,19 +20,14 @@ die "Must be in root of the perl source tree.\n"
 open PATCHLEVEL,"<patchlevel.h" or die;
 my @patchlevel_h = <PATCHLEVEL>;
 close PATCHLEVEL;
-my $patchlevel_h = join "", grep { /^#define/ } @patchlevel_h;
+my $patchlevel_h = join "", grep { /^#\s*define/ } @patchlevel_h;
 print $patchlevel_h;
-$patchlevel = $1 if $patchlevel_h =~ /PATCHLEVEL\s+(\d+)/;
-$subversion = $1 if $patchlevel_h =~ /SUBVERSION\s+(\d+)/;
+$revision = $1 if $patchlevel_h =~ /PERL_REVISION\s+(\d+)/;
+$patchlevel = $1 if $patchlevel_h =~ /PERL_VERSION\s+(\d+)/;
+$subversion = $1 if $patchlevel_h =~ /PERL_SUBVERSION\s+(\d+)/;
 die "Unable to parse patchlevel.h" unless $subversion >= 0;
-$vers = sprintf("5.%03d", $patchlevel);
-$vms_vers = sprintf("5_%03d", $patchlevel);
-if ($subversion) {
-    $vers.= sprintf( "_%02d", $subversion);
-    $vms_vers.= sprintf( "%02d", $subversion);
-} else {
-    $vms_vers.= "  ";
-}
+$vers = sprintf("%d.%d.%d", $revision, $patchlevel, $subversion);
+$vms_vers = sprintf("%d_%d_%d", $revision, $patchlevel, $subversion);
 
 # fetch list of local patches
 my (@local_patches, @lpatch_tags, $lpatch_tags);
@@ -41,7 +36,7 @@ my (@local_patches, @lpatch_tags, $lpatch_tags);
 @lpatch_tags   = map  {  /^\s*,"(\w+)/ } @local_patches;
 $lpatch_tags   = join "-", @lpatch_tags;
 
-$perl = "perl$vers";
+$perl = "perl-$vers";
 $reldir = "$perl";
 $reldir .= "-$lpatch_tags" if $lpatch_tags;
 
@@ -80,12 +75,13 @@ $cmd = "awk '{print \$1}' MANIFEST | cpio -pdm $relroot/$reldir";
 system($cmd) == 0 or die "$cmd failed";
 print "\n";
 
-chdir $relroot or die $!;
+chdir "$relroot/$reldir" or die $!;
 
 print "Setting file permissions...\n";
-system("find . -type f -print     | xargs chmod -w");
-system("find . -type d -print     | xargs chmod g-s");
-system("find t -name '*.t' -print | xargs chmod +x");
+system("find . -type f -print     | xargs chmod 0444");
+system("find . -type d -print     | xargs chmod 0755");
+system("find t ext lib -name '*.t'     -print | xargs chmod +x");
+system("find t ext lib -name 'test.pl' -print | xargs chmod +x");
 my @exe = qw(
     Configure
     configpm
@@ -93,29 +89,77 @@ my @exe = qw(
     installperl
     installman
     keywords.pl
-    myconfig
     opcode.pl
     perly.fixer
     t/TEST
-    t/*/*.t
     *.SH
     vms/ext/Stdio/test.pl
     vms/ext/filespec.t
     x2p/*.SH
     Porting/patchls
     Porting/makerel
+    mpeix/nm
+    mpeix/relink
 );
 system("chmod +x @exe");
+
+my @writables = qw(
+    NetWare/config_H.wc
+    NetWare/Makefile
+    keywords.h
+    opcode.h
+    opnames.h
+    pp_proto.h
+    pp.sym
+    proto.h
+    embed.h
+    embedvar.h
+    global.sym
+    pod/perlintern.pod
+    pod/perlapi.pod
+    perlapi.h
+    perlapi.c
+    ext/ByteLoader/byterun.h
+    ext/ByteLoader/byterun.c
+    ext/B/B/Asmdata.pm
+    ext/Devel/PPPort/PPPort.xs
+    ext/Devel/PPPort/module2.c
+    ext/Devel/PPPort/module3.c
+    regnodes.h
+    warnings.h
+    lib/warnings.pm
+    vms/perly_c.vms
+    vms/perly_h.vms
+    win32/Makefile
+    win32/Makefile.win64
+    win32/makefile.mk
+    win32/config_H.bc
+    win32/config_H.gc
+    win32/config_H.vc
+    wince/config_H.ce
+    wince/Makefile.ce
+);
+system("chmod +w @writables");
+
+print "Adding CRs to DOSish files...\n";
 my @crlf = qw(
     djgpp/configure.bat
+    README.ce
     README.dos
     README.win32
     win32/Makefile
+    win32/Makefile.win64
     win32/makefile.mk
+    wince/Makefile.ce
+    wince/README.compile
+    wince/README.perlce
+    wince/registry.bat
 );
-system("perl -pi -e 's/\$/\\r/' @crlf");
+system("perl -pi -e 's/\015*\012/\015\012/' @crlf");
 print "\n";
 
+chdir ".." or die $!;
+
 print "Creating and compressing the tar file...\n";
 my $src = (-e $perl) ? $perl : 'perl'; # 'perl' in maint branch
 $cmd = "tar cf - $reldir | gzip --best > $reldir.tar.gz";