This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Re: Possible skeletal structure for searching multiple versions
[metaconfig.git] / U / perl / xs_apiversion.U
1 ?RCS: $Id: xs_apiversion.U $
2 ?RCS:
3 ?RCS: Copyright (c) 1999 Andy Dougherty
4 ?RCS:
5 ?RCS: You may redistribute only under the terms of the Artistic Licence,
6 ?RCS: as specified in the README file that comes with the distribution.
7 ?RCS: You may reuse parts of this distribution only within the terms of
8 ?RCS: that same Artistic Licence; a copy of which may be found at the root
9 ?RCS: of the source tree for dist 3.0.
10 ?RCS:
11 ?RCS: $Log: xs_apiversion.U,v $
12 ?RCS:
13 ?MAKE:xs_apiversion pm_apiversion: apiversion bincompat5005
14 ?MAKE:  -pick add $@ %<
15 ?S:xs_apiversion:
16 ?S:     This variable contains the version of the oldest perl binary
17 ?S:     compatible with the present perl.  perl.c:incpush() and
18 ?S:     lib/lib.pm will automatically search in $sitearch for older
19 ?S:     directories across major versions back to xs_apiversion.
20 ?S:     This is only useful if you have a perl library directory tree
21 ?S:     structured like the default one.
22 ?S:     See INSTALL for how this works.
23 ?S:     The versioned site_perl directory was introduced in 5.005,
24 ?S:     so that is the lowest possible value.
25 ?S:     Since this can depend on compile time options (such as
26 ?S:     bincompat) it is set by Configure.  Other non-default sources
27 ?S:     of potential incompatibility, such as multiplicity, threads,
28 ?S:     debugging, 64bits, sfio, etc., are not checked for currently,
29 ?S:     though in principle we could go snooping around in old
30 ?S:     Config.pm files.
31 ?S:.
32 ?S:pm_apiversion:
33 ?S:     This variable contains the version of the oldest perl
34 ?S:     compatible with the present perl.  (That is, pure perl modules
35 ?S:     written for $pm_apiversion will still work for the current
36 ?S:     version).  perl.c:incpush() and lib/lib.pm will automatically
37 ?S:     search in $sitelib for older directories across major versions
38 ?S:     back to pm_apiversion.  This is only useful if you have a perl
39 ?S:     library directory tree structured like the default one.  The
40 ?S:     versioned site_perl library was introduced in 5.005, so that's
41 ?S:     the default setting for this variable.  It's hard to imagine
42 ?S:     it changing before Perl6.  It is included here for symmetry
43 ?S:     with xs_apiveprsion -- the searching algorithms will
44 ?S:     (presumably) be similar.
45 ?S:     See the INSTALL file for how this works.
46 ?S:.
47 ?C:PERL_XS_APIVERSION:
48 ?C:     This variable contains the version of the oldest perl binary
49 ?C:     compatible with the present perl.  perl.c:incpush() and
50 ?C:     lib/lib.pm will automatically search in $sitearch for older
51 ?C:     directories across major versions back to xs_apiversion.
52 ?C:     This is only useful if you have a perl library directory tree
53 ?C:     structured like the default one.
54 ?C:     See INSTALL for how this works.
55 ?C:     The versioned site_perl directory was introduced in 5.005,
56 ?C:     so that is the lowest possible value.
57 ?C:     Since this can depend on compile time options (such as
58 ?C:     bincompat) it is set by Configure.  Other non-default sources
59 ?C:     of potential incompatibility, such as multiplicity, threads,
60 ?C:     debugging, 64bits, sfio, etc., are not checked for currently,
61 ?C:     though in principle we could go snooping around in old
62 ?C:     Config.pm files.
63 ?C:.
64 ?C:PERL_PM_APIVERSION:
65 ?C:     This variable contains the version of the oldest perl
66 ?C:     compatible with the present perl.  (That is, pure perl modules
67 ?C:     written for pm_apiversion will still work for the current
68 ?C:     version).  perl.c:incpush() and lib/lib.pm will automatically
69 ?C:     search in $sitelib for older directories across major versions
70 ?C:     back to pm_apiversion.  This is only useful if you have a perl
71 ?C:     library directory tree structured like the default one.  The
72 ?C:     versioned site_perl library was introduced in 5.005, so that's
73 ?C:     the default setting for this variable.  It's hard to imagine
74 ?C:     it changing before Perl6.  It is included here for symmetry
75 ?C:     with xs_apiveprsion -- the searching algorithms will
76 ?C:     (presumably) be similar.
77 ?C:     See the INSTALL file for how this works.
78 ?C:.
79 ?H:#define PERL_XS_APIVERSION $xs_apiversion /* Change to string for tuples?*/
80 ?H:#define PERL_PM_APIVERSION $pm_apiversion /* Change to string for tuples?*/
81 ?H:.
82 : Find earliest binary compatible site_perl subdirectory perl can use.
83 case "$bincompat5005" in
84 "$define") xs_apiversion='5.005' ;;
85 *) xs_apiversion=$apiversion ;;   # The current site_perl version.
86 esac
87 : Find earliest pure perl site_perl subdirectory perl can use.
88 : The versioned directories started at 5.005.
89 pm_apiversion='5.005'
90