NAME
Configure.pl - Parrot's Configuration Script
SYNOPSIS
% perl Configure.pl [options]
DESCRIPTION
This is Parrot's configuration script. It should be run to create the necessary system-specific files before building Parrot.
Command-line Options
General Options
--help
-
Prints out a description of the options and exits.
--version
-
Prints out the version number of Configure.pl and exits.
--verbose
-
Tells Configure.pl to output extra information about the configuration data it is setting.
--verbose=2
-
Tells Configure.pl to output information about i<every> setting added or changed.
--verbose-step={N|regex}
-
Run
--verbose=2
for step numberN
or matching description. --nomanicheck
-
Tells Configure.pl not to run the MANIFEST check.
--prefix
-
Sets the location where parrot will be installed.
--ask
-
This turns on the user prompts.
Compile Options
You can add and remove option values with :rem{<opt>}
and :add{<opt>}
. For example:
perl Configure.pl --ccflags=":rem{-g} :add{-O2}"
--debugging=0
-
Debugging is turned on by default. Use this to disable it.
--profile
-
Turn on profiled compile (gcc only for now)
--optimize
-
Add perl5's $Config{optimize} to the compiler flags.
--optimize=flags
-
Add
flags
to the compiler flags. --inline
-
Tell Configure that the compiler supports
inline
. --cc=(compiler)
-
Specify which compiler to use.
--ccflags=(flags)
-
Use the given compiler flags.
--ccwarn=(flags)
-
Use the given compiler warning flags.
--cxx=(compiler)
-
Specify which C++ compiler to use (for ICU).
--libs=(libs)
-
Use the given libraries.
--link=(linker)
-
Specify which linker to use.
--linkflags=(flags)
-
Use the given linker flags
--ld=(linker)
-
Specify which loader to use for shared libraries.
--ldflags=(flags)
-
Use the given loader flags for shared libraries
--lex=(lexer)
-
Specify which lexer to use.
--yacc=(parser)
-
Specify which parser to use.
--define=val1[,val2]
-
Generate "#define PARROT_DEF_VAL1 1" ... entries in has_header.h. Currently needed to use inet_aton for systems that lack inet_pton:
--define=inet_aton
Parrot Options
--intval=(type)
-
Use the given type for
INTVAL
. --floatval=(type)
-
Use the given type for
FLOATVAL
. --opcode=(type)
-
Use the given type for opcodes.
--ops=(files)
-
Use the given ops files.
--pmc=(files)
-
Use the given PMC files.
--cgoto=0
-
Don't build cgoto core. This is recommended when you are short of memory.
--jitcapable
-
Use JIT system.
--execcapable
-
Use JIT to emit a native executable.
--gc=(type)
-
Determine the type of garbage collection. The value for
type
should be one of:gc
,libc
,malloc
ormalloc-trace
. The default isgc
.
ICU Options
--icu-config=/path/to/icu-config
-
Use the specified icu-config script to determine the necessary ICU options.
Use --icu-config=none to disable the autodetect feature. Parrot will then be build with its own ICU.
Note: If you specify another ICU option than --icu-config, the autodetection functionality will be disabled.
--icuplatform=(platform)
-
Use the given platform name to pass to ICU's runConfigureICU. (See icu/source/runConfigureICU for the list of available "platform" names, which specify both operating system and compiler.)
--icuconfigureargs=(arguments)
-
Pass the given arguments to ICU's configuration script, instead of the default.
--icudatadir=(path)
-
Use the given directory to locate ICU's data file(s) at runtime
If you have an installed unicode package, you can use these two options instead:
-
Linker command to link against ICU library version 2.6.
E.g.
--icushared='-L /opt/openoffice/program -licudata -licuuc'
(The libs in openoffice are actually version 2.2 and do not work)
--icuheaders=(header_dir)
-
Location of ICU header files without the /unicode suffix. The header files must match your platform, especially platform.h must be present.
E.g.
--icuheaders='/home/lt/icu/'
You might also need '--nomanicheck'.
Other Options
--maintainer
-
Use this option if you want imcc's parser and lexer files to be generated. Needs a working parser and lexer.
--miniparrot
-
Build parrot assuming only pure ANSI C is available.
--expnetwork
-
Enable experimental networking. This is an unused option and should probably be removed.
SEE ALSO
config/init/data.pl, lib/Parrot/Configure/RunSteps.pm, lib/Parrot/Configure/Step.pm, docs/configuration.pod