Parrot Virtual Machine
=pod
=head1 NAME
README.pod - Parrot Virtual Machine
=head1 DESCRIPTION
Parrot is a virtual machine designed to efficiently compile and execute
bytecode for dynamic languages.
=head1 IMPORTANT NOTICE
The Parrot VM is no longer being actively developed.
The role of Parrot as VM for Perl 6 (now “Raku”) has been filled by MoarVM, supporting the Rakudo compiler.
https://raku.org/
https://rakudo.org/
https://moarvm.org/
=head1 LICENSE
This code is distributed under the terms of the Artistic License 2.0.
For more details, see the full text of the license in the file ‘LICENSE’.
=head1 PREREQUISITES
You need a C compiler, a linker, and a ‘make’ program.
If you plan to link Parrot with the ICU library, you must download and install
it I
http://site.icu-project.org/download.
You will also need Perl 5.8.4 or newer and Storable 2.12 or newer in order to
run various configure and build scripts.
For most of the platforms we support, Parrot should build out-of-the-box.
‘docs/parrot.pod’ lists the core platforms, and ‘PLATFORMS’ provides reports
on the platforms on which Parrot has been built and tested.
=head1 HOW TO GET PARROT FROM GITHUB
=head2 I. Install Git.
Linux:
The method depends on your distribution. To install you should execute (as
root or sudo
On Ubuntu/Debian (apt-based):
apt-get install git-core
On Red Hat, Fedora (rpm-based):
yum install git
on Gentoo (portage):
emerge -av dev-vcs/git
Windows:
There are 2 Git ports on Windows:
msysgit http://code.google.com/p/msysgit/downloads/list
TortoiseGit http://code.google.com/p/tortoisegit/downloads/list
Macintosh OS X:
An Internet search will locate a variety of git installers for Mac OS X, for
example,
http://help.github.com/mac-git-installation/
=head2 II. Obtaining Parrot from github.com
To obtain a copy of the Parrot Git repository:
git clone git://github.com/parrot/parrot.git
This will checkout the master branch by default. To create a local branch
which tracks the branch “some_branch”:
git checkout -b --track some_branch origin/some_branch
For reference, --track is now redundant as it is now the default behavior.
All the above URLs are read-only. If you are a Parrot core developer, then
use the read-write URL:
git clone [email protected]:parrot/parrot.git
You can view the list of branches at http://github.com/parrot/parrot
=head1 INSTRUCTIONS
For now, unpack your Parrot tarball, (if you’re reading this, you’ve probably
already done that) and type
perl Configure.pl
OR
perl Configure.pl --optimize
to run the Configure script. For packagers or if you want your Parrot to run
about 2x faster, use --optimize. If you want to improve your chances in debugging
programs and stacktraces, omit --optimize and add --debugging instead.
The ‘Configure.pl’ script extracts configuration information from the running
perl5 program. You need to explicitly tell ‘Configure.pl’ which compiler
and linker to use. For example:
perl Configure.pl --cc=cc --link=$CC --ld=$CC
I
for more details.
For systems like HPUX that don’t have inet_pton please run
perl Configure.pl --define=inet_aton
Running ‘Configure.pl’ will generate a ‘config.h’ header, a ‘Parrot::Config’
module, platform files, and many Makefiles.
The file ‘myconfig’ has an overview of configure settings.
Next, run ‘make’ or ‘gmake’. (‘Configure.pl’ will tell you which version of
‘make’ it recommends for your system.)
If you are building the ICU library (this is the default on most systems), you
need to use ‘GNU make’ instead (or something compatible with it).
You can test Parrot by running ‘make test’. You can run the tests in parallel
with ‘make TEST_JOBS=3 test’.
You can run the full test suite with
make fulltest
NOTE: PLATFORMS contains notes about whether test failures are expected on
your system.
You can install Parrot with,
make install
By default, this installs in ‘/usr/local’, with the Parrot executable in
‘/usr/local/bin’. If you want to install Parrot into another location use the
following:
perl Configure.pl --prefix=/dir/to/install/
make install
But please note, the dynamic libs will not be found for non-standard locations
unless you set the environment variable ‘LD_LIBRARY_PATH’ or something similar.
For where to go from here, I
F<docs/intro.pod>. If you experience problems, please I
“How To Submit A Bug Report” in F<docs/submissions.pod>. These documents are
in POD format, and you can view them with the command,
perldoc -F docs/intro.pod
In addition, you may obtain an html-ized version of our docs – which, in
some respects, are more extensive than our POD documents – with the following
command:
cpan JSON # Needed by the next command
make html
You may then view a local copy of the html documentation by navigating your
favorite browser to the index page of the ‘docs/html/’ directory, I<i.e.,>
‘docs/html/index.html’.
=head1 CHANGES
For documentation on the user-visible changes between this and previous
versions of Parrot, I
=head1 MAILING LISTS
The Parrot user mailing list is ‘[email protected]’. You may
subscribe to the mailing list by filling out the form at
http://lists.parrot.org/mailman/listinfo/parrot-users. There is an archive
of the mailing list at http://lists.parrot.org/pipermail/parrot-users/.
For development discussions, I
F<docs/gettingstarted.pod>.
=head1 FEEDBACK, PATCHES, etc.
For more information on how to report bugs and to submit patches, I
F<docs/submissions.pod>.
=head1 WEB SITES
For more information on Parrot, I
http://www.parrot.org/
http://docs.parrot.org/
http://parrot.github.com/
Have fun,
The Parrot Team.
=head1 COPYRIGHT
Copyright © 2001-2014, Parrot Foundation.
=cut