Skip to content
This repository

Parrot Virtual Machine

tag: RELEASE_0_1_2
README
This is Parrot, version 0.1.2
-----------------------------

Parrot is Copyright (C) 2001-2005 The Perl Foundation. All Rights Reserved.

LICENSE INFORMATION
-------------------

This code is distributed under the same license as Perl 5; you can
redistribute it and/or modify it under the terms of either:

    a) the GNU General Public License as found in the directory "LICENSES"

    b) the "Artistic License" which can be found in the directory "LICENSES"

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either
the GNU General Public License or the Artistic License for more details.

PREREQUISITES
-------------

You'll need a C compiler, a linker and a make program of course.  If you
will be building the ICU library as part of parrot (this is the
default), you will also need a C++ compiler and GNU make installed in
your PATH as either 'gmake', 'make', or 'gnumake'.

You'll also need Perl 5.6 or above to run various configure and
build scripts.

For most of the platforms that we are supporting initially,
Parrot should build out of the box.
The list of targetted platforms can be found in PLATFORMS.

The current configure system is primitive, as it's only
a temporary solution. It will be happy with most any answers
you decide to feed it. Garbage In, Garbage Out.

INSTRUCTIONS
------------

For now, unpack your Parrot tarball, (if you're reading this, you've
probably already done that) and type

    perl Configure.pl

to run the Configure script. The Configure.pl script extracts
configuration from the running perl5 program.  Unfortunately, the perl5
configuration is not set up to compile and link c++ programs, so you
may need to explicitly tell Configure.pl which compiler and linker to
use.  For example, to compile C files with 'cc', C++ files with
'CC', and link everything together with 'CC', you would type

    perl Configure.pl --cc=cc --cxx=CC --link=CC

See "perl Configure.pl --help" for more options.

For systems like HPUX that don't have inet_pton please run

    perl Configure.pl --define=inet_aton

If you want to install Parrot into a non-standard location use

    perl Configure.pl --prefix=/Users/foo/parrot-0.1.1

Running Configure.pl will generate a config.h header, a Parrot::Config
module, platform files and some Makefiles.

The file "myconfig" has an overview of configure settings.

Next, run make:

For UNIX like systems that come with its own make, 'gmake' should be
used.  (On most Linux systems, this is the default make.)

On windows systems, 'nmake' is used

On other systems, just try 'make'

Now, the interpreter should build.  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         (or nmake test or gmake test)

You can run the full test suite with

    make fulltest

Note: due to string code changes some of the string tests fail with
"make testr", which is part of "make fulltest".

On some systems you can install parrot:

    make install

This installs a bunch of files in /usr/local/parrot-$VERSION. The parrot
executable is in /usr/local/parrot-$VERSION/bin. Please note that this
feature is currently experimental. You have to link or copy the executable
somewhere into your path. Finally no dynamic extensions from
runtime/parrot/dynext are installed, albeit dynamic extensions are searched
for in the installed directory structure.

Look at docs/parrot.pod and docs/intro.pod for where to go from here.
If you have any problems, see the section "Reporting Problems" in
docs/intro.pod. These documents are in POD format. You can view these files
with:

    perldoc -F docs/intro.pod

NOTES
-----

On some older computers with little RAM, the computed-goto dispatch core
(ops/core_ops_cg.c) may take a while to compile or may fail to compile at all.
You can pass a flag to Configure.pl (--cgoto=0) to disable the computed-goto
core, at a slight cost in runtime speed.

CHANGES
-------

For documentation on the user-visible changes between this version and
previous versions, please see NEWS. The full changelog is (or should be)
available as ChangeLog.

CVS history can be browsed online at
http://cvs.perl.org/viewcvs/cvs-public/parrot/ at
http://bugs6.perl.org/cgi-bin/cvsmonitor/cvsmonitor.pl?cmd=viewBrowseModule&module=perlpublic.parrot .

MAILING LISTS
-------------

The mailing list for parrot is perl6-internals.  Subscribe by sending mail to
perl6-internals-subscribe@perl.org. It is archived at
http://www.nntp.perl.org/group/perl.perl6.internals
and available via NNTP at nntp://nntp.perl.org/perl.perl6.internals

You can also read the list via Google Groups at
http://groups-beta.google.com/group/perl.perl6.internals

WEB SITES
---------

The following web sites have all the Parrot information you need:
    http://www.parrotcode.org/
    http://dev.perl.org/perl6/
    http://cvs.perl.org/
    http://bugs6.perl.org/
    http://pugscode.org/


Have fun,
   The Parrot Team.
Something went wrong with that request. Please try again.