1/*    patchlevel.h
2 *
3 *    Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999,
4 *    2000, 2001, 2002, 2003, 2004, by Larry Wall and others
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
11#ifndef __PATCHLEVEL_H_INCLUDED__
12
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 */
17#define PERL_VERSION	8		/* epoch */
18#define PERL_SUBVERSION	4		/* generation */
19
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).
23   Normally this should not change across maintenance releases.
24
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
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.
32*/
33#define PERL_API_REVISION	5	/* Adjust manually as needed.  */
34#define PERL_API_VERSION	8	/* Adjust manually as needed.  */
35#define PERL_API_SUBVERSION	0	/* Adjust manually as needed.  */
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*/
41
42#define __PATCHLEVEL_H_INCLUDED__
43#endif
44
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
54	Please either use 'diff --unified=0' if your diff supports
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
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"
76	     	,NULL
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.
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}
101close PLOUT or die "Couldn't close filehandle writing to patchlevel.new : $!";
102close PLIN or die "Couldn't close filehandle reading from patchlevel.h : $!";
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
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.
114
115 */
116
117
118
119
120#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
121static	char	*local_patches[] = {
122        NULL,
123	"22667 The optree builder was looping when constructing the ops ...",
124	"22715 Upgrade to FileCache 1.04",
125	"22733 Missing copyright in the README.",
126	"22746 fix a coredump caused by rv2gv not fully converting a PV ...",
127	"22755 Fix 29149 - another UTF8 cache bug hit by substr.",
128	"22774 [perl #28938] split could leave an array without ...",
129	"22775 [perl #29127] scalar delete of empty slice returned garbage",
130	"22776 [perl #28986] perl -e \"open m\" crashes Perl",
131	"22777 add test for change #22776 (\"open m\" crashes Perl)",
132	"22778 add test for change #22746 ([perl #29102] Crash on assign ...",
133	"22781 [perl #29340] Bizarre copy of ARRAY make sure a pad op's ...",
134	"22796 [perl #29346] Double warning for int(undef) and abs(undef) ...",
135	"22818 BOM-marked and (BOMless) UTF-16 scripts not working",
136	"22823 [perl #29581] glob() misses a lot of matches",
137	"22827 Smoke [5.9.2] 22818 FAIL(F) MSWin32 WinXP/.Net SP1 (x86/1 cpu)",
138	"22830 [perl #29637] Thread creation time is hypersensitive",
139	"22831 improve hashing algorithm for ptr tables in perl_clone: ...",
140	"22839 [perl #29790] Optimization busted: '@a = \"b\", sort @a' ...",
141	"22850 [PATCH] 'perl -v' fails if local_patches contains code snippets",
142	"22852 TEST needs to ignore SCM files",
143	"22886 Pod::Find should ignore SCM files and dirs",
144	"22888 Remove redundant %SIG assignments from FileCache",
145	"23006 [perl #30509] use encoding and \"eq\" cause memory leak",
146	"23074 Segfault using HTML::Entities",
147	"23106 Numeric comparison operators mustn't compare addresses of ...",
148	"23320 [perl #30066] Memory leak in nested shared data structures ...",
149	"23321 [perl #31459] Bug in read()",
150	"27722 perlio.c breaks on Solaris/gcc when > 256 FDs are available",
151 	"SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962",
152	"6663288 Upgrade to CGI.pm 3.33",
153 	"REGEXP0 - fix for UTF-8 recoding in regexps - CVE-2007-5116",
154 	"6758953 Perl Sys::Syslog can log messages with wrong severity",
155 	"6935710 patch 141552-01 causes an error when the Syslog perl module is used",
156	NULL
157};
158
159
160
161/* Initial space prevents this variable from being inserted in config.sh  */
162#  define	LOCAL_PATCH_COUNT	\
163	(sizeof(local_patches)/sizeof(local_patches[0])-2)
164
165/* the old terms of reference, add them only when explicitly included */
166#define PATCHLEVEL		PERL_VERSION
167#undef  SUBVERSION		/* OS/390 has a SUBVERSION in a system header */
168#define SUBVERSION		PERL_SUBVERSION
169#endif
170