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 number N 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 or malloc-trace. The default is gc.

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:

--icushared=(linkeroption)

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