Skip to content
Newer
Older
100644 358 lines (229 sloc) 10.2 KB
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
1 #!/usr/bin/perl -w
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
2 #
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
3 # Configure.pl 2.0
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
4 #
5 # $Id$
6 #
7 # Author: Brent Dax
8 #
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
9
0103c4d @rspier version checks should happen at compile time, so use 'use' instead of…
rspier authored
10 use 5.005_02;
54d55b6 Patch from Nicholas Clark <nick@unfortu.net>: stops silly people
Josh Wilmes authored
11
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
12 use strict;
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
13 use vars qw($parrot_version @parrot_version);
c1dafb2 @rspier Add './lib' to our @INC because Parrot/* moved.
rspier authored
14 use lib 'lib';
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
15
16 use Parrot::BuildUtil;
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
17 use Parrot::Configure::RunSteps;
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
18
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
19 $parrot_version = parrot_version();
20 @parrot_version = parrot_version();
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
21
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
22 # Handle options
c15d8e5 Added 'reconfig' make target and corresponding --reconfig option to
Gregor N. Purdy authored
23
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
24 my %args;
c15d8e5 Added 'reconfig' make target and corresponding --reconfig option to
Gregor N. Purdy authored
25
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
26 for(@ARGV) {
27 my($key, $value)=/--(\w+)(?:=(.*))?/;
28 $value = 1 unless defined $value;
29
30 for($key) {
31 /version/ && do {
32 my $cvsid='$Id$';
33 print <<"END";
34 Parrot Version $parrot_version Configure 2.0
35 $cvsid
36 END
37 exit;
38 };
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
39
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
40 /help/ && do {
41 print <<"EOT";
42 $0 - Parrot Configure 2.0
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
43 Options:
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
44 --help Show this text
45 --version Show version information
46
47 Steps may take additional options of the form --name or --name=value.
48 Popular ones include:
49
50 --ask Have Configure ask for commonly-changed info
eb6a00d @tomhughes Commit patch #17517 from Leopold Toetsch <lt@toetsch.at>.
tomhughes authored
51 you can remove parts of a line with :rem{<opt>}
52 and add options with :add{<opt>} e.g.
53 :rem{-g} :add{-O2}
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
54 --nomanicheck Don't check the MANIFEST
69a9982 @hotsphink Missing bits of the --debugging flag patch (I left it out of my
hotsphink authored
55 --debugging Enable debugging
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
56 --cc=(compiler) Use the given compiler
57 --ld=(linker) Use the given linker
58 --intval=(type) Use the given type for INTVAL
59 --floatval=(type) Use the given type for FLOATVAL
c0142c7 memory allocation rework
Dan Sugalski authored
60
61 --cgoto=0 Don't build cgoto core - recommended when short of mem
62 --gc=gc|libc|malloc|malloc-trace determine GC type, default = gc
63
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
64 EOT
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
65 exit;
66 };
67 $args{$key}=$value;
68 }
c15d8e5 Added 'reconfig' make target and corresponding --reconfig option to
Gregor N. Purdy authored
69 }
70
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
71 print <<"END";
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
72 Parrot Version $parrot_version Configure 2.0
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
73 Copyright (C) 2001-2002 Yet Another Society
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
74
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
75 Hello, I'm Configure. My job is to poke and prod your system to figure out
76 how to build Parrot. The process is completely automated, unless you passed in
77 the `--ask' flag on the command line, in which case it'll prompt you for a few
78 pieces of info.
3ffe560 Figure out byteorder on our own, don't use Perl5 Config's since
Melvin Smith authored
79
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
80 Since you're running this script, you obviously have Perl 5--I'll be pulling
81 some defaults from its configuration.
3ffe560 Figure out byteorder on our own, don't use Perl5 Config's since
Melvin Smith authored
82 END
83
fe31287 This patch adds macros to the config.h file for INTVAL and NUMVAL printf
Dan Sugalski authored
84
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
85 #Run the actual steps
86 Parrot::Configure::RunSteps->runsteps(%args);
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
87
de4d079 Add conditional configurations for testy code.
Melvin Smith authored
88
6fba438 @simoncozens Abstract the argument and opcode packing types and functions out into
simoncozens authored
89 print <<"END";
90
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
91 Okay, we're done!
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
92
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
93 You can now use `make' (or your platform's equivalent to `make') to build your
94 Parrot. After that, you can use `make test' to run the test suite.
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
95
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
96 Happy Hacking,
97 The Parrot Team
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
98
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
99 END
100
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
101 exit(0);
19fa0d4 @tomhughes Stop Configure trying to make op_info.c and op.h as op_info.c no longer
tomhughes authored
102
bc2ee1d @brentdax Minor cleanup and enhancements.
brentdax authored
103
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
104 =head1 TITLE
bc2ee1d @brentdax Minor cleanup and enhancements.
brentdax authored
105
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
106 parrotconfig - Parrot Configure
bc2ee1d @brentdax Minor cleanup and enhancements.
brentdax authored
107
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
108 =head1 NOTE
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
109
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
110 This document is NOT about how to use Configure--it's about Configure's design. For
111 information on using Configure, type C<perl Configure.pl --help> (or your platform's
112 equivalent) at a command line prompt.
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
113
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
114 =head1 DESCRIPTION
bc2ee1d @brentdax Minor cleanup and enhancements.
brentdax authored
115
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
116 B<I<U<THIS NEEDS TO BE UPDATED!!!>>>
bc2ee1d @brentdax Minor cleanup and enhancements.
brentdax authored
117
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
118 Configure is broken up into I<steps>. Each step contains several related I<prompts>,
119 I<probes>, or I<generations>. Steps should be mostly of a single type, though some overlap
120 is allowed (for example, allowing a probe to ask the user what to do in an exceptional
121 situation).
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
122
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
123 The directory F<config> contains subdirectories for each type of step. Each step should
124 consist of I<exactly one> .pl file and any number of supporting .c, .in, etc. files. Any
125 supporting files should be in a folder whose name is the same as the basename of the step's
126 .pl file; for example, if F<foo.pl> uses F<bar_c.in>, F<bar_c.in> should be in a directory
127 called F<foo>; the full path might be F<config/auto/foo/bar_c.in>.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
128
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
129 Generally, when adding a new test you should add a new step unless a test I<clearly> belongs
130 in a current step. For example, if we added a new user-configurable type called C<FOOVAL>,
131 you should add the test for its size in F<auto/sizes.pl>; however, if you were testing
132 what dynaloading capabilities are available, you should create a new step.
81226c8 @hotsphink Patch courtesy of Mike Lambert:
hotsphink authored
133
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
134 =head2 Initialization Steps
81226c8 @hotsphink Patch courtesy of Mike Lambert:
hotsphink authored
135
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
136 I<Initialization steps> are run before any other steps. They do tasks such as preparing
137 Configure's data structures and checking the MANIFEST. These will rarely be added; when
138 they are, it usually means that Configure is getting significant new capabilities.
139 They're kept in the directory F<config/init>.
81226c8 @hotsphink Patch courtesy of Mike Lambert:
hotsphink authored
140
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
141 Initialization steps usually do not output anything under normal circumstances.
81226c8 @hotsphink Patch courtesy of Mike Lambert:
hotsphink authored
142
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
143 =head2 Prompts
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
144
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
145 Prompts ask the user for some information. These should be used sparingly. A step
146 containing prompts is an I<interactive step>. Interactive steps should be in the
147 F<config/inter> folder.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
148
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
149 Interactive steps often include simple probes to determine good guesses of what the user
150 will answer. See L</Prompt or Probe?> for more information.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
151
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
152 Interactive steps virtually always output something.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
153
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
154 =head2 Probes
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
155
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
156 Probes are automated tests of some feature of the computer. These should be used wherever a value
157 will not often need to be modified by the user. A step containing probes is an I<automatic step>.
158 Automatic steps should be in the F<config/auto> folder.
083fd66 Nuke all object files in the parrot tree that matter when configuring.
Dan Sugalski authored
159
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
160 Automatic steps usually do not output anything under normal circumstances.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
161
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
162 =head2 Generations
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
163
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
164 Generations create files needed after Configure has completed, such as Makefiles and configuration
165 headers. A step containing generations is a I<generation step>. Generation steps should be in the
166 F<config/gen> folder.
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
167
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
168 Generation steps usually do not output anything under normal circumstances.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
169
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
170 =head2 Prompt or Probe?
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
171
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
172 It can sometimes be hard to decide whether a given step should be an automatic or an interactive
173 step. The guiding question is I<Would a user ever want to change this?>, or conversely, I<Is this
174 something that can be completely determined without user intervention?> A step figuring out what
175 the compiler's command is would probably be an interactive step; conversely, a step figuring out
176 if that command is connected to a specific compiler (like gcc) would be an automatic step.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
177
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
178 =head2 Adding Steps
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
179
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
180 New steps should be added in one of the three folders mentioned above. They should include the
181 C<Parrot::Configure::Step> module, described below.
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
182
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
183 All steps are really modules; they should start with a declaration setting the current package
184 to C<Configure::Step>. They should define the following:
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
185
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
186 =over 4
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
187
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
188 =item C<$description>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
189
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
190 A short descriptive message that should be printed before the step executes. Usually, interactive
191 steps have long, friendly descriptions and other steps have terse descriptions ending in "...".
192 Some example descriptions:
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
193
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
194 =over 4
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
195
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
196 =item F<inter/progs.pl>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
197
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
198 Okay, I'm going to start by asking you a couple questions about your
199 compiler and linker. Default values are in square brackets;
200 you can hit ENTER to accept them. If you don't understand a question,
201 the default will usually work--they've been intuited from your Perl 5
202 configuration.
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
203
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
204 =item F<auto/cgoto.pl>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
205
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
206 Determining if your compiler supports computed goto...
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
207
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
208 =item F<gen/config_h.pl>
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
209
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
210 Generating a config.h header for Parrot...
633d178 It adds a prompt to Configure asking for a list of opcode files
Dan Sugalski authored
211
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
212 =back
fd337a3 @brentdax Fixes the + thing in prompts, plus adds a synonym (:add{foo}) and a n…
brentdax authored
213
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
214 Note that on non-interactive steps, the text C<"done."> will be printed after the description when the step
215 finishes executing; for example, the user will see:
fd337a3 @brentdax Fixes the + thing in prompts, plus adds a synonym (:add{foo}) and a n…
brentdax authored
216
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
217 Determining if your compiler supports computed goto...done.
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
218
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
219 =item C<@args>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
220
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
221 This contains the names of any command-line arguments the step cares about. Command-line arguments
222 are standardized in Configure; this will be described later in more detail.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
223
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
224 =item C<Configure::Step::runstep>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
225
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
226 This is called to actually execute the step. The command-line arguments that your module said it
227 cared about are passed in; they come in the same order as in C<@args>, and any that weren't specified
228 are passed as C<undef>.
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
229
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
230 =back
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
231
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
232 Configure won't execute your step by default unless it's specifically told to. To do this, edit the
233 C<Parrot::Configure::RunSteps> module's C<@steps> array. Steps are run in the sequence in which
234 they appear in C<@steps>.
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
235
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
236 A template for a new step might look like this:
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
237
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
238 package Configure::Step;
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
239
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
240 use strict;
241 use vars qw($description @args);
242 use Parrot::Configure::Step;
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
243
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
244 $description="<description>";
245 @args=qw(<args>);
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
246
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
247 sub runstep {
248 <code>
249 }
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
250
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
251 =head2 Command-line Arguments
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
252
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
253 Command-line arguments look like C</--\w+(=.*)?/>; the equals sign separates the name and the value.
254 If the value is omitted, it's assumed to be 1. The options "--help" and "--version" are built in to
255 Configure; any others are defined by steps. "--help" lists some common options.
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
256
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
257 Steps use the C<@args> array to list any options they're interested in. They should be listed without
258 the dashes.
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
259
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
260 =head2 Building Up Configuration Data
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
261
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
262 The second step is F<config/init/data.pl>, which sets up a C<Configure::Data> package. You get and set
263 Configure's data by calling methods on this package. The methods are listed below.
1d93957 @simoncozens Configure now generates Makefile
simoncozens authored
264
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
265 =over 4
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
266
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
267 =item C<< Configure::Data->get(keys) >>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
268
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
269 Returns the values for the given keys.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
270
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
271 =item C<< Configure::Data->set(key, value, key, value, ...) >>
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
272
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
273 Sets the given keys to the given values.
59345b3 @brentdax Fix issues with ivsize and nvsize
brentdax authored
274
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
275 =item C<< Configure::Data->keys() >>
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
276
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
277 Returns a list of all keys.
59345b3 @brentdax Fix issues with ivsize and nvsize
brentdax authored
278
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
279 =item C<< Configure::Data->dump() >>
59345b3 @brentdax Fix issues with ivsize and nvsize
brentdax authored
280
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
281 Returns a string that can be C<eval>ed by Perl to create a hash representing Configure's data.
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
282
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
283 =back
5cac2b3 @brentdax Cleaner VMS support, more info for Parrot::Config to remember, more f…
brentdax authored
284
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
285 =head2 C<Parrot::Configure::Step>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
286
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
287 The C<Parrot::Configure::Step> module contains utility functions for steps to use. They include the following:
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
288
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
289 =over 4
43a606a This patch allows parrot to mostly-build with tcc. It allows one to skip
Dan Sugalski authored
290
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
291 =item C<prompt(message, default)>
43a606a This patch allows parrot to mostly-build with tcc. It allows one to skip
Dan Sugalski authored
292
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
293 Prints out "message [default] " and waits for the user's response. Returns the response, or the default if the
294 user just hit ENTER.
5cac2b3 @brentdax Cleaner VMS support, more info for Parrot::Config to remember, more f…
brentdax authored
295
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
296 =item C<cc_gen(file)>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
297
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
298 Calls C<genfile(file, 'test.c')>.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
299
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
300 =item C<cc_build()>
43a606a This patch allows parrot to mostly-build with tcc. It allows one to skip
Dan Sugalski authored
301
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
302 Calls the compiler and linker on F<test.c>.
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
303
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
304 =item C<cc_run()>
43a606a This patch allows parrot to mostly-build with tcc. It allows one to skip
Dan Sugalski authored
305
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
306 Calls the F<test> (or F<test.exe>) executable.
43a606a This patch allows parrot to mostly-build with tcc. It allows one to skip
Dan Sugalski authored
307
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
308 =item C<cc_clean()>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
309
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
310 Cleans up all files in the root folder that match the glob I<test.*>.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
311
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
312 =item C<genfile(infile, outfile)>
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
313
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
314 Takes the given I<infile>, substitutes any sequences matching C</\$\{\w+\}/> for the given key's value in
315 Configure's data, and writes the results to I<outfile>.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
316
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
317 =back
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
318
aeeafc5 @brentdax Mention where all the files went.
brentdax authored
319 =head1 MISCELLANEOUS
320
321 =head2 Moved Files
322
323 Several files have been moved from their original locations to new ones.
324
325 =over 4
326
327 =item F<*/Makefile.in>
328
329 Moved to F<config/gen/makefiles> and renamed appropriately.
330
331 =item F<config_h.in>
332
333 Moved to F<config/gen/config_h>.
334
335 =item F<Config_pm.in>
336
337 moved to F<config/gen/config_pm>.
338
339 =item F<Types_pm.in>
340
341 Deleted; F<lib/Parrot/Types.pm> now doesn't need to be generated.
342
343 =item F<hints/*>
344
345 Moved to F<config/init/hints> and rewritten.
346
347 =item F<platforms/*>
348
349 Moved to F<config/gen/platform>.
350
351 =item F<test*.c>, F<test*_c.in>
352
353 Moved to various subdirectories of F<hints/auto>.
354
355 =back
356
69a9982 @hotsphink Missing bits of the --debugging flag patch (I left it out of my
hotsphink authored
357 =cut
Something went wrong with that request. Please try again.