[tap]:
[parrot.git] / README
blob864038391be599d9568b180b530012b4a01118e8
1 This is Parrot, version 0.6.0
2 ------------------------------
4 Parrot is Copyright (C) 2001-2008, The Perl Foundation.
6 $Id$
8 LICENSE INFORMATION
9 -------------------
11 This code is distributed under the terms of the Artistic License 2.0.
12 For more details, see the full text of the license in the file LICENSE.
14 PREREQUISITES
15 -------------
17 You need a C compiler, a linker and a make program of course. If you will be
18 linking with the ICU library you have to download and install it before
19 configuring Parrot.
21 Get it from http://www-306.ibm.com/software/globalization/icu/downloads.jsp
23 You also need Perl 5.8.0 or newer to run various configure and build scripts.
25 For most of the platforms that we are supporting initially, Parrot should build
26 out of the box.  The list of targeted platforms can be found in PLATFORMS.
28 The current configure system is primitive, as it's only
29 a temporary solution. It will be happy with most any answers
30 you decide to feed it. Garbage In, Garbage Out.
32 INSTRUCTIONS
33 ------------
35 For now, unpack your Parrot tarball, (if you're reading this, you've
36 probably already done that) and type
38     perl Configure.pl
40 to run the Configure script. The Configure.pl script extracts
41 configuration from the running perl5 program.  Unfortunately, the perl5
42 configuration is not set up to compile and link c++ programs, so you
43 may need to explicitly tell Configure.pl which compiler and linker to
44 use.  For example, to compile C files with 'cc', C++ files with
45 'CC', and link everything together with 'CC', you would type
47     perl Configure.pl --cc=cc --cxx=CC --link=CC --ld=CC
49 See "perl Configure.pl --help" for more options and docs/configuration.pod
50 for more details.
52 For systems like HPUX that don't have inet_pton please run
54     perl Configure.pl --define=inet_aton
56 Running Configure.pl will generate a config.h header, a Parrot::Config
57 module, platform files and many Makefiles.
59 The file "myconfig" has an overview of configure settings.
61 Next, run make:
63 For UNIX like systems that come with its own make, 'gmake' should be
64 used.  (On most Linux systems, this is the default make.)
66 On windows systems, 'nmake' is used
68 On other systems, just try 'make'
70 Now, the interpreter should build.  If you are building the ICU library
71 (this is the default on most systems), you need to use GNU make instead
72 (or something compatible with it).
74 NOTE: If you have trouble linking parrot, this *may* be due to a pre-existing
75 parrot version installed via 'make install'. Until this issue is resolved,
76 you may have to delete the installed version of parrot before building a new
77 one. Our apologies.
79 You can test parrot by running
81     make test         (or nmake test or gmake test)
83 You can run the full test suite with
85     make fulltest
87 Note: PLATFORMS contains notes about whether test failures are expected
88 on your system.
90 On some systems you can install parrot:
92     make install
94 This installs a bunch of files in /usr/local. The parrot executable is in
95 /usr/local/bin.   Please note that this feature is currently experimental.
97 If you want to install Parrot into a non-standard location use:
99     perl Configure.pl --prefix=/Users/foo/parrot-0.5.0
100     make install
102 But please note that dynamic libs will not be found for non-standard
103 locations unless you set LD_LIBRARY_PATH or similar.
105 Look at docs/parrot.pod and docs/intro.pod for where to go from here.  If you
106 have any problems, see the section "How To Submit A Bug Report" in
107 docs/submissions.pod.  These documents are in POD format. You can view these
108 files with the command:
110     perldoc -F docs/intro.pod
112 NOTES
113 -----
115 On some older computers with little RAM, the computed-goto dispatch core
116 (ops/core_ops_cg.c) may take a while to compile or may fail to compile at all.
117 You can pass a flag to Configure.pl (--cgoto=0) to disable the computed-goto
118 core, at a slight cost in runtime speed.
120 CHANGES
121 -------
123 For documentation on the user-visible changes between this version and
124 previous versions, please see NEWS.
126 MAILING LISTS
127 -------------
129 The mailing list for parrot is parrot-porters.  Subscribe by sending mail to
130 parrot-porters-subscribe@perl.org. It is archived at
131 http://www.nntp.perl.org/group/perl.perl6.internals
132 and available via NNTP at nntp://nntp.perl.org/perl.perl6.internals
134 You can also read the list via Google Groups at
135 http://groups-beta.google.com/group/perl.perl6.internals
137 FEEDBACK, PATCHES, etc.
138 _______________________
140 See F<docs/submissions.pod> for more information on reporting bugs and
141 submitting patches.
143 WEB SITES
144 ---------
146 The following web sites have all the Parrot information you need:
147     http://www.parrotcode.org/
148     http://www.perlfoundation.org/parrot/
149     http://dev.perl.org/perl6/
150     http://bugs6.perl.org/perl6/
151     http://pugscode.org/
153 Have fun,
154    The Parrot Team.