Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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