annotate perl-5.22.2/configpm @ 8045:a16537d2fe07

<xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
author HackBot
date Sat, 14 May 2016 14:54:38 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8045
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1 #!./miniperl -w
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
2 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
3 # configpm
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
4 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
5 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
6 # 2002, 2003, 2004, 2005, 2006, 2007 Larry Wall and others.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
7 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
8 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
9 # Regenerate the files
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
10 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
11 # lib/Config.pm
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
12 # lib/Config_heavy.pl
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
13 # lib/Config.pod
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
14 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
15 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
16 # from the contents of the static files
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
17 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
18 # Porting/Glossary
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
19 # myconfig.SH
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
20 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
21 # and from the contents of the Configure-generated file
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
22 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
23 # config.sh
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
24 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
25 #
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
26 # It will only update Config.pm and Config_heavy.pl if the contents of
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
27 # either file would be different. Note that *both* files are updated in
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
28 # this case, since for example an extension makefile that has a dependency
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
29 # on Config.pm should trigger even if only Config_heavy.pl has changed.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
30
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
31 sub usage { die <<EOF }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
32 usage: $0 [ options ]
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
33 --no-glossary don't include Porting/Glossary in lib/Config.pod
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
34 --chdir=dir change directory before writing files
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
35 EOF
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
36
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
37 use strict;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
38 use vars qw(%Config $Config_SH_expanded);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
39
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
40 my $how_many_common = 22;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
41
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
42 # commonly used names to precache (and hence lookup fastest)
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
43 my %Common;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
44
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
45 while ($how_many_common--) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
46 $_ = <DATA>;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
47 chomp;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
48 /^(\S+):\s*(\d+)$/ or die "Malformed line '$_'";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
49 $Common{$1} = $1;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
50 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
51
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
52 # Post 37589e1eefb1bd62 DynaLoader defaults to reading these at runtime.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
53 # Ideally we're redo the data below, but Fotango's build system made it
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
54 # wonderfully easy to instrument, and no longer exists.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
55 $Common{$_} = $_ foreach qw(dlext so);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
56
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
57 # names of things which may need to have slashes changed to double-colons
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
58 my %Extensions = map {($_,$_)}
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
59 qw(dynamic_ext static_ext extensions known_extensions);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
60
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
61 # The plan is that this information is used by ExtUtils::MakeMaker to generate
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
62 # Makefile dependencies, rather than hardcoding a list, which has become out
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
63 # of date. However, currently, MM_Unix.pm and MM_VMS.pm have *different* lists,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
64 # *and* descrip_mms.template doesn't actually install all the headers.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
65 # The "Unix" list seems to (attempt to) avoid the generated headers, which I'm
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
66 # not sure is the right thing to do. Also, not certain whether it would be
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
67 # easier to parse MANIFEST to get these (adding config.h, and potentially
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
68 # removing others), but for now, stick to a hard coded list.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
69
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
70 # Could use a map to add ".h", but I suspect that it's easier to use literals,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
71 # so that anyone using grep will find them
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
72 # This is the list from MM_VMS, plus pad.h, parser.h, utf8.h
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
73 # which it installs. It *doesn't* install perliol.h - FIXME.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
74 my @header_files = qw(EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
75 embed.h embedvar.h form.h gv.h handy.h hv.h hv_func.h intrpvar.h
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
76 iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
77 pad.h parser.h patchlevel.h perl.h perlio.h perlsdio.h
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
78 perlvars.h perly.h pp.h pp_proto.h proto.h
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
79 regcomp.h regexp.h regnodes.h scope.h sv.h thread.h utf8.h
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
80 util.h);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
81
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
82 push @header_files,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
83 $^O eq 'VMS' ? 'vmsish.h' : qw(dosish.h perliol.h time64.h unixish.h);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
84
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
85 my $header_files = ' return qw(' . join(' ', sort @header_files) . ');';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
86 $header_files =~ s/(?=.{64}) # If line is still overlength
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
87 (.{1,64})\ # Split at the last convenient space
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
88 /$1\n /gx;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
89
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
90 # allowed opts as well as specifies default and initial values
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
91 my %Allowed_Opts = (
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
92 'glossary' => 1, # --no-glossary - no glossary file inclusion,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
93 # for compactness
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
94 'chdir' => '', # --chdir=dir - change directory before writing files
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
95 );
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
96
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
97 sub opts {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
98 # user specified options
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
99 my %given_opts = (
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
100 # --opt=smth
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
101 (map {/^--([\-_\w]+)=(.*)$/} @ARGV),
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
102 # --opt --no-opt --noopt
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
103 (map {/^no-?(.*)$/i?($1=>0):($_=>1)} map {/^--([\-_\w]+)$/} @ARGV),
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
104 );
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
105
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
106 my %opts = (%Allowed_Opts, %given_opts);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
107
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
108 for my $opt (grep {!exists $Allowed_Opts{$_}} keys %given_opts) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
109 warn "option '$opt' is not recognized";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
110 usage;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
111 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
112 @ARGV = grep {!/^--/} @ARGV;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
113
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
114 return %opts;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
115 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
116
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
117
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
118 my %Opts = opts();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
119
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
120 if ($Opts{chdir}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
121 chdir $Opts{chdir} or die "$0: could not chdir $Opts{chdir}: $!"
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
122 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
123
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
124 my ($Config_SH, $Config_PM, $Config_heavy, $Config_POD);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
125 my $Glossary = 'Porting/Glossary';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
126
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
127 $Config_PM = "lib/Config.pm";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
128 $Config_POD = "lib/Config.pod";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
129 $Config_SH = "config.sh";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
130
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
131 ($Config_heavy = $Config_PM) =~ s/\.pm$/_heavy.pl/;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
132 die "Can't automatically determine name for Config_heavy.pl from '$Config_PM'"
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
133 if $Config_heavy eq $Config_PM;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
134
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
135 my $config_txt;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
136 my $heavy_txt;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
137
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
138 my $export_funcs = <<'EOT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
139 my %Export_Cache = (myconfig => 1, config_sh => 1, config_vars => 1,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
140 config_re => 1, compile_date => 1, local_patches => 1,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
141 bincompat_options => 1, non_bincompat_options => 1,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
142 header_files => 1);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
143 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
144
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
145 my %export_ok = eval $export_funcs or die;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
146
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
147 $config_txt .= sprintf << 'EOT', $], $export_funcs;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
148 # This file was created by configpm when Perl was built. Any changes
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
149 # made to this file will be lost the next time perl is built.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
150
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
151 # for a description of the variables, please have a look at the
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
152 # Glossary file, as written in the Porting folder, or use the url:
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
153 # http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/Glossary
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
154
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
155 package Config;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
156 use strict;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
157 use warnings;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
158 use vars '%%Config', '$VERSION';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
159
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
160 $VERSION = "%s";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
161
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
162 # Skip @Config::EXPORT because it only contains %%Config, which we special
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
163 # case below as it's not a function. @Config::EXPORT won't change in the
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
164 # lifetime of Perl 5.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
165 %s
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
166 @Config::EXPORT = qw(%%Config);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
167 @Config::EXPORT_OK = keys %%Export_Cache;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
168
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
169 # Need to stub all the functions to make code such as print Config::config_sh
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
170 # keep working
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
171
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
172 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
173
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
174 $config_txt .= "sub $_;\n" foreach sort keys %export_ok;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
175
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
176 my $myver = sprintf "%vd", $^V;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
177
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
178 $config_txt .= sprintf <<'ENDOFBEG', ($myver) x 3;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
179
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
180 # Define our own import method to avoid pulling in the full Exporter:
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
181 sub import {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
182 shift;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
183 @_ = @Config::EXPORT unless @_;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
184
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
185 my @funcs = grep $_ ne '%%Config', @_;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
186 my $export_Config = @funcs < @_ ? 1 : 0;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
187
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
188 no strict 'refs';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
189 my $callpkg = caller(0);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
190 foreach my $func (@funcs) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
191 die qq{"$func" is not exported by the Config module\n}
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
192 unless $Export_Cache{$func};
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
193 *{$callpkg.'::'.$func} = \&{$func};
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
194 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
195
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
196 *{"$callpkg\::Config"} = \%%Config if $export_Config;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
197 return;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
198 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
199
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
200 die "$0: Perl lib version (%s) doesn't match executable '$^X' version ($])"
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
201 unless $^V;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
202
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
203 $^V eq %s
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
204 or die sprintf "%%s: Perl lib version (%s) doesn't match executable '$^X' version (%%vd)", $0, $^V;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
205
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
206 ENDOFBEG
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
207
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
208
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
209 my @non_v = ();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
210 my @v_others = ();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
211 my $in_v = 0;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
212 my %Data = ();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
213 my $quote;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
214
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
215
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
216 my %seen_quotes;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
217 {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
218 my ($name, $val);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
219 open(CONFIG_SH, $Config_SH) || die "Can't open $Config_SH: $!";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
220 while (<CONFIG_SH>) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
221 next if m:^#!/bin/sh:;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
222
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
223 # Catch PERL_CONFIG_SH=true and PERL_VERSION=n line from Configure.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
224 s/^(\w+)=(true|\d+)\s*$/$1='$2'\n/ or m/^(\w+)='(.*)'$/;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
225 my($k, $v) = ($1, $2);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
226
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
227 # grandfather PATCHLEVEL and SUBVERSION and CONFIG
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
228 if ($k) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
229 if ($k eq 'PERL_VERSION') {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
230 push @v_others, "PATCHLEVEL='$v'\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
231 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
232 elsif ($k eq 'PERL_SUBVERSION') {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
233 push @v_others, "SUBVERSION='$v'\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
234 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
235 elsif ($k eq 'PERL_CONFIG_SH') {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
236 push @v_others, "CONFIG='$v'\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
237 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
238 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
239
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
240 # We can delimit things in config.sh with either ' or ".
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
241 unless ($in_v or m/^(\w+)=(['"])(.*\n)/){
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
242 push(@non_v, "#$_"); # not a name='value' line
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
243 next;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
244 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
245 if ($in_v) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
246 $val .= $_;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
247 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
248 else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
249 $quote = $2;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
250 ($name,$val) = ($1,$3);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
251 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
252 $in_v = $val !~ /$quote\n/;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
253 next if $in_v;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
254
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
255 s,/,::,g if $Extensions{$name};
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
256
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
257 $val =~ s/$quote\n?\z//;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
258
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
259 my $line = "$name=$quote$val$quote\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
260 push(@v_others, $line);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
261 $seen_quotes{$quote}++;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
262 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
263 close CONFIG_SH;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
264 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
265
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
266 # This is somewhat grim, but I want the code for parsing config.sh here and
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
267 # now so that I can expand $Config{ivsize} and $Config{ivtype}
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
268
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
269 my $fetch_string = <<'EOT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
270
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
271 # Search for it in the big string
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
272 sub fetch_string {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
273 my($self, $key) = @_;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
274
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
275 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
276
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
277 if ($seen_quotes{'"'}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
278 # We need the full ' and " code
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
279
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
280 $fetch_string .= <<'EOT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
281 return undef unless my ($quote_type, $value) = $Config_SH_expanded =~ /\n$key=(['"])(.*?)\1\n/s;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
282
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
283 # If we had a double-quote, we'd better eval it so escape
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
284 # sequences and such can be interpolated. Since the incoming
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
285 # value is supposed to follow shell rules and not perl rules,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
286 # we escape any perl variable markers
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
287
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
288 # Historically, since " 'support' was added in change 1409, the
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
289 # interpolation was done before the undef. Stick to this arguably buggy
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
290 # behaviour as we're refactoring.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
291 if ($quote_type eq '"') {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
292 $value =~ s/\$/\\\$/g;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
293 $value =~ s/\@/\\\@/g;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
294 eval "\$value = \"$value\"";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
295 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
296
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
297 # So we can say "if $Config{'foo'}".
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
298 $self->{$key} = $value eq 'undef' ? undef : $value; # cache it
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
299 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
300 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
301
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
302 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
303 # We only have ' delimited.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
304
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
305 $fetch_string .= <<'EOT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
306 return undef unless $Config_SH_expanded =~ /\n$key=\'(.*?)\'\n/s;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
307 # So we can say "if $Config{'foo'}".
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
308 $self->{$key} = $1 eq 'undef' ? undef : $1;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
309 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
310 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
311
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
312 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
313
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
314 eval $fetch_string;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
315 die if $@;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
316
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
317 # Calculation for the keys for byteorder
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
318 # This is somewhat grim, but I need to run fetch_string here.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
319 our $Config_SH_expanded = join "\n", '', @v_others;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
320
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
321 my $t = fetch_string ({}, 'ivtype');
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
322 my $s = fetch_string ({}, 'ivsize');
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
323
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
324 # byteorder does exist on its own but we overlay a virtual
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
325 # dynamically recomputed value.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
326
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
327 # However, ivtype and ivsize will not vary for sane fat binaries
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
328
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
329 my $f = $t eq 'long' ? 'L!' : $s == 8 ? 'Q': 'I';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
330
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
331 my $byteorder_code;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
332 if ($s == 4 || $s == 8) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
333 my $list = join ',', reverse(1..$s-1);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
334 my $format = 'a'x$s;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
335 $byteorder_code = <<"EOT";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
337 my \$i = ord($s);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
338 foreach my \$c ($list) { \$i <<= 8; \$i |= ord(\$c); }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
339 our \$byteorder = join('', unpack('$format', pack('$f', \$i)));
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
340 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
341 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
342 $byteorder_code = "our \$byteorder = '?'x$s;\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
343 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
344
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
345 my @need_relocation;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
346
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
347 if (fetch_string({},'userelocatableinc')) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
348 foreach my $what (qw(prefixexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
349
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
350 archlibexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
351 html1direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
352 html3direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
353 man1direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
354 man3direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
355 privlibexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
356 scriptdirexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
357 sitearchexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
358 sitebinexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
359 sitehtml1direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
360 sitehtml3direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
361 sitelibexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
362 siteman1direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
363 siteman3direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
364 sitescriptexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
365 vendorarchexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
366 vendorbinexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
367 vendorhtml1direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
368 vendorhtml3direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
369 vendorlibexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
370 vendorman1direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
371 vendorman3direxp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
372 vendorscriptexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
373
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
374 siteprefixexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
375 sitelib_stem
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
376 vendorlib_stem
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
377
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
378 installarchlib
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
379 installhtml1dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
380 installhtml3dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
381 installman1dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
382 installman3dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
383 installprefix
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
384 installprefixexp
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
385 installprivlib
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
386 installscript
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
387 installsitearch
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
388 installsitebin
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
389 installsitehtml1dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
390 installsitehtml3dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
391 installsitelib
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
392 installsiteman1dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
393 installsiteman3dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
394 installsitescript
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
395 installvendorarch
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
396 installvendorbin
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
397 installvendorhtml1dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
398 installvendorhtml3dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
399 installvendorlib
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
400 installvendorman1dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
401 installvendorman3dir
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
402 installvendorscript
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
403 )) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
404 push @need_relocation, $what if fetch_string({}, $what) =~ m!^\.\.\./!;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
405 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
406 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
407
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
408 my %need_relocation;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
409 @need_relocation{@need_relocation} = @need_relocation;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
410
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
411 # This can have .../ anywhere:
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
412 if (fetch_string({}, 'otherlibdirs') =~ m!\.\.\./!) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
413 $need_relocation{otherlibdirs} = 'otherlibdirs';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
414 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
415
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
416 my $relocation_code = <<'EOT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
417
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
418 sub relocate_inc {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
419 my $libdir = shift;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
420 return $libdir unless $libdir =~ s!^\.\.\./!!;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
421 my $prefix = $^X;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
422 if ($prefix =~ s!/[^/]*$!!) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
423 while ($libdir =~ m!^\.\./!) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
424 # Loop while $libdir starts "../" and $prefix still has a trailing
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
425 # directory
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
426 last unless $prefix =~ s!/([^/]+)$!!;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
427 # but bail out if the directory we picked off the end of $prefix is .
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
428 # or ..
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
429 if ($1 eq '.' or $1 eq '..') {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
430 # Undo! This should be rare, hence code it this way rather than a
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
431 # check each time before the s!!! above.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
432 $prefix = "$prefix/$1";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
433 last;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
434 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
435 # Remove that leading ../ and loop again
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
436 substr ($libdir, 0, 3, '');
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
437 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
438 $libdir = "$prefix/$libdir";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
439 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
440 $libdir;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
441 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
442 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
443
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
444 my $osname = fetch_string({}, 'osname');
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
445 my $from = $osname eq 'VMS' ? 'PERLSHR image' : 'binary (from libperl)';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
446 my $env_cygwin = $osname eq 'cygwin'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
447 ? 'push @env, "CYGWIN=\"$ENV{CYGWIN}\"" if $ENV{CYGWIN};' . "\n" : "";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
448
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
449 $heavy_txt .= sprintf <<'ENDOFBEG', $osname, $osname, $from, $osname, $env_cygwin;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
450 # This file was created by configpm when Perl was built. Any changes
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
451 # made to this file will be lost the next time perl is built.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
452
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
453 package Config;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
454 use strict;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
455 use warnings;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
456 use vars '%%Config';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
457
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
458 sub bincompat_options {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
459 return split ' ', (Internals::V())[0];
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
460 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
461
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
462 sub non_bincompat_options {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
463 return split ' ', (Internals::V())[1];
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
464 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
465
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
466 sub compile_date {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
467 return (Internals::V())[2]
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
468 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
469
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
470 sub local_patches {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
471 my (undef, undef, undef, @patches) = Internals::V();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
472 return @patches;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
473 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
474
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
475 sub _V {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
476 die "Perl lib was built for '%s' but is being run on '$^O'"
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
477 unless "%s" eq $^O;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
478
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
479 my ($bincompat, $non_bincompat, $date, @patches) = Internals::V();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
480
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
481 my $opts = join ' ', sort split ' ', "$bincompat $non_bincompat";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
482
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
483 # wrap at 76 columns.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
484
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
485 $opts =~ s/(?=.{53})(.{1,53}) /$1\n /mg;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
486
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
487 print Config::myconfig();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
488 print "\nCharacteristics of this %s: \n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
489
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
490 print " Compile-time options: $opts\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
491
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
492 if (@patches) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
493 print " Locally applied patches:\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
494 print "\t$_\n" foreach @patches;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
495 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
496
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
497 print " Built under %s\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
498
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
499 print " $date\n" if defined $date;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
500
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
501 my @env = map { "$_=\"$ENV{$_}\"" } sort grep {/^PERL/} keys %%ENV;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
502 %s
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
503 if (@env) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
504 print " \%%ENV:\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
505 print " $_\n" foreach @env;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
506 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
507 print " \@INC:\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
508 print " $_\n" foreach @INC;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
509 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
510
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
511 sub header_files {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
512 ENDOFBEG
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
513
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
514 $heavy_txt .= $header_files . "\n}\n\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
515
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
516 if (%need_relocation) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
517 my $relocations_in_common;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
518 # otherlibdirs only features in the hash
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
519 foreach (keys %need_relocation) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
520 $relocations_in_common++ if $Common{$_};
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
521 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
522 if ($relocations_in_common) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
523 $config_txt .= $relocation_code;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
524 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
525 $heavy_txt .= $relocation_code;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
526 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
527 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
528
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
529 $heavy_txt .= join('', @non_v) . "\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
530
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
531 # copy config summary format from the myconfig.SH script
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
532 $heavy_txt .= "our \$summary = <<'!END!';\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
533 open(MYCONFIG,"<myconfig.SH") || die "open myconfig.SH failed: $!";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
534 1 while defined($_ = <MYCONFIG>) && !/^Summary of/;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
535 do { $heavy_txt .= $_ } until !defined($_ = <MYCONFIG>) || /^\s*$/;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
536 close(MYCONFIG);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
537
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
538 $heavy_txt .= "\n!END!\n" . <<'EOT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
539 my $summary_expanded;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
540
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
541 sub myconfig {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
542 return $summary_expanded if $summary_expanded;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
543 ($summary_expanded = $summary) =~ s{\$(\w+)}
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
544 {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
545 my $c;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
546 if ($1 eq 'git_ancestor_line') {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
547 if ($Config::Config{git_ancestor}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
548 $c= "\n Ancestor: $Config::Config{git_ancestor}";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
549 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
550 $c= "";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
551 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
552 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
553 $c = $Config::Config{$1};
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
554 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
555 defined($c) ? $c : 'undef'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
556 }ge;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
557 $summary_expanded;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
558 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
559
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
560 local *_ = \my $a;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
561 $_ = <<'!END!';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
562 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
563
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
564 $heavy_txt .= join('', sort @v_others) . "!END!\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
565
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
566 # Only need the dynamic byteorder code in Config.pm if 'byteorder' is one of
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
567 # the precached keys
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
568 if ($Common{byteorder}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
569 $config_txt .= $byteorder_code;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
570 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
571 $heavy_txt .= $byteorder_code;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
572 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
573
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
574 if (@need_relocation) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
575 $heavy_txt .= 'foreach my $what (qw(' . join (' ', @need_relocation) .
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
576 ")) {\n" . <<'EOT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
577 s/^($what=)(['"])(.*?)\2/$1 . $2 . relocate_inc($3) . $2/me;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
578 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
579 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
580 # Currently it only makes sense to do the ... relocation on Unix, so there's
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
581 # no need to emulate the "which separator for this platform" logic in perl.c -
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
582 # ':' will always be applicable
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
583 if ($need_relocation{otherlibdirs}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
584 $heavy_txt .= << 'EOT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
585 s{^(otherlibdirs=)(['"])(.*?)\2}
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
586 {$1 . $2 . join ':', map {relocate_inc($_)} split ':', $3 . $2}me;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
587 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
588 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
589 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
590
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
591 $heavy_txt .= <<'EOT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
592 s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
593
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
594 my $config_sh_len = length $_;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
595
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
596 our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
597 EOT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
598
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
599 foreach my $prefix (qw(ccflags ldflags)) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
600 my $value = fetch_string ({}, $prefix);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
601 my $withlargefiles = fetch_string ({}, $prefix . "_uselargefiles");
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
602 if (defined $withlargefiles) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
603 $value =~ s/\Q$withlargefiles\E\b//;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
604 $heavy_txt .= "${prefix}_nolargefiles='$value'\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
605 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
606 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
607
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
608 foreach my $prefix (qw(libs libswanted)) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
609 my $value = fetch_string ({}, $prefix);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
610 my $withlf = fetch_string ({}, 'libswanted_uselargefiles');
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
611 next unless defined $withlf;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
612 my @lflibswanted
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
613 = split(' ', fetch_string ({}, 'libswanted_uselargefiles'));
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
614 if (@lflibswanted) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
615 my %lflibswanted;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
616 @lflibswanted{@lflibswanted} = ();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
617 if ($prefix eq 'libs') {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
618 my @libs = grep { /^-l(.+)/ &&
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
619 not exists $lflibswanted{$1} }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
620 split(' ', fetch_string ({}, 'libs'));
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
621 $value = join(' ', @libs);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
622 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
623 my @libswanted = grep { not exists $lflibswanted{$_} }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
624 split(' ', fetch_string ({}, 'libswanted'));
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
625 $value = join(' ', @libswanted);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
626 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
627 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
628 $heavy_txt .= "${prefix}_nolargefiles='$value'\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
629 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
630
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
631 if (open(my $fh, "cflags")) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
632 my $ccwarnflags;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
633 my $ccstdflags;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
634 while (<$fh>) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
635 if (/^warn="(.+)"$/) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
636 $ccwarnflags = $1;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
637 } elsif (/^stdflags="(.+)"$/) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
638 $ccstdflags = $1;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
639 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
640 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
641 if (defined $ccwarnflags) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
642 $heavy_txt .= "ccwarnflags='$ccwarnflags'\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
643 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
644 if (defined $ccstdflags) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
645 $heavy_txt .= "ccstdflags='$ccstdflags'\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
646 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
647 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
648
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
649 $heavy_txt .= "EOVIRTUAL\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
650
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
651 $heavy_txt .= <<'ENDOFGIT';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
652 eval {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
653 # do not have hairy conniptions if this isnt available
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
654 require 'Config_git.pl';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
655 $Config_SH_expanded .= $Config::Git_Data;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
656 1;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
657 } or warn "Warning: failed to load Config_git.pl, something strange about this perl...\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
658 ENDOFGIT
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
659
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
660 $heavy_txt .= $fetch_string;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
661
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
662 $config_txt .= <<'ENDOFEND';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
663
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
664 sub FETCH {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
665 my($self, $key) = @_;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
666
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
667 # check for cached value (which may be undef so we use exists not defined)
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
668 return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
669 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
670
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
671 ENDOFEND
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
672
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
673 $heavy_txt .= <<'ENDOFEND';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
674
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
675 my $prevpos = 0;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
676
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
677 sub FIRSTKEY {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
678 $prevpos = 0;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
679 substr($Config_SH_expanded, 1, index($Config_SH_expanded, '=') - 1 );
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
680 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
681
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
682 sub NEXTKEY {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
683 ENDOFEND
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
684 if ($seen_quotes{'"'}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
685 $heavy_txt .= <<'ENDOFEND';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
686 # Find out how the current key's quoted so we can skip to its end.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
687 my $quote = substr($Config_SH_expanded,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
688 index($Config_SH_expanded, "=", $prevpos)+1, 1);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
689 my $pos = index($Config_SH_expanded, qq($quote\n), $prevpos) + 2;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
690 ENDOFEND
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
691 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
692 # Just ' quotes, so it's much easier.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
693 $heavy_txt .= <<'ENDOFEND';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
694 my $pos = index($Config_SH_expanded, qq('\n), $prevpos) + 2;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
695 ENDOFEND
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
696 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
697 $heavy_txt .= <<'ENDOFEND';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
698 my $len = index($Config_SH_expanded, "=", $pos) - $pos;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
699 $prevpos = $pos;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
700 $len > 0 ? substr($Config_SH_expanded, $pos, $len) : undef;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
701 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
702
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
703 sub EXISTS {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
704 return 1 if exists($_[0]->{$_[1]});
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
705
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
706 return(index($Config_SH_expanded, "\n$_[1]='") != -1
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
707 ENDOFEND
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
708 if ($seen_quotes{'"'}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
709 $heavy_txt .= <<'ENDOFEND';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
710 or index($Config_SH_expanded, "\n$_[1]=\"") != -1
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
711 ENDOFEND
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
712 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
713 $heavy_txt .= <<'ENDOFEND';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
714 );
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
715 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
716
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
717 sub STORE { die "\%Config::Config is read-only\n" }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
718 *DELETE = *CLEAR = \*STORE; # Typeglob aliasing uses less space
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
719
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
720 sub config_sh {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
721 substr $Config_SH_expanded, 1, $config_sh_len;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
722 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
723
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
724 sub config_re {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
725 my $re = shift;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
726 return map { chomp; $_ } grep eval{ /^(?:$re)=/ }, split /^/,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
727 $Config_SH_expanded;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
728 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
729
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
730 sub config_vars {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
731 # implements -V:cfgvar option (see perlrun -V:)
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
732 foreach (@_) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
733 # find optional leading, trailing colons; and query-spec
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
734 my ($notag,$qry,$lncont) = m/^(:)?(.*?)(:)?$/; # flags fore and aft,
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
735 # map colon-flags to print decorations
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
736 my $prfx = $notag ? '': "$qry="; # tag-prefix for print
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
737 my $lnend = $lncont ? ' ' : ";\n"; # line ending for print
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
738
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
739 # all config-vars are by definition \w only, any \W means regex
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
740 if ($qry =~ /\W/) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
741 my @matches = config_re($qry);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
742 print map "$_$lnend", @matches ? @matches : "$qry: not found" if !$notag;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
743 print map { s/\w+=//; "$_$lnend" } @matches ? @matches : "$qry: not found" if $notag;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
744 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
745 my $v = (exists $Config::Config{$qry}) ? $Config::Config{$qry}
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
746 : 'UNKNOWN';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
747 $v = 'undef' unless defined $v;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
748 print "${prfx}'${v}'$lnend";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
749 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
750 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
751 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
752
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
753 # Called by the real AUTOLOAD
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
754 sub launcher {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
755 undef &AUTOLOAD;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
756 goto \&$Config::AUTOLOAD;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
757 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
758
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
759 1;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
760 ENDOFEND
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
761
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
762 if ($^O eq 'os2') {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
763 $config_txt .= <<'ENDOFSET';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
764 my %preconfig;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
765 if ($OS2::is_aout) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
766 my ($value, $v) = $Config_SH_expanded =~ m/^used_aout='(.*)'\s*$/m;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
767 for (split ' ', $value) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
768 ($v) = $Config_SH_expanded =~ m/^aout_$_='(.*)'\s*$/m;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
769 $preconfig{$_} = $v eq 'undef' ? undef : $v;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
770 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
771 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
772 $preconfig{d_fork} = undef unless $OS2::can_fork; # Some funny cases can't
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
773 sub TIEHASH { bless {%preconfig} }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
774 ENDOFSET
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
775 # Extract the name of the DLL from the makefile to avoid duplication
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
776 my ($f) = grep -r, qw(GNUMakefile Makefile);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
777 my $dll;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
778 if (open my $fh, '<', $f) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
779 while (<$fh>) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
780 $dll = $1, last if /^PERL_DLL_BASE\s*=\s*(\S*)\s*$/;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
781 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
782 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
783 $config_txt .= <<ENDOFSET if $dll;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
784 \$preconfig{dll_name} = '$dll';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
785 ENDOFSET
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
786 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
787 $config_txt .= <<'ENDOFSET';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
788 sub TIEHASH {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
789 bless $_[1], $_[0];
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
790 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
791 ENDOFSET
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
792 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
793
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
794 foreach my $key (keys %Common) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
795 my $value = fetch_string ({}, $key);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
796 # Is it safe on the LHS of => ?
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
797 my $qkey = $key =~ /^[A-Za-z_][A-Za-z0-9_]*$/ ? $key : "'$key'";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
798 if (defined $value) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
799 # Quote things for a '' string
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
800 $value =~ s!\\!\\\\!g;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
801 $value =~ s!'!\\'!g;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
802 $value = "'$value'";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
803 if ($key eq 'otherlibdirs') {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
804 $value = "join (':', map {relocate_inc(\$_)} split (':', $value))";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
805 } elsif ($need_relocation{$key}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
806 $value = "relocate_inc($value)";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
807 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
808 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
809 $value = "undef";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
810 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
811 $Common{$key} = "$qkey => $value";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
812 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
813
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
814 if ($Common{byteorder}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
815 $Common{byteorder} = 'byteorder => $byteorder';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
816 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
817 my $fast_config = join '', map { " $_,\n" } sort values %Common;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
818
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
819 # Sanity check needed to stop an infinite loop if Config_heavy.pl fails to
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
820 # define &launcher for some reason (eg it got truncated)
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
821 $config_txt .= sprintf <<'ENDOFTIE', $fast_config;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
822
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
823 sub DESTROY { }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
824
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
825 sub AUTOLOAD {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
826 require 'Config_heavy.pl';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
827 goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
828 die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
829 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
830
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
831 # tie returns the object, so the value returned to require will be true.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
832 tie %%Config, 'Config', {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
833 %s};
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
834 ENDOFTIE
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
835
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
836
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
837 open(CONFIG_POD, ">$Config_POD") or die "Can't open $Config_POD: $!";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
838 print CONFIG_POD <<'ENDOFTAIL';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
839 =head1 NAME
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
840
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
841 Config - access Perl configuration information
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
842
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
843 =head1 SYNOPSIS
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
844
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
845 use Config;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
846 if ($Config{usethreads}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
847 print "has thread support\n"
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
848 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
849
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
850 use Config qw(myconfig config_sh config_vars config_re);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
851
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
852 print myconfig();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
853
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
854 print config_sh();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
855
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
856 print config_re();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
857
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
858 config_vars(qw(osname archname));
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
859
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
860
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
861 =head1 DESCRIPTION
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
862
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
863 The Config module contains all the information that was available to
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
864 the C<Configure> program at Perl build time (over 900 values).
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
865
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
866 Shell variables from the F<config.sh> file (written by Configure) are
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
867 stored in the readonly-variable C<%Config>, indexed by their names.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
868
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
869 Values stored in config.sh as 'undef' are returned as undefined
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
870 values. The perl C<exists> function can be used to check if a
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
871 named variable exists.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
872
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
873 For a description of the variables, please have a look at the
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
874 Glossary file, as written in the Porting folder, or use the url:
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
875 http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/Glossary
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
876
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
877 =over 4
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
878
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
879 =item myconfig()
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
880
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
881 Returns a textual summary of the major perl configuration values.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
882 See also C<-V> in L<perlrun/Command Switches>.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
883
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
884 =item config_sh()
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
885
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
886 Returns the entire perl configuration information in the form of the
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
887 original config.sh shell variable assignment script.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
888
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
889 =item config_re($regex)
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
890
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
891 Like config_sh() but returns, as a list, only the config entries who's
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
892 names match the $regex.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
893
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
894 =item config_vars(@names)
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
895
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
896 Prints to STDOUT the values of the named configuration variable. Each is
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
897 printed on a separate line in the form:
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
898
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
899 name='value';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
900
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
901 Names which are unknown are output as C<name='UNKNOWN';>.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
902 See also C<-V:name> in L<perlrun/Command Switches>.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
903
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
904 =item bincompat_options()
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
905
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
906 Returns a list of C pre-processor options used when compiling this F<perl>
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
907 binary, which affect its binary compatibility with extensions.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
908 C<bincompat_options()> and C<non_bincompat_options()> are shown together in
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
909 the output of C<perl -V> as I<Compile-time options>.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
910
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
911 =item non_bincompat_options()
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
912
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
913 Returns a list of C pre-processor options used when compiling this F<perl>
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
914 binary, which do not affect binary compatibility with extensions.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
915
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
916 =item compile_date()
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
917
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
918 Returns the compile date (as a string), equivalent to what is shown by
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
919 C<perl -V>
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
920
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
921 =item local_patches()
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
922
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
923 Returns a list of the names of locally applied patches, equivalent to what
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
924 is shown by C<perl -V>.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
925
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
926 =item header_files()
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
927
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
928 Returns a list of the header files that should be used as dependencies for
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
929 XS code, for this version of Perl on this platform.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
930
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
931 =back
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
932
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
933 =head1 EXAMPLE
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
934
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
935 Here's a more sophisticated example of using %Config:
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
936
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
937 use Config;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
938 use strict;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
939
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
940 my %sig_num;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
941 my @sig_name;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
942 unless($Config{sig_name} && $Config{sig_num}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
943 die "No sigs?";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
944 } else {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
945 my @names = split ' ', $Config{sig_name};
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
946 @sig_num{@names} = split ' ', $Config{sig_num};
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
947 foreach (@names) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
948 $sig_name[$sig_num{$_}] ||= $_;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
949 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
950 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
951
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
952 print "signal #17 = $sig_name[17]\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
953 if ($sig_num{ALRM}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
954 print "SIGALRM is $sig_num{ALRM}\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
955 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
956
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
957 =head1 WARNING
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
958
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
959 Because this information is not stored within the perl executable
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
960 itself it is possible (but unlikely) that the information does not
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
961 relate to the actual perl binary which is being used to access it.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
962
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
963 The Config module is installed into the architecture and version
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
964 specific library directory ($Config{installarchlib}) and it checks the
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
965 perl version number when loaded.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
966
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
967 The values stored in config.sh may be either single-quoted or
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
968 double-quoted. Double-quoted strings are handy for those cases where you
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
969 need to include escape sequences in the strings. To avoid runtime variable
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
970 interpolation, any C<$> and C<@> characters are replaced by C<\$> and
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
971 C<\@>, respectively. This isn't foolproof, of course, so don't embed C<\$>
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
972 or C<\@> in double-quoted strings unless you're willing to deal with the
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
973 consequences. (The slashes will end up escaped and the C<$> or C<@> will
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
974 trigger variable interpolation)
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
975
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
976 =head1 GLOSSARY
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
977
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
978 Most C<Config> variables are determined by the C<Configure> script
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
979 on platforms supported by it (which is most UNIX platforms). Some
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
980 platforms have custom-made C<Config> variables, and may thus not have
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
981 some of the variables described below, or may have extraneous variables
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
982 specific to that particular port. See the port specific documentation
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
983 in such cases.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
984
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
985 =cut
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
986
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
987 ENDOFTAIL
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
988
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
989 if ($Opts{glossary}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
990 open(GLOS, "<$Glossary") or die "Can't open $Glossary: $!";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
991 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
992 my %seen = ();
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
993 my $text = 0;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
994 $/ = '';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
995 my $errors= 0;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
996
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
997 sub process {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
998 if (s/\A(\w*)\s+\(([\w.]+)\):\s*\n(\t?)/=item C<$1>\n\nFrom F<$2>:\n\n/m) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
999 my $c = substr $1, 0, 1;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1000 unless ($seen{$c}++) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1001 print CONFIG_POD <<EOF if $text;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1002 =back
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1003
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1004 =cut
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1005
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1006 EOF
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1007 print CONFIG_POD <<EOF;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1008 =head2 $c
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1009
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1010 =over 4
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1011
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1012 =cut
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1013
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1014 EOF
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1015 $text = 1;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1016 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1017 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1018 elsif (!$text || !/\A\t/) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1019 warn "Expected a Configure variable header",
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1020 ($text ? " or another paragraph of description" : () ),
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1021 ", instead we got:\n$_";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1022 $errors++;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1023 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1024 s/n't/n\00t/g; # leave can't, won't etc untouched
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1025 s/^\t\s+(.*)/\n$1/gm; # Indented lines ===> new paragraph
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1026 s/^(?<!\n\n)\t(.*)/$1/gm; # Not indented lines ===> text
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1027 s{([\'\"])(?=[^\'\"\s]*[./][^\'\"\s]*\1)([^\'\"\s]+)\1}(F<$2>)g; # '.o'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1028 s{([\'\"])([^\'\"\s]+)\1}(C<$2>)g; # "date" command
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1029 s{\'([A-Za-z_\- *=/]+)\'}(C<$1>)g; # 'ln -s'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1030 s{
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1031 (?<! [\w./<\'\"\$] ) # Only standalone file names
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1032 (?! e \. g \. ) # Not e.g.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1033 (?! \. \. \. ) # Not ...
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1034 (?! \d ) # Not 5.004
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1035 (?! read/ ) # Not read/write
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1036 (?! etc\. ) # Not etc.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1037 (?! I/O ) # Not I/O
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1038 (
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1039 \$ ? # Allow leading $
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1040 [\w./]* [./] [\w./]* # Require . or / inside
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1041 )
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1042 (?<! \. (?= [\s)] ) ) # Do not include trailing dot
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1043 (?! [\w/] ) # Include all of it
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1044 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1045 (F<$1>)xg; # /usr/local
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1046 s/((?<=\s)~\w*)/F<$1>/g; # ~name
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1047 s/(?<![.<\'\"])\b([A-Z_]{2,})\b(?![\'\"])/C<$1>/g; # UNISTD
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1048 s/(?<![.<\'\"])\b(?!the\b)(\w+)\s+macro\b/C<$1> macro/g; # FILE_cnt macro
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1049 s/n[\0]t/n't/g; # undo can't, won't damage
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1050 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1051
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1052 if ($Opts{glossary}) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1053 <GLOS>; # Skip the "DO NOT EDIT"
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1054 <GLOS>; # Skip the preamble
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1055 while (<GLOS>) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1056 process;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1057 print CONFIG_POD;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1058 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1059 if ($errors) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1060 die "Errors encountered while processing $Glossary. ",
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1061 "Header lines are expected to be of the form:\n",
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1062 "NAME (CLASS):\n",
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1063 "Maybe there is a malformed header?\n",
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1064 ;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1065 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1066 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1067
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1068 print CONFIG_POD <<'ENDOFTAIL';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1069
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1070 =back
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1071
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1072 =head1 GIT DATA
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1073
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1074 Information on the git commit from which the current perl binary was compiled
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1075 can be found in the variable C<$Config::Git_Data>. The variable is a
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1076 structured string that looks something like this:
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1077
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1078 git_commit_id='ea0c2dbd5f5ac6845ecc7ec6696415bf8e27bd52'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1079 git_describe='GitLive-blead-1076-gea0c2db'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1080 git_branch='smartmatch'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1081 git_uncommitted_changes=''
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1082 git_commit_id_title='Commit id:'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1083 git_commit_date='2009-05-09 17:47:31 +0200'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1084
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1085 Its format is not guaranteed not to change over time.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1086
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1087 =head1 NOTE
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1088
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1089 This module contains a good example of how to use tie to implement a
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1090 cache and an example of how to make a tied variable readonly to those
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1091 outside of it.
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1092
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1093 =cut
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1094
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1095 ENDOFTAIL
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1096
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1097 close(GLOS) if $Opts{glossary};
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1098 close(CONFIG_POD);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1099 print "written $Config_POD\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1100
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1101 my $orig_config_txt = "";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1102 my $orig_heavy_txt = "";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1103 {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1104 local $/;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1105 my $fh;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1106 $orig_config_txt = <$fh> if open $fh, "<", $Config_PM;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1107 $orig_heavy_txt = <$fh> if open $fh, "<", $Config_heavy;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1108 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1109
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1110 if ($orig_config_txt ne $config_txt or $orig_heavy_txt ne $heavy_txt) {
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1111 open CONFIG, ">", $Config_PM or die "Can't open $Config_PM: $!\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1112 open CONFIG_HEAVY, ">", $Config_heavy or die "Can't open $Config_heavy: $!\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1113 print CONFIG $config_txt;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1114 print CONFIG_HEAVY $heavy_txt;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1115 close(CONFIG_HEAVY);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1116 close(CONFIG);
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1117 print "updated $Config_PM\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1118 print "updated $Config_heavy\n";
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1119 }
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1120
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1121 # Now do some simple tests on the Config.pm file we have created
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1122 unshift(@INC,'lib');
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1123 require $Config_PM;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1124 require $Config_heavy;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1125 import Config;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1126
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1127 die "$0: $Config_PM not valid"
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1128 unless $Config{'PERL_CONFIG_SH'} eq 'true';
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1129
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1130 die "$0: error processing $Config_PM"
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1131 if defined($Config{'an impossible name'})
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1132 or $Config{'PERL_CONFIG_SH'} ne 'true' # test cache
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1133 ;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1134
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1135 die "$0: error processing $Config_PM"
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1136 if eval '$Config{"cc"} = 1'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1137 or eval 'delete $Config{"cc"}'
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1138 ;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1139
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1140
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1141 exit 0;
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1142 # Popularity of various entries in %Config, based on a large build and test
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1143 # run of code in the Fotango build system:
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1144 __DATA__
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1145 path_sep: 8490
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1146 d_readlink: 7101
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1147 d_symlink: 7101
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1148 archlibexp: 4318
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1149 sitearchexp: 4305
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1150 sitelibexp: 4305
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1151 privlibexp: 4163
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1152 ldlibpthname: 4041
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1153 libpth: 2134
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1154 archname: 1591
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1155 exe_ext: 1256
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1156 scriptdir: 1155
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1157 version: 1116
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1158 useithreads: 1002
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1159 osvers: 982
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1160 osname: 851
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1161 inc_version_list: 783
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1162 dont_use_nlink: 779
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1163 intsize: 759
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1164 usevendorprefix: 642
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1165 dlsrc: 624
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1166 cc: 541
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1167 lib_ext: 520
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1168 so: 512
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1169 ld: 501
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1170 ccdlflags: 500
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1171 ldflags: 495
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1172 obj_ext: 495
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1173 cccdlflags: 493
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1174 lddlflags: 493
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1175 ar: 492
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1176 dlext: 492
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1177 libc: 492
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1178 ranlib: 492
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1179 full_ar: 491
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1180 vendorarchexp: 491
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1181 vendorlibexp: 491
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1182 installman1dir: 489
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1183 installman3dir: 489
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1184 installsitebin: 489
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1185 installsiteman1dir: 489
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1186 installsiteman3dir: 489
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1187 installvendorman1dir: 489
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1188 installvendorman3dir: 489
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1189 d_flexfnam: 474
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1190 eunicefix: 360
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1191 d_link: 347
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1192 installsitearch: 344
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1193 installscript: 341
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1194 installprivlib: 337
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1195 binexp: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1196 installarchlib: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1197 installprefixexp: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1198 installsitelib: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1199 installstyle: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1200 installvendorarch: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1201 installvendorbin: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1202 installvendorlib: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1203 man1ext: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1204 man3ext: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1205 sh: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1206 siteprefixexp: 336
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1207 installbin: 335
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1208 usedl: 332
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1209 ccflags: 285
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1210 startperl: 232
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1211 optimize: 231
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1212 usemymalloc: 229
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1213 cpprun: 228
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1214 sharpbang: 228
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1215 perllibs: 225
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1216 usesfio: 224
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1217 usethreads: 220
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1218 perlpath: 218
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1219 extensions: 217
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1220 usesocks: 208
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1221 shellflags: 198
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1222 make: 191
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1223 d_pwage: 189
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1224 d_pwchange: 189
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1225 d_pwclass: 189
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1226 d_pwcomment: 189
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1227 d_pwexpire: 189
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1228 d_pwgecos: 189
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1229 d_pwpasswd: 189
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1230 d_pwquota: 189
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1231 gccversion: 189
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1232 libs: 186
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1233 useshrplib: 186
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1234 cppflags: 185
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1235 ptrsize: 185
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1236 shrpenv: 185
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1237 static_ext: 185
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1238 use5005threads: 185
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1239 uselargefiles: 185
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1240 alignbytes: 184
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1241 byteorder: 184
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1242 ccversion: 184
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1243 config_args: 184
a16537d2fe07 <xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
HackBot
parents:
diff changeset
1244 cppminus: 184