This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #113470] Constant folding for pack
[perl5.git] / patchlevel.h
CommitLineData
d6376244
JH
1/* patchlevel.h
2 *
eb3b8c7b
NC
3 * Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 * 2003, 2004, 2005, 2006, 2007, 2008, 2009, 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 */
0e79a3d1 17#define PERL_VERSION 17 /* epoch */
ce571c63 18#define PERL_SUBVERSION 2 /* 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
52c1368c 29 This is used by Configure et al to figure out
ff935051
JH
30 PERL_INC_VERSION_LIST, which lists version libraries
31 to include in @INC. See INSTALL for how this works.
52c1368c
FR
32
33 Porting/bump-perl-version will automatically set these to the version of perl
34 to be released for blead releases, and to 5.X.0 for maint releases. Manually
35 changing them should not be necessary.
75347591 36*/
52c1368c 37#define PERL_API_REVISION 5
0e79a3d1 38#define PERL_API_VERSION 17
ce571c63 39#define PERL_API_SUBVERSION 2
ff935051
JH
40/*
41 XXX Note: The selection of non-default Configure options, such
42 as -Duselonglong may invalidate these settings. Currently, Configure
43 does not adequately test for this. A.D. Jan 13, 2000
44*/
75347591 45
e3321bb0
GS
46#define __PATCHLEVEL_H_INCLUDED__
47#endif
48
7f0a50ff 49/*
50 local_patches -- list of locally applied less-than-subversion patches.
51 If you're distributing such a patch, please give it a name and a
52 one-line description, placed just before the last NULL in the array
53 below. If your patch fixes a bug in the perlbug database, please
54 mention the bugid. If your patch *IS* dependent on a prior patch,
55 please place your applied patch line after its dependencies. This
56 will help tracking of patch dependencies.
57
2c9b9644 58 Please either use 'diff --unified=0' if your diff supports
22adf171
A
59 that or edit the hunk of the diff output which adds your patch
60 to this list, to remove context lines which would give patch
61 problems. For instance, if the original context diff is
62
7f0a50ff 63 *** patchlevel.h.orig <date here>
64 --- patchlevel.h <date here>
65 *** 38,43 ***
66 --- 38,44 ---
67 ,"FOO1235 - some patch"
68 ,"BAR3141 - another patch"
69 ,"BAZ2718 - and another patch"
70 + ,"MINE001 - my new patch"
71 ,NULL
72 };
52c1368c
FR
73
74 please change it to
7f0a50ff 75 *** patchlevel.h.orig <date here>
76 --- patchlevel.h <date here>
77 *** 41,43 ***
78 --- 41,44 ---
79 + ,"MINE001 - my new patch"
2c9b9644 80 ,NULL
7f0a50ff 81 };
52c1368c 82
7f0a50ff 83 (Note changes to line numbers as well as removal of context lines.)
84 This will prevent patch from choking if someone has previously
85 applied different patches than you.
f7047380
A
86
87 History has shown that nobody distributes patches that also
88 modify patchlevel.h. Do it yourself. The following perl
89 program can be used to add a comment to patchlevel.h:
90
91#!perl
92die "Usage: perl -x patchlevel.h comment ..." unless @ARGV;
93open PLIN, "patchlevel.h" or die "Couldn't open patchlevel.h : $!";
94open PLOUT, ">patchlevel.new" or die "Couldn't write on patchlevel.new : $!";
95my $seen=0;
96while (<PLIN>) {
97 if (/\t,NULL/ and $seen) {
98 while (my $c = shift @ARGV){
321e50c7
GA
99 $c =~ s|\\|\\\\|g;
100 $c =~ s|"|\\"|g;
f7047380
A
101 print PLOUT qq{\t,"$c"\n};
102 }
103 }
104 $seen++ if /local_patches\[\]/;
105 print PLOUT;
106}
22adf171
A
107close PLOUT or die "Couldn't close filehandle writing to patchlevel.new : $!";
108close PLIN or die "Couldn't close filehandle reading from patchlevel.h : $!";
538f996c 109close DATA; # needed to allow unlink to work win32.
f7047380
A
110unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!"
111 if -e "patchlevel.bak";
112rename "patchlevel.h", "patchlevel.bak" or
113 die "Couldn't rename patchlevel.h to patchlevel.bak : $!";
114rename "patchlevel.new", "patchlevel.h" or
115 die "Couldn't rename patchlevel.new to patchlevel.h : $!";
116__END__
117
22adf171
A
118Please keep empty lines below so that context diffs of this file do
119not ever collect the lines belonging to local_patches() into the same
120hunk.
f7047380 121
7f0a50ff 122 */
f7047380 123
e3321bb0 124#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
486cd780
NC
125# if defined(PERL_IS_MINIPERL)
126# define PERL_PATCHNUM "UNKNOWN-miniperl"
486cd780 127# define PERL_GIT_UNPUSHED_COMMITS /*leave-this-comment*/
ec47230b
NC
128# elif defined(PERL_MICRO)
129# define PERL_PATCHNUM "UNKNOWN-microperl"
ec47230b 130# define PERL_GIT_UNPUSHED_COMMITS /*leave-this-comment*/
486cd780 131# else
dcff826f 132#include "git_version.h"
486cd780 133# endif
27da23d5 134static const char * const local_patches[] = {
3255d14b 135 NULL
691ce773
GA
136#ifdef PERL_GIT_UNCOMMITTED_CHANGES
137 ,"uncommitted-changes"
138#endif
eb5c076f 139 PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
3255d14b 140 ,NULL
7f0a50ff 141};
142
22adf171
A
143
144
b33f1439 145/* Initial space prevents this variable from being inserted in config.sh */
146# define LOCAL_PATCH_COUNT \
bb7a0f54 147 ((int)(sizeof(local_patches)/sizeof(local_patches[0])-2))
f7d144c8 148
cceca5ed 149/* the old terms of reference, add them only when explicitly included */
cceca5ed
GS
150#define PATCHLEVEL PERL_VERSION
151#undef SUBVERSION /* OS/390 has a SUBVERSION in a system header */
152#define SUBVERSION PERL_SUBVERSION
153#endif