Regen Configure, all of xs_apiversion didn't take.
Jarkko Hietaniemi [Sat, 2 Oct 1999 10:11:20 +0000 (10:11 +0000)]
p4raw-id: //depot/cfgperl@4284

Configure
Porting/Glossary
Porting/config.sh
Porting/config_H
config_h.SH
patchlevel.h

index 8fd2a8d..a6d567c 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Thu Sep 30 19:41:54 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Sat Oct  2 13:06:57 EET DST 1999 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -842,6 +842,8 @@ vendorprefix=''
 vendorprefixexp=''
 defvoidused=''
 voidflags=''
+pm_apiversion=''
+xs_apiversion=''
 CONFIG=''
 
 define='define'
@@ -11938,6 +11940,15 @@ rp="What is the type of process ids on this system?"
 set pid_t pidtype int stdio.h sys/types.h
 eval $typedef_ask
 
+: Find earliest binary compatible site_perl subdirectory perl can use.
+case "$bincompat5005" in
+"$define") xs_apiversion='5.005' ;;
+*) xs_apiversion=$apiversion ;;   # The current site_perl version.
+esac
+: Find earliest pure perl site_perl subdirectory perl can use.
+: The versioned directories started at 5.005.
+pm_apiversion='5.005'
+
 : check for length of pointer
 echo " "
 case "$ptrsize" in
@@ -13901,6 +13912,7 @@ pg='$pg'
 phostname='$phostname'
 pidtype='$pidtype'
 plibpth='$plibpth'
+pm_apiversion='$pm_apiversion'
 pmake='$pmake'
 pr='$pr'
 prefix='$prefix'
@@ -14024,6 +14036,7 @@ version='$version'
 vi='$vi'
 voidflags='$voidflags'
 xlibpth='$xlibpth'
+xs_apiversion='$xs_apiversion'
 zcat='$zcat'
 zip='$zip'
 EOT
index 46fb810..861d4be 100644 (file)
@@ -2560,6 +2560,21 @@ plibpth (libpth.U):
        Its value is prepend to libpth. This variable takes care of special
        machines, like the mips.  Usually, it should be empty.
 
+pm_apiversion (xs_apiversion.U):
+       This variable contains the version of the oldest perl
+       compatible with the present perl.  (That is, pure perl modules
+       written for $pm_apiversion will still work for the current
+       version).  perl.c:incpush() and lib/lib.pm will automatically
+       search in $sitelib for older directories across major versions
+       back to pm_apiversion.  This is only useful if you have a perl
+       library directory tree structured like the default one.  The
+       versioned site_perl library was introduced in 5.005, so that's
+       the default setting for this variable.  It's hard to imagine
+       it changing before Perl6.  It is included here for symmetry
+       with xs_apiveprsion -- the searching algorithms will
+       (presumably) be similar.
+       See the INSTALL file for how this works.
+
 pmake (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
@@ -3158,6 +3173,23 @@ xlibpth (libpth.U):
        libraries on this platform, for example CPU-specific libraries
        (on multi-CPU platforms) may be listed here.
 
+xs_apiversion (xs_apiversion.U):
+       This variable contains the version of the oldest perl binary
+       compatible with the present perl.  perl.c:incpush() and
+       lib/lib.pm will automatically search in $sitearch for older
+       directories across major versions back to xs_apiversion.
+       This is only useful if you have a perl library directory tree
+       structured like the default one.
+       See INSTALL for how this works.
+       The versioned site_perl directory was introduced in 5.005,
+       so that is the lowest possible value.
+       Since this can depend on compile time options (such as
+       bincompat) it is set by Configure.  Other non-default sources
+       of potential incompatibility, such as multiplicity, threads,
+       debugging, 64bits, sfio, etc., are not checked for currently,
+       though in principle we could go snooping around in old
+       Config.pm files.
+
 zcat (Loc.U):
        This variable is defined but not used by Configure.
        The value is a plain '' and is not useful.
index af71ead..0b426e2 100644 (file)
@@ -8,7 +8,7 @@
 
 # Package name      : perl5
 # Source directory  : .
-# Configuration time: Thu Sep 30 19:44:33 EET DST 1999
+# Configuration time: Sat Oct  2 13:09:30 EET DST 1999
 # Configured by     : jhi
 # Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
 
@@ -30,7 +30,7 @@ afs='false'
 alignbytes='8'
 ansi2knr=''
 aphostname=''
-apiversion=''
+apiversion='5.00561'
 ar='ar'
 archlib='/opt/perl/lib/5.00561/alpha-dec_osf-thread'
 archlibexp='/opt/perl/lib/5.00561/alpha-dec_osf-thread'
@@ -56,7 +56,7 @@ ccflags='-pthread -std -DLANGUAGE_C'
 ccsymbols='__LANGUAGE_C__=1 _LONGLONG=1 LANGUAGE_C=1 SYSTYPE_BSD=1'
 cf_by='jhi'
 cf_email='yourname@yourhost.yourplace.com'
-cf_time='Thu Sep 30 19:44:33 EET DST 1999'
+cf_time='Sat Oct  2 13:09:30 EET DST 1999'
 chgrp=''
 chmod=''
 chown=''
@@ -478,7 +478,7 @@ installprefix='/opt/perl'
 installprefixexp='/opt/perl'
 installprivlib='/opt/perl/lib/5.00561'
 installscript='/opt/perl/bin'
-installsitearch='/opt/perl/lib/site_perl//alpha-dec_osf-thread'
+installsitearch='/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread'
 installsitelib='/opt/perl/lib/site_perl'
 installstyle='lib'
 installusrbinperl='define'
@@ -569,6 +569,7 @@ pg='pg'
 phostname=''
 pidtype='pid_t'
 plibpth=''
+pm_apiversion='5.005'
 pmake=''
 pr=''
 prefix='/opt/perl'
@@ -618,8 +619,8 @@ sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE"
 sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 6 6 16 20 23 23 23 29 48 '
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 6, 6, 16, 20, 23, 23, 23, 29, 48, 0'
 signal_t='void'
-sitearch='/opt/perl/lib/site_perl//alpha-dec_osf-thread'
-sitearchexp='/opt/perl/lib/site_perl//alpha-dec_osf-thread'
+sitearch='/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread'
+sitearchexp='/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread'
 sitelib='/opt/perl/lib/site_perl'
 sitelibexp='/opt/perl/lib/site_perl'
 siteprefix='/opt/perl'
@@ -692,6 +693,7 @@ version='5.00561'
 vi=''
 voidflags='15'
 xlibpth='/usr/lib/386 /lib/386'
+xs_apiversion='5.00561'
 zcat=''
 zip='zip'
 # Configure command line arguments.
@@ -712,6 +714,7 @@ config_arg11='-dE'
 PERL_REVISION=5
 PERL_VERSION=5
 PERL_SUBVERSION=61
+PERL_APIVERSION=5.00561
 CONFIGDOTSH=true
 # Variables propagated from previous config.sh file.
 pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"'
index d099550..b16ae56 100644 (file)
@@ -17,7 +17,7 @@
 /*
  * Package name      : perl5
  * Source directory  : .
- * Configuration time: Thu Sep 30 19:44:33 EET DST 1999
+ * Configuration time: Sat Oct  2 13:09:30 EET DST 1999
  * Configured by     : jhi
  * Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
  */
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "/opt/perl/lib/site_perl//alpha-dec_osf-thread"               /**/
-#define SITEARCH_EXP "/opt/perl/lib/site_perl//alpha-dec_osf-thread"           /**/
+#define SITEARCH "/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread"                /**/
+#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread"            /**/
 
 /* SITELIB:
  *     This symbol contains the name of the private library for this package.
  */
 /*#define      USE_SOCKS               / **/
 
+/* PERL_XS_APIVERSION:
+ *     This variable contains the version of the oldest perl binary
+ *     compatible with the present perl.  perl.c:incpush() and
+ *     lib/lib.pm will automatically search in /opt/perl/lib/site_perl/5.00561/alpha-dec_osf-thread for older
+ *     directories across major versions back to xs_apiversion.
+ *     This is only useful if you have a perl library directory tree
+ *     structured like the default one.
+ *     See INSTALL for how this works.
+ *     The versioned site_perl directory was introduced in 5.005,
+ *     so that is the lowest possible value.
+ *     Since this can depend on compile time options (such as
+ *     bincompat) it is set by Configure.  Other non-default sources
+ *     of potential incompatibility, such as multiplicity, threads,
+ *     debugging, 64bits, sfio, etc., are not checked for currently,
+ *     though in principle we could go snooping around in old
+ *     Config.pm files.
+ */
+/* PERL_PM_APIVERSION:
+ *     This variable contains the version of the oldest perl
+ *     compatible with the present perl.  (That is, pure perl modules
+ *     written for pm_apiversion will still work for the current
+ *     version).  perl.c:incpush() and lib/lib.pm will automatically
+ *     search in /opt/perl/lib/site_perl for older directories across major versions
+ *     back to pm_apiversion.  This is only useful if you have a perl
+ *     library directory tree structured like the default one.  The
+ *     versioned site_perl library was introduced in 5.005, so that's
+ *     the default setting for this variable.  It's hard to imagine
+ *     it changing before Perl6.  It is included here for symmetry
+ *     with xs_apiveprsion -- the searching algorithms will
+ *     (presumably) be similar.
+ *     See the INSTALL file for how this works.
+ */
+#define PERL_XS_APIVERSION 5.00561 /* Change to string for tuples?*/
+#define PERL_PM_APIVERSION 5.005 /* Change to string for tuples?*/
+
 /* HAS_DRAND48_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the drand48() function.  Otherwise, it is up
index 5aa68c2..c720e83 100644 (file)
@@ -2507,6 +2507,41 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$usesocks     USE_SOCKS               /**/
 
+/* PERL_XS_APIVERSION:
+ *     This variable contains the version of the oldest perl binary
+ *     compatible with the present perl.  perl.c:incpush() and
+ *     lib/lib.pm will automatically search in $sitearch for older
+ *     directories across major versions back to xs_apiversion.
+ *     This is only useful if you have a perl library directory tree
+ *     structured like the default one.
+ *     See INSTALL for how this works.
+ *     The versioned site_perl directory was introduced in 5.005,
+ *     so that is the lowest possible value.
+ *     Since this can depend on compile time options (such as
+ *     bincompat) it is set by Configure.  Other non-default sources
+ *     of potential incompatibility, such as multiplicity, threads,
+ *     debugging, 64bits, sfio, etc., are not checked for currently,
+ *     though in principle we could go snooping around in old
+ *     Config.pm files.
+ */
+/* PERL_PM_APIVERSION:
+ *     This variable contains the version of the oldest perl
+ *     compatible with the present perl.  (That is, pure perl modules
+ *     written for pm_apiversion will still work for the current
+ *     version).  perl.c:incpush() and lib/lib.pm will automatically
+ *     search in $sitelib for older directories across major versions
+ *     back to pm_apiversion.  This is only useful if you have a perl
+ *     library directory tree structured like the default one.  The
+ *     versioned site_perl library was introduced in 5.005, so that's
+ *     the default setting for this variable.  It's hard to imagine
+ *     it changing before Perl6.  It is included here for symmetry
+ *     with xs_apiveprsion -- the searching algorithms will
+ *     (presumably) be similar.
+ *     See the INSTALL file for how this works.
+ */
+#define PERL_XS_APIVERSION $xs_apiversion /* Change to string for tuples?*/
+#define PERL_PM_APIVERSION $pm_apiversion /* Change to string for tuples?*/
+
 /* HAS_DRAND48_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the drand48() function.  Otherwise, it is up
index 02a9689..56e529c 100644 (file)
@@ -7,6 +7,19 @@
 #define PERL_VERSION   5               /* epoch */
 #define PERL_SUBVERSION        61              /* generation */
 
+/* Compatibility across versions:  MakeMaker will install add-on
+   modules in a directory with the PERL_APIVERSION version number.  
+   Normally this should not change across maintenance releases.
+   perl.c:incpush() and lib/lib.pm will automatically search older 
+   directories across major versions back to to PERL_XS_APIVERSION
+   for XS modules and back to PERL_PM_APIVERSION for pure PERL modules.
+   (Since the versioned directory layout didn't start until 5.005,
+   that's the earliest these can go back.
+
+   See INSTALL for how this works.
+*/
+#define PERL_APIVERSION 5.00561                /* Adjust manually as needed.  */
+
 #define __PATCHLEVEL_H_INCLUDED__
 #endif