This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make script embedded in patchlevel.h work on win32.
[perl5.git] / patchlevel.h
index 269083e..af6e18f 100644 (file)
@@ -1,6 +1,7 @@
 /*    patchlevel.h
  *
 /*    patchlevel.h
  *
- *    Copyright (c) 1997-2002, Larry Wall
+ *    Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999,
+ *    2000, 2001, 2002, 2003, 2004, by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -13,7 +14,7 @@
  * exactly on the third column */
 
 #define PERL_REVISION  5               /* age */
  * exactly on the third column */
 
 #define PERL_REVISION  5               /* age */
-#define PERL_VERSION   7               /* epoch */
+#define PERL_VERSION   9               /* epoch */
 #define PERL_SUBVERSION        3               /* generation */
 
 /* The following numbers describe the earliest compatible version of
 #define PERL_SUBVERSION        3               /* generation */
 
 /* The following numbers describe the earliest compatible version of
@@ -30,8 +31,8 @@
    to include in @INC.  See INSTALL for how this works.
 */
 #define PERL_API_REVISION      5       /* Adjust manually as needed.  */
    to include in @INC.  See INSTALL for how this works.
 */
 #define PERL_API_REVISION      5       /* Adjust manually as needed.  */
-#define PERL_API_VERSION       7       /* Adjust manually as needed.  */
-#define PERL_API_SUBVERSION    3       /* Adjust manually as needed.  */
+#define PERL_API_VERSION       9       /* Adjust manually as needed.  */
+#define PERL_API_SUBVERSION    2       /* Adjust manually as needed.  */
 /*
    XXX Note:  The selection of non-default Configure options, such
    as -Duselonglong may invalidate these settings.  Currently, Configure
 /*
    XXX Note:  The selection of non-default Configure options, such
    as -Duselonglong may invalidate these settings.  Currently, Configure
        please place your applied patch line after its dependencies. This
        will help tracking of patch dependencies.
 
        please place your applied patch line after its dependencies. This
        will help tracking of patch dependencies.
 
-       Please edit the hunk of diff which adds your patch to this list,
-       to remove context lines which would give patch problems.  For instance,
-       if the original context diff is
+       Please either use 'diff --unified=0' if your diff supports
+       that or edit the hunk of the diff output which adds your patch
+       to this list, to remove context lines which would give patch
+       problems. For instance, if the original context diff is
+
           *** patchlevel.h.orig        <date here>
           --- patchlevel.h     <date here>
           *** 38,43 ***
           *** patchlevel.h.orig        <date here>
           --- patchlevel.h     <date here>
           *** 38,43 ***
           *** 41,43 ***
           --- 41,44 ---
           +    ,"MINE001 - my new patch"
           *** 41,43 ***
           --- 41,44 ---
           +    ,"MINE001 - my new patch"
+               ,NULL
             };
        
        (Note changes to line numbers as well as removal of context lines.)
        This will prevent patch from choking if someone has previously
        applied different patches than you.
             };
        
        (Note changes to line numbers as well as removal of context lines.)
        This will prevent patch from choking if someone has previously
        applied different patches than you.
+
+        History has shown that nobody distributes patches that also
+        modify patchlevel.h. Do it yourself. The following perl
+        program can be used to add a comment to patchlevel.h:
+
+#!perl
+die "Usage: perl -x patchlevel.h comment ..." unless @ARGV;
+open PLIN, "patchlevel.h" or die "Couldn't open patchlevel.h : $!";
+open PLOUT, ">patchlevel.new" or die "Couldn't write on patchlevel.new : $!";
+my $seen=0;
+while (<PLIN>) {
+    if (/\t,NULL/ and $seen) {
+       while (my $c = shift @ARGV){
+            print PLOUT qq{\t,"$c"\n};
+       }
+    }
+    $seen++ if /local_patches\[\]/;
+    print PLOUT;
+}
+close PLOUT or die "Couldn't close filehandle writing to patchlevel.new : $!";
+close PLIN or die "Couldn't close filehandle reading from patchlevel.h : $!";
+close DATA; # needed to allow unlink to work win32.
+unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!"
+  if -e "patchlevel.bak";
+rename "patchlevel.h", "patchlevel.bak" or
+  die "Couldn't rename patchlevel.h to patchlevel.bak : $!";
+rename "patchlevel.new", "patchlevel.h" or
+  die "Couldn't rename patchlevel.new to patchlevel.h : $!";
+__END__
+
+Please keep empty lines below so that context diffs of this file do
+not ever collect the lines belonging to local_patches() into the same
+hunk.
+
  */
  */
+
+#ifndef PERL_PATCHNUM
+#define PERL_PATCHNUM 24148
+#endif
+
 #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
 #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
-static char    *local_patches[] = {
-        NULL
-       ,"DEVEL16266"
+static const char * const local_patches[] = {
+       NULL
+       ,"DEVEL" STRINGIFY(PERL_PATCHNUM)
        ,NULL
 };
 
        ,NULL
 };
 
+
+
 /* Initial space prevents this variable from being inserted in config.sh  */
 #  define      LOCAL_PATCH_COUNT       \
        (sizeof(local_patches)/sizeof(local_patches[0])-2)
 /* Initial space prevents this variable from being inserted in config.sh  */
 #  define      LOCAL_PATCH_COUNT       \
        (sizeof(local_patches)/sizeof(local_patches[0])-2)