Skip Menu |
Report information
Id: 3000
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: rra [at] stanford.edu
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: (no value)
Perl Version: (no value)
Fixed In: (no value)



To: Gurusamy Sarathy <gsar [...] ActiveState.com>
Cc: Norton Allen <allen [...] huarp.harvard.edu>, doughera [...] lafayette.edu (Andy Dougherty), perl5-porters [...] perl.org (Perl5 Porters), kjahds [...] kjahds.com
Subject: ppport.h and polution (was: 5.6.0 ready for prime-time?)
From: Russ Allbery <rra [...] stanford.edu>
Date: 03 Apr 2000 15:18:06 -0700
Gurusamy Sarathy <gsar@ActiveState.com> writes: Show quoted text
> On Mon, 03 Apr 2000 11:18:43 EDT, Norton Allen wrote:
Show quoted text
>> My module compiled without changes as late as .670, possibly with RC1, >> but required na => PL_na attention by RC2.
Show quoted text
> I don't see anything about this in the archives. Did you report it via > perlbug?
Changes to #defines in patchlevel.h broke ppport.h, though; I wonder if that has something to do with it. That was our problem with INN at least. I'm currently waiting on feedback on this patch from the person who reported the problem with INN, or the time to install Perl 5.6.0 on a test machine where I can build INN against it, but I think this patch against 1.0003 will fix the problem. --- ppport.h.orig Thu Feb 25 19:41:21 1999 +++ ppport.h Mon Apr 3 15:16:48 2000 @@ -139,21 +139,25 @@ */ -#ifndef PERL_PATCHLEVEL +#if !defined(PERL_VERSION) && !defined(PERL_PATCHLEVEL) # ifndef __PATCHLEVEL_H_INCLUDED__ # include "patchlevel.h" # endif #endif -#ifndef PERL_PATCHLEVEL -# define PERL_PATCHLEVEL PATCHLEVEL -# define PERL_SUBVERSION SUBVERSION +#ifndef PERL_VERSION +# ifdef PERL_PATCHLEVEL +# define PERL_VERSION PERL_PATCHLEVEL +# else +# define PERL_VERSION PATCHLEVEL +# define PERL_SUBVERSION SUBVERSION +# endif #endif #ifndef ERRSV # define ERRSV perl_get_sv("@",FALSE) #endif -#if (PERL_PATCHLEVEL < 4) || ((PERL_PATCHLEVEL == 4) && (PERL_SUBVERSION <= 4)) +#if (PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 4)) # define PL_sv_undef sv_undef # define PL_sv_yes sv_yes # define PL_sv_no sv_no @@ -165,7 +169,7 @@ # define PL_copline copline #endif -#if (PERL_PATCHLEVEL < 5) +#if (PERL_VERSION < 5) # ifdef WIN32 # define dTHR extern int Perl___notused # else @@ -182,7 +186,7 @@ /* Provide: newCONSTSUB */ /* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */ -#if (PATCHLEVEL < 4) || ((PATCHLEVEL == 4) && (SUBVERSION < 63)) +#if (PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION < 63)) /* Prototype */ #if !defined(NEED_newCONSTSUB_GLOBAL)
To: Russ Allbery <rra [...] stanford.edu>
Cc: Gurusamy Sarathy <gsar [...] ActiveState.com>, Norton Allen <allen [...] huarp.harvard.edu>, doughera [...] lafayette.edu (Andy Dougherty), perl5-porters [...] perl.org (Perl5 Porters), kjahds [...] kjahds.com
Subject: Re: ppport.h and polution (was: 5.6.0 ready for prime-time?)
Date: Mon, 03 Apr 2000 16:19:33 -0700
From: Gurusamy Sarathy <gsar [...] ActiveState.com>
Download (untitled) / with headers
text/plain 3.1k
On 03 Apr 2000 15:18:06 PDT, Russ Allbery wrote: Show quoted text
>Gurusamy Sarathy <gsar@ActiveState.com> writes:
>> I don't see anything about this in the archives. Did you report it via >> perlbug?
> >Changes to #defines in patchlevel.h broke ppport.h, though; I wonder if >that has something to do with it. That was our problem with INN at least.
[...] Show quoted text
>--- ppport.h.orig Thu Feb 25 19:41:21 1999 >+++ ppport.h Mon Apr 3 15:16:48 2000 >@@ -139,21 +139,25 @@ > */ > > >-#ifndef PERL_PATCHLEVEL >+#if !defined(PERL_VERSION) && !defined(PERL_PATCHLEVEL)
Perl has never #defined a PERL_PATCHLEVEL, so I don't think that could have ever fully "worked". (See diff of patchlevel.h between 5.005_50 and 5.6.0.) Show quoted text
> # ifndef __PATCHLEVEL_H_INCLUDED__ > # include "patchlevel.h" > # endif
I think the breakage you're referring to may be due to the fact that __PATCHLEVEL_H_INCLUDED__ has been #defined by default since 5.005_62 (15 October 1999). Certainly not a "last minute change". Sarathy gsar@ActiveState.com -----------------------------------8<----------------------------------- ==== //depot/perl/patchlevel.h#40 (text) - //depot/perl/patchlevel.h#73 (text) ==== @@ -1,6 +1,36 @@ #ifndef __PATCHLEVEL_H_INCLUDED__ -#define PATCHLEVEL 5 -#define SUBVERSION 50 + +/* do not adjust the whitespace! Configure expects the numbers to be + * exactly on the third column */ + +#define PERL_REVISION 5 /* age */ +#define PERL_VERSION 6 /* epoch */ +#define PERL_SUBVERSION 0 /* generation */ + +/* The following numbers describe the earliest compatible version of + Perl ("compatibility" here being defined as sufficient binary/API + compatibility to run XS code built with the older version). + Normally this should not change across maintenance releases. + + Note that this only refers to an out-of-the-box build. Many non-default + options such as usemultiplicity tend to break binary compatibility + more often. + + This is used by Configure et al to figure out + PERL_INC_VERSION_LIST, which lists version libraries + to include in @INC. See INSTALL for how this works. +*/ +#define PERL_API_REVISION 5 /* Adjust manually as needed. */ +#define PERL_API_VERSION 5 /* Adjust manually as needed. */ +#define PERL_API_SUBVERSION 0 /* Adjust manually as needed. */ +/* + XXX Note: The selection of non-default Configure options, such + as -Duselonglong may invalidate these settings. Currently, Configure + does not adequately test for this. A.D. Jan 13, 2000 +*/ + +#define __PATCHLEVEL_H_INCLUDED__ +#endif /* local_patches -- list of locally applied less-than-subversion patches. @@ -37,6 +67,7 @@ This will prevent patch from choking if someone has previously applied different patches than you. */ +#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT) static char *local_patches[] = { NULL ,NULL @@ -46,5 +77,8 @@ # define LOCAL_PATCH_COUNT \ (sizeof(local_patches)/sizeof(local_patches[0])-2) -# define __PATCHLEVEL_H_INCLUDED__ +/* the old terms of reference, add them only when explicitly included */ +#define PATCHLEVEL PERL_VERSION +#undef SUBVERSION /* OS/390 has a SUBVERSION in a system header */ +#define SUBVERSION PERL_SUBVERSION #endif End of Patch.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org