1*0Sstevel@tonic-gate /* patchlevel.h 2*0Sstevel@tonic-gate * 3*0Sstevel@tonic-gate * Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 4*0Sstevel@tonic-gate * 2000, 2001, 2002, 2003, 2004, by Larry Wall and others 5*0Sstevel@tonic-gate * 6*0Sstevel@tonic-gate * You may distribute under the terms of either the GNU General Public 7*0Sstevel@tonic-gate * License or the Artistic License, as specified in the README file. 8*0Sstevel@tonic-gate * 9*0Sstevel@tonic-gate */ 10*0Sstevel@tonic-gate 11*0Sstevel@tonic-gate #ifndef __PATCHLEVEL_H_INCLUDED__ 12*0Sstevel@tonic-gate 13*0Sstevel@tonic-gate /* do not adjust the whitespace! Configure expects the numbers to be 14*0Sstevel@tonic-gate * exactly on the third column */ 15*0Sstevel@tonic-gate 16*0Sstevel@tonic-gate #define PERL_REVISION 5 /* age */ 17*0Sstevel@tonic-gate #define PERL_VERSION 8 /* epoch */ 18*0Sstevel@tonic-gate #define PERL_SUBVERSION 4 /* generation */ 19*0Sstevel@tonic-gate 20*0Sstevel@tonic-gate /* The following numbers describe the earliest compatible version of 21*0Sstevel@tonic-gate Perl ("compatibility" here being defined as sufficient binary/API 22*0Sstevel@tonic-gate compatibility to run XS code built with the older version). 23*0Sstevel@tonic-gate Normally this should not change across maintenance releases. 24*0Sstevel@tonic-gate 25*0Sstevel@tonic-gate Note that this only refers to an out-of-the-box build. Many non-default 26*0Sstevel@tonic-gate options such as usemultiplicity tend to break binary compatibility 27*0Sstevel@tonic-gate more often. 28*0Sstevel@tonic-gate 29*0Sstevel@tonic-gate This is used by Configure et al to figure out 30*0Sstevel@tonic-gate PERL_INC_VERSION_LIST, which lists version libraries 31*0Sstevel@tonic-gate to include in @INC. See INSTALL for how this works. 32*0Sstevel@tonic-gate */ 33*0Sstevel@tonic-gate #define PERL_API_REVISION 5 /* Adjust manually as needed. */ 34*0Sstevel@tonic-gate #define PERL_API_VERSION 8 /* Adjust manually as needed. */ 35*0Sstevel@tonic-gate #define PERL_API_SUBVERSION 0 /* Adjust manually as needed. */ 36*0Sstevel@tonic-gate /* 37*0Sstevel@tonic-gate XXX Note: The selection of non-default Configure options, such 38*0Sstevel@tonic-gate as -Duselonglong may invalidate these settings. Currently, Configure 39*0Sstevel@tonic-gate does not adequately test for this. A.D. Jan 13, 2000 40*0Sstevel@tonic-gate */ 41*0Sstevel@tonic-gate 42*0Sstevel@tonic-gate #define __PATCHLEVEL_H_INCLUDED__ 43*0Sstevel@tonic-gate #endif 44*0Sstevel@tonic-gate 45*0Sstevel@tonic-gate /* 46*0Sstevel@tonic-gate local_patches -- list of locally applied less-than-subversion patches. 47*0Sstevel@tonic-gate If you're distributing such a patch, please give it a name and a 48*0Sstevel@tonic-gate one-line description, placed just before the last NULL in the array 49*0Sstevel@tonic-gate below. If your patch fixes a bug in the perlbug database, please 50*0Sstevel@tonic-gate mention the bugid. If your patch *IS* dependent on a prior patch, 51*0Sstevel@tonic-gate please place your applied patch line after its dependencies. This 52*0Sstevel@tonic-gate will help tracking of patch dependencies. 53*0Sstevel@tonic-gate 54*0Sstevel@tonic-gate Please either use 'diff --unified=0' if your diff supports 55*0Sstevel@tonic-gate that or edit the hunk of the diff output which adds your patch 56*0Sstevel@tonic-gate to this list, to remove context lines which would give patch 57*0Sstevel@tonic-gate problems. For instance, if the original context diff is 58*0Sstevel@tonic-gate 59*0Sstevel@tonic-gate *** patchlevel.h.orig <date here> 60*0Sstevel@tonic-gate --- patchlevel.h <date here> 61*0Sstevel@tonic-gate *** 38,43 *** 62*0Sstevel@tonic-gate --- 38,44 --- 63*0Sstevel@tonic-gate ,"FOO1235 - some patch" 64*0Sstevel@tonic-gate ,"BAR3141 - another patch" 65*0Sstevel@tonic-gate ,"BAZ2718 - and another patch" 66*0Sstevel@tonic-gate + ,"MINE001 - my new patch" 67*0Sstevel@tonic-gate ,NULL 68*0Sstevel@tonic-gate }; 69*0Sstevel@tonic-gate 70*0Sstevel@tonic-gate please change it to 71*0Sstevel@tonic-gate *** patchlevel.h.orig <date here> 72*0Sstevel@tonic-gate --- patchlevel.h <date here> 73*0Sstevel@tonic-gate *** 41,43 *** 74*0Sstevel@tonic-gate --- 41,44 --- 75*0Sstevel@tonic-gate + ,"MINE001 - my new patch" 76*0Sstevel@tonic-gate ,NULL 77*0Sstevel@tonic-gate }; 78*0Sstevel@tonic-gate 79*0Sstevel@tonic-gate (Note changes to line numbers as well as removal of context lines.) 80*0Sstevel@tonic-gate This will prevent patch from choking if someone has previously 81*0Sstevel@tonic-gate applied different patches than you. 82*0Sstevel@tonic-gate 83*0Sstevel@tonic-gate History has shown that nobody distributes patches that also 84*0Sstevel@tonic-gate modify patchlevel.h. Do it yourself. The following perl 85*0Sstevel@tonic-gate program can be used to add a comment to patchlevel.h: 86*0Sstevel@tonic-gate 87*0Sstevel@tonic-gate #!perl 88*0Sstevel@tonic-gate die "Usage: perl -x patchlevel.h comment ..." unless @ARGV; 89*0Sstevel@tonic-gate open PLIN, "patchlevel.h" or die "Couldn't open patchlevel.h : $!"; 90*0Sstevel@tonic-gate open PLOUT, ">patchlevel.new" or die "Couldn't write on patchlevel.new : $!"; 91*0Sstevel@tonic-gate my $seen=0; 92*0Sstevel@tonic-gate while (<PLIN>) { 93*0Sstevel@tonic-gate if (/\t,NULL/ and $seen) { 94*0Sstevel@tonic-gate while (my $c = shift @ARGV){ 95*0Sstevel@tonic-gate print PLOUT qq{\t,"$c"\n}; 96*0Sstevel@tonic-gate } 97*0Sstevel@tonic-gate } 98*0Sstevel@tonic-gate $seen++ if /local_patches\[\]/; 99*0Sstevel@tonic-gate print PLOUT; 100*0Sstevel@tonic-gate } 101*0Sstevel@tonic-gate close PLOUT or die "Couldn't close filehandle writing to patchlevel.new : $!"; 102*0Sstevel@tonic-gate close PLIN or die "Couldn't close filehandle reading from patchlevel.h : $!"; 103*0Sstevel@tonic-gate unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!" 104*0Sstevel@tonic-gate if -e "patchlevel.bak"; 105*0Sstevel@tonic-gate rename "patchlevel.h", "patchlevel.bak" or 106*0Sstevel@tonic-gate die "Couldn't rename patchlevel.h to patchlevel.bak : $!"; 107*0Sstevel@tonic-gate rename "patchlevel.new", "patchlevel.h" or 108*0Sstevel@tonic-gate die "Couldn't rename patchlevel.new to patchlevel.h : $!"; 109*0Sstevel@tonic-gate __END__ 110*0Sstevel@tonic-gate 111*0Sstevel@tonic-gate Please keep empty lines below so that context diffs of this file do 112*0Sstevel@tonic-gate not ever collect the lines belonging to local_patches() into the same 113*0Sstevel@tonic-gate hunk. 114*0Sstevel@tonic-gate 115*0Sstevel@tonic-gate */ 116*0Sstevel@tonic-gate 117*0Sstevel@tonic-gate 118*0Sstevel@tonic-gate 119*0Sstevel@tonic-gate 120*0Sstevel@tonic-gate #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT) 121*0Sstevel@tonic-gate static char *local_patches[] = { 122*0Sstevel@tonic-gate NULL, 123*0Sstevel@tonic-gate "22667 The optree builder was looping when constructing the ops ...", 124*0Sstevel@tonic-gate "22715 Upgrade to FileCache 1.04", 125*0Sstevel@tonic-gate "22733 Missing copyright in the README.", 126*0Sstevel@tonic-gate "22746 fix a coredump caused by rv2gv not fully converting a PV ...", 127*0Sstevel@tonic-gate "22755 Fix 29149 - another UTF8 cache bug hit by substr.", 128*0Sstevel@tonic-gate "22774 [perl #28938] split could leave an array without ...", 129*0Sstevel@tonic-gate "22775 [perl #29127] scalar delete of empty slice returned garbage", 130*0Sstevel@tonic-gate "22776 [perl #28986] perl -e \"open m\" crashes Perl", 131*0Sstevel@tonic-gate "22777 add test for change #22776 (\"open m\" crashes Perl)", 132*0Sstevel@tonic-gate "22778 add test for change #22746 ([perl #29102] Crash on assign ...", 133*0Sstevel@tonic-gate "22781 [perl #29340] Bizarre copy of ARRAY make sure a pad op's ...", 134*0Sstevel@tonic-gate "22796 [perl #29346] Double warning for int(undef) and abs(undef) ...", 135*0Sstevel@tonic-gate "22818 BOM-marked and (BOMless) UTF-16 scripts not working", 136*0Sstevel@tonic-gate "22823 [perl #29581] glob() misses a lot of matches", 137*0Sstevel@tonic-gate "22827 Smoke [5.9.2] 22818 FAIL(F) MSWin32 WinXP/.Net SP1 (x86/1 cpu)", 138*0Sstevel@tonic-gate "22830 [perl #29637] Thread creation time is hypersensitive", 139*0Sstevel@tonic-gate "22831 improve hashing algorithm for ptr tables in perl_clone: ...", 140*0Sstevel@tonic-gate "22839 [perl #29790] Optimization busted: '@a = \"b\", sort @a' ...", 141*0Sstevel@tonic-gate "22850 [PATCH] 'perl -v' fails if local_patches contains code snippets", 142*0Sstevel@tonic-gate "22852 TEST needs to ignore SCM files", 143*0Sstevel@tonic-gate "22886 Pod::Find should ignore SCM files and dirs", 144*0Sstevel@tonic-gate "22888 Remove redundant %SIG assignments from FileCache", 145*0Sstevel@tonic-gate "23006 [perl #30509] use encoding and \"eq\" cause memory leak", 146*0Sstevel@tonic-gate "23074 Segfault using HTML::Entities", 147*0Sstevel@tonic-gate "23106 Numeric comparison operators mustn't compare addresses of ...", 148*0Sstevel@tonic-gate "23320 [perl #30066] Memory leak in nested shared data structures ...", 149*0Sstevel@tonic-gate "23321 [perl #31459] Bug in read()", 150*0Sstevel@tonic-gate NULL 151*0Sstevel@tonic-gate }; 152*0Sstevel@tonic-gate 153*0Sstevel@tonic-gate 154*0Sstevel@tonic-gate 155*0Sstevel@tonic-gate /* Initial space prevents this variable from being inserted in config.sh */ 156*0Sstevel@tonic-gate # define LOCAL_PATCH_COUNT \ 157*0Sstevel@tonic-gate (sizeof(local_patches)/sizeof(local_patches[0])-2) 158*0Sstevel@tonic-gate 159*0Sstevel@tonic-gate /* the old terms of reference, add them only when explicitly included */ 160*0Sstevel@tonic-gate #define PATCHLEVEL PERL_VERSION 161*0Sstevel@tonic-gate #undef SUBVERSION /* OS/390 has a SUBVERSION in a system header */ 162*0Sstevel@tonic-gate #define SUBVERSION PERL_SUBVERSION 163*0Sstevel@tonic-gate #endif 164