8 # WARNING: This is site-specific. Change to the location
9 # where you have installed dist-3.0PL70.
10 my @std_units = glob ("/pro/3gl/CPAN/lib/dist/U/*.U");
11 my $PWD = "/pro/3gl/CPAN/perl";
14 my @perl_units = glob ("$PWD/U/*/*.U");
15 push (@perl_units, @std_units);
17 # Get the list of config.sh symbols. Be sure this is up to date!
18 # (I run the U/mksample script first to be sure.)
19 open my $wanted, "< $PWD/Porting/config.sh" or die "$0: open $PWD/Wanted: $!\n";
20 my @WANTED = map { $_->[0] }
21 sort { $a->[1] cmp $b->[1] }
22 map { [ $_, lc $_ ] } <$wanted>;
27 !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
28 This file is built by metaconfig.
30 This file contains a description of all the shell variables whose value is
31 determined by the Configure script. Variables intended for use in C
32 programs (e.g. I_UNISTD) are already described in config_h.SH. [`configpm'
33 generates pod documentation for Config.pm from this file--please try to keep
34 the formatting regular.]
38 my ($Loc, %expl, %file, %predef);
39 foreach my $file (@perl_units) {
40 open my $fh, "< $file" or die "$0: open $file: $!";
41 my $base = basename ($file);
42 $Loc = $file, next if $base eq "Loc.U" and not defined $Loc;
45 if (m/^\?S:\w+[ \t:]/ .. m/^\?S:\.$/) {
48 my ($var) = ((shift @var) =~ /^(\w+)/);
49 unless (exists $expl{$var}) {
50 $expl{$var} = [ @var, "\n" ];
56 s/^\?S://; # Remove leading ?S: markers.
57 s/^\s+(?=.)/\t/; # Ensure all lines begin with tabs.
62 close $fh or die "$0: close $file: $!";
65 defined $Loc or die "$0: Couldn't locate Loc.U: $!";
67 open my $fh, "< $Loc" or die "$0: open $Loc: $!";
69 m/^\?(\w+):\1$/ and ($expl{$1}, $file{$1}) = (1, "Loc.U");
71 close $fh or die "$0: close $Loc: $!";
82 m/^#/ and next; # Skip comments
83 m/^$/ and next; # Skip empty sections
84 my ($var, $val) = split /=/, $_, 2;
86 if (exists $expl{$var}) {
87 if ($file{$var} eq "Loc.U") {
88 print "$var (Loc.U):\n";
90 # If we didn't have d_portable, this info might be
91 # useful, but it still won't help with non-standard
92 # stuff if perl is built on one system but installed
93 # on others (this is common with Linux distributions,
96 This variable is defined but not used by Configure.
97 The value is a plain '' and is not useful.
103 This variable is used internally by Configure to determine the
104 full pathname (if any) of the $var program. After Configure runs,
105 the value is reset to a plain "$var" and is not useful.
111 print "$var ($file{$var}):\n";
112 print @{$expl{$var}};
117 # Handle special variables from Oldsyms.U. Since these start
118 # with capital letters, metalint considers them to be "special
119 # unit" symbols. It's easier to define them here than to try
120 # to fool metalint any further. --AD 22 Oct 1999
121 if (exists $predef{$var}) {
126 $var =~ /^(Author|Date|Header|Id|Locker|Log|Mcc|RCSfile|Revision|Source|State)$|_cflags$|^config_arg/
127 or warn "$0: couldn't find $var\n"
130 PERL_REVISION (Oldsyms.U):
131 In a Perl version number such as 5.6.2, this is the 5.
132 This value is manually set in patchlevel.h
134 PERL_VERSION (Oldsyms.U):
135 In a Perl version number such as 5.6.2, this is the 6.
136 This value is manually set in patchlevel.h
138 PERL_SUBVERSION (Oldsyms.U):
139 In a Perl version number such as 5.6.2, this is the 2.
140 Values greater than 50 represent potentially unstable
141 development subversions.
142 This value is manually set in patchlevel.h
144 PERL_APIVERSION (Oldsyms.U):
145 This value is manually set in patchlevel.h and is used
146 to set the Configure apiversion variable.
148 CONFIGDOTSH (Oldsyms.U):
149 This is set to 'true' in config.sh so that a shell script
150 sourcing config.sh can tell if it has been sourced already.
152 PERL_CONFIG_SH (Oldsyms.U):
153 This is set to 'true' in config.sh so that a shell script
154 sourcing config.sh can tell if it has been sourced already.
156 PERL_API_REVISION (patchlevel.h):
157 This number describes the earliest compatible PERL_REVISION of
158 Perl ("compatibility" here being defined as sufficient binary/API
159 compatibility to run XS code built with the older version).
160 Normally this does not change across maintenance releases.
161 Please read the comment in patchlevel.h.
163 PERL_API_VERSION (patchlevel.h):
164 This number describes the earliest compatible PERL_VERSION of
165 Perl ("compatibility" here being defined as sufficient binary/API
166 compatibility to run XS code built with the older version).
167 Normally this does not change across maintenance releases.
168 Please read the comment in patchlevel.h.
170 PERL_API_SUBVERSION (patchlevel.h):
171 This number describes the earliest compatible PERL_SUBVERSION of
172 Perl ("compatibility" here being defined as sufficient binary/API
173 compatibility to run XS code built with the older version).
174 Normally this does not change across maintenance releases.
175 Please read the comment in patchlevel.h.
177 PERL_PATCHLEVEL (Oldsyms.U):
178 This symbol reflects the patchlevel, if available. Will usually
179 come from the .patch file, which is available when the perl
180 source tree was fetched with rsync.