NAME ^ - Parrot's Configuration Script


    % perl [options]


This is Parrot's configuration program. It should be run to create the necessary system-specific files before building Parrot.

Command-line Options ^

General Options


Prints out a description of the options and exits.


Prints out the version number of and exits.


Tells to output extra information about the configuration data it is setting.


Tells to output information about i<every> setting added or changed.


Run --verbose=2 for step number N or matching description.


Tells to halt completely if any configuration step fails.


Tells to halt completely if any configuration step in comma-delimited string individually fails.


Tells not to run the MANIFEST check.


Sets the location where parrot will be installed.

--languages="list of languages"

Specify a list of languages to process (space separated.) Used in combination with --step=gen::languages to regenerate makefiles.


This turns on the user prompts.


Run certain tests along with


Run tests found in t/configure/ before beginning configuration. These tests demonstrate that Parrot's configuration tools will work properly once configuration has begun.


Run tests found in t/postconfigure/, t/tools/pmc2cutils/, t/tools/ops2cutils/ and t/tools/ops2pmutils/ after configuration has completed. These tests demonstrate (a) that certain of Parrot's configuration tools are working properly post-configuration; and (b) that certain of Parrot's build tools will work properly once you call make.


Run the tests described in --test=configure, conduct configuration, then run the tests described in --test=build.

Compile Options


Debugging is turned on by default. Use this to disable it.


Link parrot dynamically.


Create a 32-bit executable on 64-architectures like x86_64. This option appends -m32 to compiler and linker programs and does s/lib64/lib/g on link flags.

This option is experimental. See config/init/ for more.


Turn on profiled compile (gcc only for now)


[CAGE] compile includes many additional warnings


Add perl5's $Config{optimize} to the compiler flags.


Add flags to the compiler flags.


Tell Configure that the compiler supports inline.


Specify which compiler to use.


Use the given compiler flags.


Use the given compiler warning flags.


Specify which C++ compiler to use (for ICU).


Use the given libraries.


Specify which linker to use.


Use the given linker flags


Specify which loader to use for shared libraries.


Use the given loader flags for shared libraries


Specify which lexer to use.


Specify which parser to use.


Generate "#define PARROT_DEF_VAL1 1" ... entries in has_header.h. Currently needed to use inet_aton for systems that lack inet_pton:


Parrot Options


Use the given type for INTVAL.


Use the given type for FLOATVAL.


Use the given type for opcodes.


Use the given ops files.


Use the given PMC files.


Don't build cgoto core. This is recommended when you are short of memory.


Use JIT system.


Use JIT to emit a native executable.


Determine the type of garbage collection. The value for type should be one of: gc, libc, malloc or malloc-trace. The default is gc.

International Components For Unicode (ICU) Options


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 without ICU.

Note: If you specify another ICU option than --icu-config, the autodetection functionality will be disabled.


Linker command to link against ICU library.


   --icushared='-L /opt/openoffice/program -licudata -licuuc'
(The libs in openoffice are actually version 2.2 and do not work)


Location of ICU header files without the /unicode suffix.



Other Options


Use this option if you want imcc's parser and lexer files to be generated. Needs a working parser and lexer.


Build parrot assuming only pure ANSI C is available.


config/init/, lib/Parrot/Configure/, lib/Parrot/Configure/, docs/configuration.pod