home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 December (Special) / PCWorld_2005-12_Special_cd.bin / Bezpecnost / lsti / lsti.exe / framework-2.5.exe / patchlevel.h < prev    next >
C/C++ Source or Header  |  2005-01-27  |  5KB  |  137 lines

  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    6        /* 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
  88. die "Usage: perl -x patchlevel.h comment ..." unless @ARGV;
  89. open PLIN, "patchlevel.h" or die "Couldn't open patchlevel.h : $!";
  90. open PLOUT, ">patchlevel.new" or die "Couldn't write on patchlevel.new : $!";
  91. my $seen=0;
  92. while (<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. }
  101. close PLOUT or die "Couldn't close filehandle writing to patchlevel.new : $!";
  102. close PLIN or die "Couldn't close filehandle reading from patchlevel.h : $!";
  103. unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!"
  104.   if -e "patchlevel.bak";
  105. rename "patchlevel.h", "patchlevel.bak" or
  106.   die "Couldn't rename patchlevel.h to patchlevel.bak : $!";
  107. rename "patchlevel.new", "patchlevel.h" or
  108.   die "Couldn't rename patchlevel.new to patchlevel.h : $!";
  109. __END__
  110.  
  111. Please keep empty lines below so that context diffs of this file do
  112. not ever collect the lines belonging to local_patches() into the same
  113. hunk.
  114.  
  115.  */
  116.  
  117.  
  118.  
  119.  
  120. #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
  121. static    char    *local_patches[] = {
  122.     NULL
  123.     ,NULL
  124. };
  125.  
  126.  
  127.  
  128. /* Initial space prevents this variable from being inserted in config.sh  */
  129. #  define    LOCAL_PATCH_COUNT    \
  130.     (sizeof(local_patches)/sizeof(local_patches[0])-2)
  131.  
  132. /* the old terms of reference, add them only when explicitly included */
  133. #define PATCHLEVEL        PERL_VERSION
  134. #undef  SUBVERSION        /* OS/390 has a SUBVERSION in a system header */
  135. #define SUBVERSION        PERL_SUBVERSION
  136. #endif
  137.