Skip to content
Newer
Older
100644 248 lines (184 sloc) 8.52 KB
8fc1305 @rurban [build] --{en,dis}able-static
rurban authored
1 # Copyright (C) 2007-2014, Parrot Foundation.
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
2 package Parrot::Configure::Options::Conf;
a458941 @bschmalhofer [config]
bschmalhofer authored
3
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
4 use strict;
5 use warnings;
6 use base qw( Exporter );
7 our @EXPORT_OK = qw(
8 $script
9 $parrot_version
780cbd7 @jkeenan Merge newsc branch into trunk, implementing Configuration-File interf…
jkeenan authored
10 print_help
11 print_version
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
12 );
13 use lib qw( lib );
a458941 @bschmalhofer [config]
bschmalhofer authored
14 use Parrot::BuildUtil ();
e690620 @allisonrandal [config] Make the configuration process smarter about reading the ver…
allisonrandal authored
15 use FindBin qw($Bin);
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
16
798af0f @paultcochrane [lib] Tidied code with perltidy
paultcochrane authored
17 our $script = q{Configure.pl};
e690620 @allisonrandal [config] Make the configuration process smarter about reading the ver…
allisonrandal authored
18 our $parrot_version = Parrot::BuildUtil::parrot_version("$Bin/../../");
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
19
20 sub print_version {
21 print "Parrot Version $parrot_version Configure 2.0\n";
22 return 1;
23 }
24
25 sub print_help {
26 print <<"EOT";
27 $script - Parrot Configure 2.0
28
29 General Options:
30
31 --help Show this text
32 --version Show version information
33 --verbose Output extra information
34 --verbose=2 Output every setting change
780cbd7 @jkeenan Merge newsc branch into trunk, implementing Configuration-File interf…
jkeenan authored
35 --verbose-step Comma-delimited string of configuration steps
36 for which output will be verbose
a5e7643 @jkeenan Committing patch submitted for RT 45523 and 45525. Add --fatal and
jkeenan authored
37 --fatal Failure of any configuration step will cause
38 Configure.pl to halt
780cbd7 @jkeenan Merge newsc branch into trunk, implementing Configuration-File interf…
jkeenan authored
39 --fatal-step Comma-delimited string of configuration steps
a5e7643 @jkeenan Committing patch submitted for RT 45523 and 45525. Add --fatal and
jkeenan authored
40 which upon failure cause Configure.pl to halt
ad4cad7 @jkeenan Applying patch submitted in
jkeenan authored
41 --silent Don't be verbose, interactive or fatal
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
42 --nomanicheck Don't check the MANIFEST
43
44 --ask Have Configure ask for commonly-changed info
45 --test=configure Run tests of configuration tools before configuring
46 --test=build Run tests of build tools after configuring but before
47 calling 'make'
48 --test Run configuration tools tests, configure, then run
49 build tools tests
50
51
52 Compile Options:
53
781dbba @rurban [build] turn off --debugging by default, accept --debugging arg
rurban authored
54 --debugging=-g3 Enable and set cc debugging flag, default -g
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
55 --inline Compiler supports inline
56 --optimize Optimized compile
57 --optimize=flags Add given optimizer flags
9693121 @rurban [build] --{en,dis}able-feature, --with{,out}-library [GH #1101]
rurban authored
58 --{en,dis}able-shared How to link libparrot
8fc1305 @rurban [build] --{en,dis}able-static
rurban authored
59 --{en,dis}able-static How to link libparrot
9693121 @rurban [build] --{en,dis}able-feature, --with{,out}-library [GH #1101]
rurban authored
60 --{en,dis}able-rpath If without rpath (user must set LD_LIBRARY_PATH)
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
61 --m=32 Build 32bit executable on 64-bit architecture.
62 --profile Turn on profiled compile (gcc only for now)
63 --cage [CAGE] compile includes many additional warnings
64
65 --cc=(compiler) Use the given compiler
66 --ccflags=(flags) Use the given compiler flags
67 --ccwarn=(flags) Use the given compiler warning flags
68 --libs=(libs) Use the given libraries
69 --link=(linker) Use the given linker
70 --linkflags=(flags) Use the given linker flags
d716b34 @plobsing add --ar and --arflags options to Configure.pl
plobsing authored
71 --ar=(archiver) Use the given librarian for static libraries
72 --arflags=(flags) Use the given flags for static libraries
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
73 --ld=(linker) Use the given loader for shared libraries
74 --ldflags=(flags) Use the given loader flags for shared libraries
75 --lex=(lexer) Use the given lexical analyzer generator
76 --make=(make tool) Use the given make utility
77 --yacc=(parser) Use the given parser generator
3b2baf4 @coke Remove trailing whitespace
coke authored
78
a4c21ab @jkeenan Applying patch supplied by bsdz in https://trac.parrot.org/parrot/tic…
jkeenan authored
79 --no-line-directives Disable creation of C #line directives
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
80 --define=inet_aton Quick hack to use inet_aton instead of inet_pton
923e016 @rurban --gc=inf: fix t/op/gc.t and mention gms in Configure --help
rurban authored
81 --gc=(type) Which implementation of GC to use. One of gms, ms, ms2 or inf.
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
82
83 Parrot Options:
84
85 --intval=(type) Use the given type for INTVAL
86 --floatval=(type) Use the given type for FLOATVAL
87 --opcode=(type) Use the given type for opcodes
88 --ops=(files) Use the given ops files
89
65a44c0 @rurban [doc] --without-threads Build parrot without OS thread support
rurban authored
90 --without-threads Build parrot without OS thread support
313b730 @plobsing add --without-core-nci-thunks configure option to build without core …
plobsing authored
91 --without-core-nci-thunks
92 Build parrot without core-required
93 statically compiled NCI call frames
94 (useful for testing dynamic frame builders)
3c43d63 @plobsing add --without-extra-nci-thunks option to Configure to allow building …
plobsing authored
95 --without-extra-nci-thunks
96 Build parrot without unnecessary
97 statically compiled NCI call frames
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
98
9693121 @rurban [build] --{en,dis}able-feature, --with{,out}-library [GH #1101]
rurban authored
99 External Library Options (use --with- or --without-):
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
100
a115d7c update "perl Configure.pl --help" output
Gerd Pokorra authored
101 --with-llvm Link to LLVM if it is available
9064d3e @NotFound add missing --without-... options to Configure --help output
NotFound authored
102 --without-gettext Build parrot without gettext support
103 --without-gmp Build parrot without GMP support
c64fa8d @plobsing split NCI signature parser out from nci.pmc
plobsing authored
104 --without-libffi Build parrot without libffi support
ee33fa5 @Infinoid Apply (slightly modified) OpenGL patch from Geoff Broadwell in RT #52…
Infinoid authored
105 --without-opengl Build parrot without OpenGL support (GL/GLU/GLUT)
c14165a Merge remote branch 'trunk' into gsoc_nci
John Harrison authored
106 --without-readline Build parrot without readline support
9064d3e @NotFound add missing --without-... options to Configure --help output
NotFound authored
107 --without-pcre Build parrot without pcre support
fc6f568 @fperrad [zlib] add a configure step for zlib, and a skeleton of GzipHandle PMC
fperrad authored
108 --without-zlib Build parrot without zlib support
d79c782 @jkeenan Applying patch submitted in
jkeenan authored
109
110 ICU Options:
111
112 For using a system ICU, these options can be used:
113
114 --icu-config=/path/to/icu-config
115 Location of the script used for ICU autodetection.
116 You just need to specify this option if icu-config
117 is not in your PATH.
118
119 --icu-config=none Can be used to disable the autodetection feature.
120 It will also be disabled if you specify any other
121 of the following ICU options.
122
123 If you do not have a full ICU installation:
124
125 --without-icu Build parrot without ICU support
126 --icuheaders=(path) Location of ICU headers without /unicode
127 --icushared=(flags) Full linker command to create shared libraries
128
129 Other Options (may not be implemented):
130
131 --maintainer Create imcc's parser and lexer files. Needs a working
132 parser and lexer.
133
134 Install Options:
135
136 --prefix=PREFIX Install architecture-independent files in PREFIX
137 [/usr/local]
138 --exec-prefix=EPREFIX Install architecture-dependent files in EPREFIX
139 [PREFIX]
140
141 By default, `make install' will install all the files in
142 `/usr/local/bin', `/usr/local/lib' etc. You can specify
143 an installation prefix other than `/usr/local' using `--prefix',
144 for instance `--prefix=\$HOME'.
145
146 For better control, use the options below.
147
148 Fine tuning of the installation directories:
149 --bindir=DIR user executables [EPREFIX/bin]
150 --sbindir=DIR system admin executables [EPREFIX/sbin]
151 --libexecdir=DIR program executables [EPREFIX/libexec]
152 --datadir=DIR read-only architecture-independent data [PREFIX/share]
153 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
154 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
155 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
156 --libdir=DIR object code libraries [EPREFIX/lib]
157 --includedir=DIR C header files [PREFIX/include]
158 --oldincludedir=DIR C header files for non-gcc [/usr/include]
159 --infodir=DIR info documentation [PREFIX/info]
160 --mandir=DIR man documentation [PREFIX/man]
161
162 EOT
163 return 1;
164 }
165
166 1;
5748fa4 @paultcochrane [lib] Added Parrot coda.
paultcochrane authored
167
780cbd7 @jkeenan Merge newsc branch into trunk, implementing Configuration-File interf…
jkeenan authored
168 #################### DOCUMENTATION ####################
169
170 =head1 NAME
171
172 Parrot::Configure::Options::Conf - Functionality shared by all Parrot
173 configuration options processing modes
174
175 =head1 SYNOPSIS
176
177 use Parrot::Configure::Options::Conf qw(
178 $script
179 $parrot_version
180 print_help
181 print_version
182 );
183
184 =head1 DESCRIPTION
185
186 Parrot::Configure::Options::Conf exports on demand certain variables and
187 subroutines used in other packages which implement different modes of
188 configuration options processing. Currently, these packages are:
189
190 =over 4
191
192 =item * Parrot::Configure:Options::Conf::CLI
193
194 ... for the command-line interface to F<Configure.pl>; and
195
196 =item * Parrot::Configure::Options::Conf::File
197
198 ... for the configuration-file interface to that same program.
199
200 =back
201
202 =head1 EXPORTED VARIABLES
203
204 Three variables are exported on demand.
205
206 =head2 C<$script>
207
208 Defaults to string 'Configure.pl', but may be overridden for testing purposes.
209
210 =head2 C<$parrot_version>
211
212 String which is return value of C<Parrot::BuildUtil::parrot_version()>; may be
213 overridden for testing purposes.
214
215 =head1 EXPORTED SUBROUTINES
216
217 Two subroutines are exported on demand.
218
219 =head2 C<print_help()>
220
221 Help message printed when C<perl Configure.pl --help> is called. Takes no
222 arguments; prints to STDOUT; implicitly returns true value upon success.
223
224 =head2 C<print_version()>
225
226 Version number printed when C<perl Configure.pl --version> is called. Takes
227 no arguments; prints to STDOUT; implicitly returns true value upon success.
228
229 =head1 NOTES
230
231 The functionality in this package originally appeared in F<Configure.pl>. It
232 was transferred here and refactored by James E Keenan.
233
234 =head1 SEE ALSO
235
236 F<Configure.pl>. Parrot::Configure::Options::Conf.
237 Parrot::Configure::Options::Reconf. Parrot::Configure::Options::Conf::CLI.
238 Parrot::Configure::Options::Conf::File.
239
240 =cut
241
5748fa4 @paultcochrane [lib] Added Parrot coda.
paultcochrane authored
242 # Local Variables:
243 # mode: cperl
244 # cperl-indent-level: 4
245 # fill-column: 100
246 # End:
247 # vim: expandtab shiftwidth=4:
Something went wrong with that request. Please try again.