There are a number of requirements for building Parrot from source, and a number of optional libraries and components that can be used to extend its capabilities. None of these requirements or optional components are necessary unless you are building Parrot from the source code.
- C Compiler
Parrot can be built with a number of C compilers. Parrot is written using the C89 standard, and the Parrot project officially supports the most recent C89 compiler on major systems, including the most recent versions of Microsoft C Compiler and the GNU Compiler Collection (GCC).
Make is a program to manage and automate the build process. Unix-based systems will typically have access to the
makecommand as part of the normal development tools. Windows systems can get the
nmakeutility to perform the same task.
Git is the source control system that is used by the Parrot project. You need git to clone the latest version of the source code. You can get git at http://git-scm.com, or through one of the common packaging systems.
- bison and flex
Bison and Flex are used to create the lexical analyzer and parser components for the PIR compiler IMCC. These are not necessary most of the time unless you are planning to hack on IMCC directly.
ICU is a library for handling and manipulating Unicode text strings. Without ICU libraries installed, you wont be able to use Unicode with your built Parrot.
GMP is a mathematics library for manipulating arbitrary precision and arbitrary size numbers. GMP is an optional library used by the BigInt and BigNum PMCs.
The readline library allows some advanced behaviors on the command line such as command history.
PCRE is a library that provides access to the Perl 5 regular expression syntax. In order to use these regular expressions, you will want to install PCRE. To do that on Linux you use the command:
sudo apt-get install libpcre3-dev
GLUT is an interface to the OpenGL API. It enables programs running on Parrot to have access to 3D graphics. To get GLUT on Linux systems you can use the command:
sudo apt-get install libglut3-dev
In addition to these build requirements listed above, there are a number of Perl libraries needed to enable the full set of tests and testing facilities, and to generate all the necessary documentation.
To get the Perl packages for Parrot, you can use the commands:
sudo cpan Test::Base Test::Pod Test::Pod::Coverage Pod::Spell sudo cpan File::HomeDir File::Which Readonly Regexp::Parser sudo cpan Perl::Critic Perl::Critic::Bangs Test::Perl::Critic