Configure.pl - Parrot's Configuration Script
    % perl Configure.pl [options]
This is Parrot's configuration program. It should be run to create the necessary system-specific files before building Parrot.
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=2for step numberNor matching description.
- --fatal
- Tells Configure.pl to halt completely if any configuration step fails.
- --fatal-step={init::alpha,inter::beta,auto::gamma}
- Tells Configure.pl to halt completely if any configuration step in comma-delimited string individually fails.
- --nomanicheck
- Tells Configure.pl not to run the MANIFEST check.
- --prefix
- 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::languagesto regenerate makefiles.
- --ask
- This turns on the user prompts.
- --test
- Run certain tests along with Configure.pl:
- --test=configure
- Run tests found in t/configure/ before beginning configuration. These tests demonstrate that Parrot's configuration tools will work properly once configuration has begun.
- --test=build
- 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.
- --test
- Run the tests described in --test=configure, conduct configuration, then run the tests described in--test=build.
Compile Options
- --debugging=0
- Debugging is turned on by default. Use this to disable it.
- --parrot_is_shared
- Link parrot dynamically.
- --m=32
- 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/defaults.pm for more.
- --profile
- Turn on profiled compile (gcc only for now)
- --cage
- [CAGE] compile includes many additional warnings
- --optimize
- Add perl5's $Config{optimize} to the compiler flags.
- --optimize=flags
- Add flagsto 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 typeshould be one of:gc,libc,mallocormalloc-trace. The default isgc.
International Components For Unicode (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 without ICU.
- Note: If you specify another ICU option than --icu-config, the autodetection functionality will be disabled.
- --icushared=(linkeroption)
- Linker command to link against ICU library.
- 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.
- E.g.
- --icuheaders='/home/lt/icu/'
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.
config/init/data.pl, lib/Parrot/Configure/RunSteps.pm, lib/Parrot/Configure/Step.pm, docs/configuration.pod