Parrot is configured by running the Configure.pl script. This is essentially just a wrapper around Parrot::Configure. The steps are listed below in the order in which they are performed.

Configure.pl
Parrot's configuration script.

Initialization Steps

config/init/defaults.pm
Configuration Defaults.

config/init/headers.pm
Nongenerated Headers.

config/init/hints.pm
Platform Hints.

config/init/install.pm
autoconf compatabile installation paths.

config/init/manifest.pm
MANIFEST Check.

config/init/optimize.pm
Optimization.

User Dialogue Steps

config/inter/charset.pm
charset files.

config/inter/encoding.pm
encoding files.

config/inter/lex.pm
lexical analyzer generator.

config/inter/libparrot.pm
Determines build information for libparrot.

config/inter/make.pm
make utility.

config/inter/progs.pm
C Compiler and Linker.

config/inter/shlibs.pm
Flags for shared libraries.

config/inter/types.pm
Sizes for Parrot Types.

config/inter/yacc.pm
parser generator.

System Test Steps

config/auto/alignptrs.pm
pointer alignment.

config/auto/arch.pm
Determine CPU architecture and operating system.

config/auto/attributes.pm
Attributes detection.

config/auto/backtrace.pm
GNU C Compiler.

config/auto/byteorder.pm
Native Byteorder.

config/auto/cgoto.pm
Computed C.

config/auto/cpu.pm
CPU specific Files.

config/auto/crypto.pm
Test for crypto library (libssl).

config/auto/ctags.pm
Check whether (exuberant) ctags works.

config/auto/env.pm
System Environment.

config/auto/fink.pm
Determine Fink location on Darwin.

config/auto/format.pm
Sprintf Formats.

config/auto/funcptr.pm
Function Pointer Casts.

config/auto/gc.pm
Garbage Collection.

config/auto/gcc.pm
GNU C Compiler.

config/auto/gdbm.pm
Test for GNU dbm (gdbm) library.

config/auto/gettext.pm
Test for GNU native language support (gettext) library.

config/auto/glibc.pm
find GNU libc.

config/auto/gmp.pm
Test for GNU MP (GMP) Math library.

config/auto/headers.pm
C headers.

config/auto/icu.pm
Detect International Components for Unicode (ICU).

config/auto/inline.pm
Inline Compiler Support.

config/auto/isreg.pm
S_ISREG.

config/auto/jit.pm
JIT Capability.

config/auto/macports.pm
Determine Macports location on Darwin.

config/auto/memalign.pm
Memory Alignment.

config/auto/msvc.pm
Microsoft Visual C++ Compiler.

config/auto/neg_0.pm
can print negative zero.

config/auto/opengl.pm
Probe for OpenGL, GLU, and GLUT libraries.

config/auto/ops.pm
Ops Files.

config/auto/pcre.pm
Probe for pcre library.

config/auto/perldoc.pm
Check whether perldoc works.

config/auto/pmc.pm
PMC Files.

config/auto/pod2man.pm
Check whether pod2man works.

config/auto/readline.pm
Probe for readline library.

config/auto/revision.pm
Parrot's configure revision.

config/auto/signal.pm
Signals.

config/auto/sizes.pm
Various Sizes.

config/auto/snprintf.pm
Test for snprintf.

config/auto/socklen_t.pm
Is there a socklen_t.

config/auto/va_ptr.pm
va_list to va_ptr conversion test.

config/auto/warnings.pm
Warning flags detection.

config/auto/cpu/i386/auto.pm
config/auto/cpu/i386/auto.pm.

config/auto/cpu/ppc/auto.pm
config/auto/cpu/i386/auto.pm.

config/auto/cpu/sun4/auto.pm
config/auto/cpu/sun4/auto.pm.

config/auto/cpu/x86_64/auto.pm
config/auto/cpu/x86_64/auto.pm.

File Creation Steps

config/gen/call_list.pm
Concatenate call_list.txt (NCI signatures) fragments.

config/gen/config_h.pm
Configuration Header.

config/gen/config_pm.pm
Record configuration data.

config/gen/core_pmcs.pm
Core PMC List.

config/gen/crypto.pm
Digest PMC Files.

config/gen/languages.pm
Build files for language implementations.

config/gen/makefiles.pm
Build various Makefiles.

config/gen/opengl.pm
OpenGL binding generated files.

config/gen/parrot_include.pm
Runtime Includes.

config/gen/platform.pm
Platform Files.

Documentation

docs/configuration.pod
How to add new configuration steps.

Library

runtime/parrot/library/config.pir
PASM/IMC access to Parrot configuration data.