develooper Front page | perl.perl5.porters | Postings from April 2000

Re: ppport.h and polution (was: 5.6.0 ready for prime-time?)

Thread Previous | Thread Next
From:
Gurusamy Sarathy
Date:
April 3, 2000 16:21
Subject:
Re: ppport.h and polution (was: 5.6.0 ready for prime-time?)
Message ID:
200004032319.QAA08146@maul.ActiveState.com
On 03 Apr 2000 15:18:06 PDT, Russ Allbery wrote:
>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.
[...]
>--- 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.)

> #      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.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About