forked from parrot/parrot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
160 lines (107 loc) · 5.04 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
This is Parrot, version 0.4.12
-----------------------------
Parrot is Copyright (C) 2001-2007, The Perl Foundation.
$Id$
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 linking with the ICU library you have to download and install it
before configuring Parrot.
Get it from http://www-306.ibm.com/software/globalization/icu/downloads.jsp
You'll also need Perl 5.6.1 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 targeted 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 --ld=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
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'
NOTE: do *NOT* use the '-j' option to make. The dependencies in the generated
Makefile work if you do them sequentially, but running with -j will almost
certainly cause a build error. Patches welcome.
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).
NOTE: If you have trouble linking parrot, this *may* be due to a pre-existing
parrot version installed via 'make install'. Until this issue is resolved,
you may have to delete the installed version of parrot before building a new
one. Our apologies.
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: PLATFORMS contains notes about whether test failures are expected
on your system.
On some systems you can install parrot:
make install
This installs a bunch of files in /usr/local. The parrot executable is in
/usr/local/bin. Please note that this feature is currently experimental.
If you want to install Parrot into a non-standard location use:
perl Configure.pl --prefix=/Users/foo/parrot-0.4.12
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 "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.
MAILING LISTS
-------------
The mailing list for parrot is parrot-porters. Subscribe by sending mail to
parrot-porters-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://bugs6.perl.org/
http://pugscode.org/
Have fun,
The Parrot Team.