+ (Parrot_class_offset): Make "Not an object" a real_exception.
[parrot.git] / README
blob85be6a829be339853016f419cb386b617652d7fb
1 This is Parrot, version 0.4.7
2 -----------------------------
4 Parrot is Copyright (C) 2001-2006, The Perl Foundation.
6 $Id$
8 LICENSE INFORMATION
9 -------------------
11 This code is distributed under the same license as Perl 5; you can
12 redistribute it and/or modify it under the terms of either:
14     a) the GNU General Public License as found in the directory "LICENSES"
16     b) the "Artistic License" which can be found in the directory "LICENSES"
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either
21 the GNU General Public License or the Artistic License for more details.
23 PREREQUISITES
24 -------------
26 You'll need a C compiler, a linker and a make program of course. If you
27 will be linking with the ICU library you have to download and install it
28 before configuring Parrot.
30 Get it from http://www-306.ibm.com/software/globalization/icu/downloads.jsp
32 You'll also need Perl 5.6.1 or above to run various configure and build
33 scripts.
35 For most of the platforms that we are supporting initially,
36 Parrot should build out of the box.
37 The list of targeted platforms can be found in PLATFORMS.
39 The current configure system is primitive, as it's only
40 a temporary solution. It will be happy with most any answers
41 you decide to feed it. Garbage In, Garbage Out.
43 INSTRUCTIONS
44 ------------
46 For now, unpack your Parrot tarball, (if you're reading this, you've
47 probably already done that) and type
49     perl Configure.pl
51 to run the Configure script. The Configure.pl script extracts
52 configuration from the running perl5 program.  Unfortunately, the perl5
53 configuration is not set up to compile and link c++ programs, so you
54 may need to explicitly tell Configure.pl which compiler and linker to
55 use.  For example, to compile C files with 'cc', C++ files with
56 'CC', and link everything together with 'CC', you would type
58     perl Configure.pl --cc=cc --cxx=CC --link=CC --ld=CC
60 See "perl Configure.pl --help" for more options.
62 For systems like HPUX that don't have inet_pton please run
64     perl Configure.pl --define=inet_aton
66 Running Configure.pl will generate a config.h header, a Parrot::Config
67 module, platform files and some Makefiles.
69 The file "myconfig" has an overview of configure settings.
71 Next, run make:
73 For UNIX like systems that come with its own make, 'gmake' should be
74 used.  (On most Linux systems, this is the default make.)
76 On windows systems, 'nmake' is used
78 On other systems, just try 'make'
80 NOTE: do *NOT* use the '-j' option to make. The dependencies in the generated
81 Makefile work if you do them sequentially, but running with -j will almost
82 certainly cause a build error. Patches welcome.
84 Now, the interpreter should build.  If you are building the ICU library
85 (this is the default on most systems), you need to use GNU make instead
86 (or something compatible with it).
88 NOTE: If you have trouble linking parrot, this *may* be due to a pre-existing
89 parrot version installed via 'make install'. Until this issue is resolved,
90 you may have to delete the installed version of parrot before building a new
91 one. Our apologies.
93 You can test parrot by running
95     make test         (or nmake test or gmake test)
97 You can run the full test suite with
99     make fulltest
101 Note: PLATFORMS contains notes about whether test failures are expected
102 on your system.
104 On some systems you can install parrot:
106     make install
108 This installs a bunch of files in /usr/local. The parrot executable is in
109 /usr/local/bin.   Please note that this feature is currently experimental.
111 If you want to install Parrot into a non-standard location use:
113     perl Configure.pl --prefix=/Users/foo/parrot-0.4.7
114     make install
116 But please note that dynamic libs will not be found for non-standard
117 locations unless you set LD_LIBRARY_PATH or similar.
119 Look at docs/parrot.pod and docs/intro.pod for where to go from here.  If you
120 have any problems, see the section "Reporting Problems" in docs/intro.pod.
121 These documents are in POD format. You can view these files with:
123     perldoc -F docs/intro.pod
125 NOTES
126 -----
128 On some older computers with little RAM, the computed-goto dispatch core
129 (ops/core_ops_cg.c) may take a while to compile or may fail to compile at all.
130 You can pass a flag to Configure.pl (--cgoto=0) to disable the computed-goto
131 core, at a slight cost in runtime speed.
133 CHANGES
134 -------
136 For documentation on the user-visible changes between this version and
137 previous versions, please see NEWS.
139 MAILING LISTS
140 -------------
142 The mailing list for parrot is parrot-porters.  Subscribe by sending mail to
143 parrot-porters-subscribe@perl.org. It is archived at
144 http://www.nntp.perl.org/group/perl.perl6.internals
145 and available via NNTP at nntp://nntp.perl.org/perl.perl6.internals
147 You can also read the list via Google Groups at
148 http://groups-beta.google.com/group/perl.perl6.internals
150 WEB SITES
151 ---------
153 The following web sites have all the Parrot information you need:
154     http://www.parrotcode.org/
155     http://dev.perl.org/perl6/
156     http://bugs6.perl.org/
157     http://pugscode.org/
159 Have fun,
160    The Parrot Team.