Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 373 lines (219 sloc) 7.774 kB
3ace369 @particle #39826: [CAGE] convert C<perl -w> to C<use warnings;>
particle authored
1 #! perl
29b08db @bschmalhofer Require Perl 5.6.0, not 5.8.0, in Configure.pl.
bschmalhofer authored
2
a5b614c @bschmalhofer [config]
bschmalhofer authored
3 # Copyright (C) 2001-2008, The Perl Foundation.
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
4 # $Id$
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
5
3477cc0 @jkeenan Applying patch submitted in
jkeenan authored
6 use 5.008_000;
7 use strict;
8 use warnings;
9 use lib 'lib';
10
11 use Parrot::Configure;
12 use Parrot::Configure::Options qw( process_options );
13 use Parrot::Configure::Options::Test;
a725b2f @jkeenan Refactor preparatory code found in lib/Parrot/Configure/Options/Test.…
jkeenan authored
14 use Parrot::Configure::Options::Test::Prepare qw(
15 get_preconfiguration_tests
16 get_postconfiguration_tests
17 );
3477cc0 @jkeenan Applying patch submitted in
jkeenan authored
18 use Parrot::Configure::Messages qw(
19 print_introduction
20 print_conclusion
21 );
22 use Parrot::Configure::Step::List qw( get_steps_list );
23
24 $| = 1; # $OUTPUT_AUTOFLUSH = 1;
25
26 # Install Option text was taken from:
27 #
28 # autoconf (GNU Autoconf) 2.59
29 # Written by David J. MacKenzie and Akim Demaille.
30 #
31 # Copyright (C) 2003 Free Software Foundation, Inc.
32 # This is free software; see the source for copying conditions. There is NO
33 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34
35 # from Parrot::Configure::Options
36 my $args = process_options(
37 {
38 mode => 'configure',
39 argv => [@ARGV],
40 }
41 );
42 exit(1) unless defined $args;
43
44 my $opttest = Parrot::Configure::Options::Test->new($args);
45
46 # configuration tests will only be run if you requested them
47 # as command-line option
a725b2f @jkeenan Refactor preparatory code found in lib/Parrot/Configure/Options/Test.…
jkeenan authored
48 $opttest->run_configure_tests( get_preconfiguration_tests() );
3477cc0 @jkeenan Applying patch submitted in
jkeenan authored
49
50 my $parrot_version = $Parrot::Configure::Options::Conf::parrot_version;
51
52 # from Parrot::Configure::Messages
53 print_introduction($parrot_version);
54
a5b614c @bschmalhofer [config]
bschmalhofer authored
55 my $conf = Parrot::Configure->new();
3477cc0 @jkeenan Applying patch submitted in
jkeenan authored
56
57 # from Parrot::Configure::Step::List
58 $conf->add_steps( get_steps_list() );
59
60 # from Parrot::Configure::Data
61 $conf->options->set( %{$args} );
62
63 # Run the actual steps
64 # from Parrot::Configure
7bb2d0e @jkeenan Applying patch submitted in
jkeenan authored
65 $conf->{active_configuration} = 1;
3477cc0 @jkeenan Applying patch submitted in
jkeenan authored
66 $conf->runsteps or exit(1);
67
68 # build tests will only be run if you requested them
69 # as command-line option
a725b2f @jkeenan Refactor preparatory code found in lib/Parrot/Configure/Options/Test.…
jkeenan authored
70 $opttest->run_build_tests( get_postconfiguration_tests() );
3477cc0 @jkeenan Applying patch submitted in
jkeenan authored
71
72 my $make = $conf->data->get('make');
73 # from Parrot::Configure::Messages
74 ( print_conclusion( $conf, $make ) ) ? exit 0 : exit 1;
75
76 ################### DOCUMENTATION ###################
77
756762f *** empty log message ***
Michael Scott authored
78 =head1 NAME
54d55b6 Patch from Nicholas Clark <nick@unfortu.net>: stops silly people
Josh Wilmes authored
79
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
80 Configure.pl - Parrot's Configuration Script
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
81
756762f *** empty log message ***
Michael Scott authored
82 =head1 SYNOPSIS
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
83
756762f *** empty log message ***
Michael Scott authored
84 % perl Configure.pl [options]
6d36c2d bunch of patches:
Leopold Toetsch authored
85
756762f *** empty log message ***
Michael Scott authored
86 =head1 DESCRIPTION
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
87
d10b19e @petdance Perl programs are programs, not scripts
petdance authored
88 This is Parrot's configuration program. It should be run to create
89 the necessary system-specific files before building Parrot.
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
90
91 =head2 Command-line Options
c15d8e5 Added 'reconfig' make target and corresponding --reconfig option to
Gregor N. Purdy authored
92
49929e0 remove =head3
Michael Scott authored
93 General Options
c15d8e5 Added 'reconfig' make target and corresponding --reconfig option to
Gregor N. Purdy authored
94
756762f *** empty log message ***
Michael Scott authored
95 =over
ad4983c add --optimize Configure option
Leopold Toetsch authored
96
756762f *** empty log message ***
Michael Scott authored
97 =item C<--help>
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
98
756762f *** empty log message ***
Michael Scott authored
99 Prints out a description of the options and exits.
ad4983c add --optimize Configure option
Leopold Toetsch authored
100
756762f *** empty log message ***
Michael Scott authored
101 =item C<--version>
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
102
756762f *** empty log message ***
Michael Scott authored
103 Prints out the version number of Configure.pl and exits.
c0142c7 memory allocation rework
Dan Sugalski authored
104
756762f *** empty log message ***
Michael Scott authored
105 =item C<--verbose>
c0142c7 memory allocation rework
Dan Sugalski authored
106
6f5b538 @jhoblitt podtidy configure files
jhoblitt authored
107 Tells Configure.pl to output extra information about the configuration data it
108 is setting.
c15d8e5 Added 'reconfig' make target and corresponding --reconfig option to
Gregor N. Purdy authored
109
ab81b8c @brentdax Configure output cleanup. Retasks --verbose to include the old outpu…
brentdax authored
110 =item C<--verbose=2>
111
dacbc40 ICU config patch - use systems ICU
Leopold Toetsch authored
112 Tells Configure.pl to output information about i<every> setting added or
ab81b8c @brentdax Configure output cleanup. Retasks --verbose to include the old outpu…
brentdax authored
113 changed.
114
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
115 =item C<--verbose-step={N|regex}>
567c2b1 new Configure options: verbose-step
Leopold Toetsch authored
116
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
117 Run C<--verbose=2> for step number C<N> or matching description.
567c2b1 new Configure options: verbose-step
Leopold Toetsch authored
118
a5e7643 @jkeenan Committing patch submitted for RT 45523 and 45525. Add --fatal and
jkeenan authored
119 =item C<--fatal>
120
121 Tells Configure.pl to halt completely if any configuration step fails.
122
123 =item C<--fatal-step={init::alpha,inter::beta,auto::gamma}>
124
125 Tells Configure.pl to halt completely if any configuration step in
126 comma-delimited string individually fails.
127
756762f *** empty log message ***
Michael Scott authored
128 =item C<--nomanicheck>
85a1fcc reenable debugging=1 default
Leopold Toetsch authored
129
756762f *** empty log message ***
Michael Scott authored
130 Tells Configure.pl not to run the MANIFEST check.
11b744f @simoncozens Configure system from Brent Dax <brentdax@cpan.org>
simoncozens authored
131
20fed4c Add a --prefix argument to Configure.pl to set the installation prefix
Nicholas Clark authored
132 =item C<--prefix>
133
134 Sets the location where parrot will be installed.
135
3af6759 @particle [config]: add --languages='list of languages' option to allow (re)gen…
particle authored
136 =item C<--languages="list of languages">
137
138 Specify a list of languages to process (space separated.)
139 Used in combination with C<--step=gen::languages> to regenerate makefiles.
3070bbb @tewk [Config] added --step runs a single step
tewk authored
140
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
141 =item C<--ask>
de4d079 Add conditional configurations for testy code.
Melvin Smith authored
142
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
143 This turns on the user prompts.
6fba438 @simoncozens Abstract the argument and opcode packing types and functions out into
simoncozens authored
144
84c64a2 @jkeenan Applying to trunk patch submitted in RT 42690. particle requested a …
jkeenan authored
145 =item C<--test>
146
147 Run certain tests along with F<Configure.pl>:
148
149 =over 4
150
151 =item C<--test=configure>
152
153 Run tests found in F<t/configure/> I<before> beginning configuration. These
154 tests demonstrate that Parrot's configuration tools will work properly once
155 configuration has begun.
156
157 =item C<--test=build>
158
159 Run tests found in F<t/postconfigure/>, F<t/tools/pmc2cutils/>,
160 F<t/tools/ops2cutils/> and F<t/tools/ops2pmutils/> I<after> configuration has
161 completed. These tests demonstrate (a) that certain of Parrot's configuration
162 tools are working properly post-configuration; and (b) that certain of
163 Parrot's build tools will work properly once you call F<make>.
164
165 =item C<--test>
166
167 Run the tests described in C<--test=configure>, conduct configuration, then
168 run the tests described in C<--test=build>.
169
170 =back
171
756762f *** empty log message ***
Michael Scott authored
172 =back
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
173
49929e0 remove =head3
Michael Scott authored
174 Compile Options
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
175
756762f *** empty log message ***
Michael Scott authored
176 =over
19fa0d4 @tomhughes Stop Configure trying to make op_info.c and op.h as op_info.c no longer
tomhughes authored
177
756762f *** empty log message ***
Michael Scott authored
178 =item C<--debugging=0>
bc2ee1d @brentdax Minor cleanup and enhancements.
brentdax authored
179
756762f *** empty log message ***
Michael Scott authored
180 Debugging is turned on by default. Use this to disable it.
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
181
82a8718 @particle config: add --parrot_is_shared option to docs
particle authored
182 =item C<--parrot_is_shared>
183
184 Link parrot dynamically.
185
2ddc05f [config] New Configure.pl option --m=32
Leopold Toetsch authored
186 =item C<--m=32>
187
fe05e8a @ambs Some enhancements on linelength.t
ambs authored
188 Create a 32-bit executable on 64-architectures like x86_64. This
189 option appends -m32 to compiler and linker programs and does
190 s/lib64/lib/g on link flags.
2ddc05f [config] New Configure.pl option --m=32
Leopold Toetsch authored
191
192 This option is experimental. See F<config/init/defaults.pm> for more.
193
62c60b6 really speed up oo1.pasm by 2
Leopold Toetsch authored
194 =item C<--profile>
195
196 Turn on profiled compile (gcc only for now)
197
efd9dcb @paultcochrane Added --cage option. Part of patch (#39802) courtesy of Kevin Tew
paultcochrane authored
198 =item C<--cage>
199
200 [CAGE] compile includes many additional warnings
201
756762f *** empty log message ***
Michael Scott authored
202 =item C<--optimize>
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
203
2fc8aec @bschmalhofer This patch makes it easier to compile parrot with a compiler other than
bschmalhofer authored
204 Add perl5's $Config{optimize} to the compiler flags.
205
206 =item C<--optimize=flags>
207
208 Add C<flags> to the compiler flags.
756762f *** empty log message ***
Michael Scott authored
209
210 =item C<--inline>
211
212 Tell Configure that the compiler supports C<inline>.
213
214 =item C<--cc=(compiler)>
215
216 Specify which compiler to use.
217
218 =item C<--ccflags=(flags)>
219
220 Use the given compiler flags.
221
222 =item C<--ccwarn=(flags)>
223
224 Use the given compiler warning flags.
225
c528c23 The following patch enables the user to control which compilers get
Leopold Toetsch authored
226 =item C<--cxx=(compiler)>
227
228 Specify which C++ compiler to use (for ICU).
229
756762f *** empty log message ***
Michael Scott authored
230 =item C<--libs=(libs)>
231
232 Use the given libraries.
233
234 =item C<--link=(linker)>
235
236 Specify which linker to use.
237
238 =item C<--linkflags=(flags)>
239
240 Use the given linker flags
241
242 =item C<--ld=(linker)>
243
244 Specify which loader to use for shared libraries.
245
246 =item C<--ldflags=(flags)>
247
248 Use the given loader flags for shared libraries
249
250 =item C<--lex=(lexer)>
251
252 Specify which lexer to use.
253
254 =item C<--yacc=(parser)>
255
256 Specify which parser to use.
0846288 various patches 2
Leopold Toetsch authored
257
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
258 =item C<--define=val1[,val2]>
259
6f5b538 @jhoblitt podtidy configure files
jhoblitt authored
260 Generate "#define PARROT_DEF_VAL1 1" ... entries in has_header.h. Currently
261 needed to use inet_aton for systems that lack inet_pton:
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
262
263 --define=inet_aton
264
265 =back
266
49929e0 remove =head3
Michael Scott authored
267 Parrot Options
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
268
269 =over
270
756762f *** empty log message ***
Michael Scott authored
271 =item C<--intval=(type)>
272
273 Use the given type for C<INTVAL>.
274
275 =item C<--floatval=(type)>
276
277 Use the given type for C<FLOATVAL>.
278
279 =item C<--opcode=(type)>
280
281 Use the given type for opcodes.
282
283 =item C<--ops=(files)>
284
285 Use the given ops files.
286
287 =item C<--pmc=(files)>
bc2ee1d @brentdax Minor cleanup and enhancements.
brentdax authored
288
756762f *** empty log message ***
Michael Scott authored
289 Use the given PMC files.
290
291 =item C<--cgoto=0>
292
293 Don't build cgoto core. This is recommended when you are short of memory.
294
295 =item C<--jitcapable>
296
297 Use JIT system.
298
299 =item C<--execcapable>
300
0846288 various patches 2
Leopold Toetsch authored
301 Use JIT to emit a native executable.
756762f *** empty log message ***
Michael Scott authored
302
303 =item C<--gc=(type)>
304
6f5b538 @jhoblitt podtidy configure files
jhoblitt authored
305 Determine the type of garbage collection. The value for C<type> should be one
306 of: C<gc>, C<libc>, C<malloc> or C<malloc-trace>. The default is C<gc>.
756762f *** empty log message ***
Michael Scott authored
307
5a9e89c [PATCH] runConfigureICU usage
Leopold Toetsch authored
308 =back
309
9407a53 @coke Re: [perl #41051] [PATCH]: Configure.pl: Spell out what 'ICU' means
coke authored
310 International Components For Unicode (ICU) Options
5a9e89c [PATCH] runConfigureICU usage
Leopold Toetsch authored
311
312 =over
313
acf4fa4 autodetect and use system icu installations
Jens Rieks authored
314 =item C<--icu-config=/path/to/icu-config>
315
73ba72d [perl #36057] [PATCH] Fix some typos - 5
Leopold Toetsch authored
316 Use the specified icu-config script to determine the necessary ICU options.
acf4fa4 autodetect and use system icu installations
Jens Rieks authored
317
6f5b538 @jhoblitt podtidy configure files
jhoblitt authored
318 Use --icu-config=none to disable the autodetect feature. Parrot will then be
319 build without ICU.
acf4fa4 autodetect and use system icu installations
Jens Rieks authored
320
6f5b538 @jhoblitt podtidy configure files
jhoblitt authored
321 B<Note:> If you specify another ICU option than --icu-config, the autodetection
322 functionality will be disabled.
a194975 - removed error message if icu-config does not exists
Jens Rieks authored
323
dacbc40 ICU config patch - use systems ICU
Leopold Toetsch authored
324 =item C<--icushared=(linkeroption)>
325
5ec035c Config cleanup - icu
Leopold Toetsch authored
326 Linker command to link against ICU library.
dacbc40 ICU config patch - use systems ICU
Leopold Toetsch authored
327
328 E.g.
329
330 --icushared='-L /opt/openoffice/program -licudata -licuuc'
331
332 (The libs in openoffice are actually version 2.2 and do not work)
333
334 =item C<--icuheaders=(header_dir)>
335
6f5b538 @jhoblitt podtidy configure files
jhoblitt authored
336 Location of ICU header files without the /unicode suffix.
dacbc40 ICU config patch - use systems ICU
Leopold Toetsch authored
337
338 E.g.
339
340 --icuheaders='/home/lt/icu/'
341
756762f *** empty log message ***
Michael Scott authored
342 =back
343
c9264be more config system add ons and docs
Leopold Toetsch authored
344 Other Options
205f653 @brentdax Win32 compatibility, Configure hints, 5.005 compatibility, MANIFEST c…
brentdax authored
345
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
346 =over
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
347
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
348 =item C<--maintainer>
43a606a This patch allows parrot to mostly-build with tcc. It allows one to …
Dan Sugalski authored
349
6f5b538 @jhoblitt podtidy configure files
jhoblitt authored
350 Use this option if you want imcc's parser and lexer files to be generated.
351 Needs a working parser and lexer.
9d000b4 Made the changes to figure out mask bits for various register and stack
Dan Sugalski authored
352
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
353 =item C<--miniparrot>
43a606a This patch allows parrot to mostly-build with tcc. It allows one to …
Dan Sugalski authored
354
b4b718e Update configuration system documentation (based on patches provided …
Michael Scott authored
355 Build parrot assuming only pure ANSI C is available.
43a606a This patch allows parrot to mostly-build with tcc. It allows one to …
Dan Sugalski authored
356
0fc6ac6 @brentdax Configure.pl 2.0.
brentdax authored
357 =back
a3cd162 Build enhancements. Originally to support building shared libraries, …
Gregor N. Purdy authored
358
c9264be more config system add ons and docs
Leopold Toetsch authored
359 =head1 SEE ALSO
360
361 F<config/init/data.pl>, F<lib/Parrot/Configure/RunSteps.pm>,
362 F<lib/Parrot/Configure/Step.pm>, F<docs/configuration.pod>
363
756762f *** empty log message ***
Michael Scott authored
364 =cut
aeeafc5 @brentdax Mention where all the files went.
brentdax authored
365
b91d268 @bschmalhofer #40278: [CAGE] perl coding standards coda.
bschmalhofer authored
366 # Local Variables:
367 # mode: cperl
368 # cperl-indent-level: 4
369 # fill-column: 100
370 # End:
371 # vim: expandtab shiftwidth=4:
25830bb @jkeenan Applying patch submitted in
jkeenan authored
372
Something went wrong with that request. Please try again.