526659a0d88d7defe30280e27aeeea6bcb4ee5a7
[p5sagit/p5-mst-13.2.git] / patchlevel.h
1 /*    patchlevel.h
2  *
3  *    Copyright (c) 1997-2002, Larry Wall
4  *
5  *    You may distribute under the terms of either the GNU General Public
6  *    License or the Artistic License, as specified in the README file.
7  *
8  */
9
10 #ifndef __PATCHLEVEL_H_INCLUDED__
11
12 /* do not adjust the whitespace! Configure expects the numbers to be
13  * exactly on the third column */
14
15 #define PERL_REVISION   5               /* age */
16 #define PERL_VERSION    9               /* epoch */
17 #define PERL_SUBVERSION 0               /* generation */
18
19 /* The following numbers describe the earliest compatible version of
20    Perl ("compatibility" here being defined as sufficient binary/API
21    compatibility to run XS code built with the older version).
22    Normally this should not change across maintenance releases.
23
24    Note that this only refers to an out-of-the-box build.  Many non-default
25    options such as usemultiplicity tend to break binary compatibility
26    more often.
27
28    This is used by Configure et al to figure out 
29    PERL_INC_VERSION_LIST, which lists version libraries
30    to include in @INC.  See INSTALL for how this works.
31 */
32 #define PERL_API_REVISION       5       /* Adjust manually as needed.  */
33 #define PERL_API_VERSION        8       /* Adjust manually as needed.  */
34 #define PERL_API_SUBVERSION     0       /* Adjust manually as needed.  */
35 /*
36    XXX Note:  The selection of non-default Configure options, such
37    as -Duselonglong may invalidate these settings.  Currently, Configure
38    does not adequately test for this.   A.D.  Jan 13, 2000
39 */
40
41 #define __PATCHLEVEL_H_INCLUDED__
42 #endif
43
44 /*
45         local_patches -- list of locally applied less-than-subversion patches.
46         If you're distributing such a patch, please give it a name and a
47         one-line description, placed just before the last NULL in the array
48         below.  If your patch fixes a bug in the perlbug database, please
49         mention the bugid.  If your patch *IS* dependent on a prior patch,
50         please place your applied patch line after its dependencies. This
51         will help tracking of patch dependencies.
52
53         Please edit the hunk of diff which adds your patch to this list,
54         to remove context lines which would give patch problems.  For instance,
55         if the original context diff is
56            *** patchlevel.h.orig        <date here>
57            --- patchlevel.h     <date here>
58            *** 38,43 ***
59            --- 38,44 ---
60                 ,"FOO1235 - some patch"
61                 ,"BAR3141 - another patch"
62                 ,"BAZ2718 - and another patch"
63            +    ,"MINE001 - my new patch"
64                 ,NULL
65              };
66         
67         please change it to 
68            *** patchlevel.h.orig        <date here>
69            --- patchlevel.h     <date here>
70            *** 41,43 ***
71            --- 41,44 ---
72            +    ,"MINE001 - my new patch"
73              };
74         
75         (Note changes to line numbers as well as removal of context lines.)
76         This will prevent patch from choking if someone has previously
77         applied different patches than you.
78
79         History has shown that nobody distributes patches that also
80         modify patchlevel.h. Do it yourself. The following perl
81         program can be used to add a comment to patchlevel.h:
82
83 #!perl
84 die "Usage: perl -x patchlevel.h comment ..." unless @ARGV;
85 open PLIN, "patchlevel.h" or die "Couldn't open patchlevel.h : $!";
86 open PLOUT, ">patchlevel.new" or die "Couldn't write on patchlevel.new : $!";
87 my $seen=0;
88 while (<PLIN>) {
89     if (/\t,NULL/ and $seen) {
90        while (my $c = shift @ARGV){
91             print PLOUT qq{\t,"$c"\n};
92        }
93     }
94     $seen++ if /local_patches\[\]/;
95     print PLOUT;
96 }
97 close PLOUT or warn "Couldn't close filehandle writing to patchlevel.new : $!";
98 close PLIN or warn "Couldn't close filehandle reading from patchlevel.h : $!";
99 unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!"
100   if -e "patchlevel.bak";
101 rename "patchlevel.h", "patchlevel.bak" or
102   die "Couldn't rename patchlevel.h to patchlevel.bak : $!";
103 rename "patchlevel.new", "patchlevel.h" or
104   die "Couldn't rename patchlevel.new to patchlevel.h : $!";
105 __END__
106
107 Please keep empty lines below so patching of this file doesn't
108 interfere with the following lines.
109
110  */
111
112
113
114
115
116
117
118 #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
119 static  char    *local_patches[] = {
120         NULL
121         ,"DEVEL18374"
122         ,NULL
123 };
124
125 /* Initial space prevents this variable from being inserted in config.sh  */
126 #  define       LOCAL_PATCH_COUNT       \
127         (sizeof(local_patches)/sizeof(local_patches[0])-2)
128
129 /* the old terms of reference, add them only when explicitly included */
130 #define PATCHLEVEL              PERL_VERSION
131 #undef  SUBVERSION              /* OS/390 has a SUBVERSION in a system header */
132 #define SUBVERSION              PERL_SUBVERSION
133 #endif