The Parrot Virtual Machine
Switch branches/tags
auto_attrs auto_format_no_Config auto_frames_refactor auto_libjit_pcc_reapply auto_libjit autoprops avl_string_cache block_exit_handlers boehm_gc boehm_gc_2 compact_pool_revamp compact_strings configtests context_attrs context_pmc context_pmc2 context_pmc3 context_unify context_unify2 context_unify3 convert_OSNAME cs_csr_cleanup cs_csr_merge debugger_assign dectx depends detect_llvm dynext_nci dynop_docs exceptions_refactor find_method_object fix_hll_mmd fix_icc_failures gc-refactor gc_encapsulate_part1 gc_encapsulate_part2 gc_encapsulate gsoc_nci gsoc_pdd09 immutable_strings_part1 immutable_strings_part2 include_dynpmc_makefile io_cleanups isafast kill_array_pmc kill_jit kill_parrot_cont lazyrakudo libjit_framebuilder2 library_files macro_local master moving_core_to_dynpmcs nativecall_pir_build no_pmc_install no_running_make_test noalignptrs nsentry nsentry2 one_make op_pmcs opengl_dynamic_nci ops_pct orderedhash_revamp parrot_call_dep parrotobj pcc_arg_unify pcc_arg_unify_2_0 pcc_hackathon_6Mar10 pcc_megrecells pcc_optimize_sig pcc_reapply pcc_reorder_results pcc_rewiring pct-rx pge_no_namespace_methods pirc_config platform_determine_earlier pluggable_runcore pmc_freeze_cleanup pmc_freeze_with_pmcs pmc_func_cleanup pmc_headers_move pmc_i_ops pmc_integer pmc_pct pmc_sans_unionval profiling_testing release_2_1_1_RC remove_deprecated_vtable_entries remove_pic rename_hash rep6object rm_cflags rm_dynoplibs_make rm_dynpmc_make shallow_clone stringnull strings sys_mem_reduce test_more trunk tt362 tt389_fix tt473_remove_memcpy_aligned tt509_install_files tt795_kill_parrot_sub_structure tt936_install_pct tt971_current_context_functions tt1015 tt_1020 tt1393_retcon tt_1449 tt1477 tt1516_builddir_option upstream vc9 vtable_massacre
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
compilers
config
docs
editor
examples
ext
include
lib
ports
runtime/parrot
src
t
throw_away
tools
.gitignore
CREDITS
ChangeLog
Configure.pl
DEPRECATED.pod
DEVELOPING
DONORS.pod
LICENSE
MANIFEST
MANIFEST.SKIP
MANIFEST.generated
NEWS
PBC_COMPAT
PLATFORMS
README
README_cygwin.pod
README_win32.pod
RESPONSIBLE_PARTIES
TODO
VERSION
parrotbug
test.ll
test.o.ll
test.pasm
test.pir
test.s

README

This is Parrot, version 2.5.0
------------------------------

Parrot is Copyright (C) 2001-2010, Parrot Foundation.

$Id$

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

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.

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

You need a C compiler, a linker, and a make program of course.

If you will be linking with the ICU library you have to download and install it
before configuring Parrot. Get it from http://site.icu-project.org/download

You also need Perl 5.8.4 or newer, and Storable 2.12 or newer
for running various configure and build scripts.

For most of the platforms that we are supporting initially, Parrot should build
out of the box. docs/parrot.pod lists the core platforms. PLATFORMS provides
reports on the platforms on which Parrot has been built and tested.

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 --ld=CC

See "perl Configure.pl --help" for more options and docs/configuration.pod
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. (Configure.pl will tell you which version of make it
recommends for your system.)

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". 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:

    perl Configure.pl --prefix=/home/joe/bird
    make install

But please note that dynamic libs will not be found for non-standard
locations unless you set LD_LIBRARY_PATH or similar.

Look at docs/parrot.pod and docs/intro.pod for where to go from here.  If you
have any problems, see the section "How To Submit A Bug Report" in
docs/submissions.pod.  These documents are in POD format. You can view these
files with the command:

    perldoc -F docs/intro.pod

CHANGES
-------

For documentation on the user-visible changes between this version and
previous versions, please see NEWS.

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

The Parrot user mailing list is parrot-users@lists.parrot.org. Subscribe by
filling out the form at http://lists.parrot.org/mailman/listinfo/parrot-users .
The list is archived at http://lists.parrot.org/pipermail/parrot-users/ .

For development discussions see the information in docs/gettingstarted.pod.

FEEDBACK, PATCHES, etc.
-----------------------

See docs/submissions.pod for more information on reporting bugs and
submitting patches.

WEB SITES
---------

The following web sites have all the information you need about Parrot:
    http://www.parrot.org/
    http://trac.parrot.org/

Have fun,
   The Parrot Team.