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