/
README.win32
217 lines (132 loc) · 5.44 KB
/
README.win32
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
This file is best viewed with "perldoc README.win32".
=head1 NAME
README.win32 - Parrot under Windows
=head1 SYNOPSIS
These are instructions for building the "native" port of Parrot under
Windows 2000/XP on the Intel x86 architecture.
=head1 DESCRIPTION
Win32 "native" ports require no additional software to run but the
operating system. There should be other READMEs for (emulation)
systems that run on Win32, eg Cygwin.
Native compilers include:
Borland C++ (bcc) version xxx or later
Microsoft Visual C++ (cl) version 13.10.3077 or later
MinGW32 with GCC (gcc) version 3.2.3 or later
Intel C++ (icl) version 8.0.48 works
=head2 Setting Up Parrot
=over
=item Make
You need "nmake" to build Parrot under Windows with Microsoft compilers.
It should be available via Microsoft Visual Studio .NET 2003 or the
Microsoft .NET Framework SDK 1.1. The later can be downloaded from the
Microsoft .NET Framework Homepage L<http://msdn.microsoft.com/netframework/>.
nmake should also be available at:
http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
or
ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
MinGW works with its GNU "make" (v 3.80) port and its name is
'mingw32-make.exe'.
=item Command Shell
The surest way to build it is on Windows NT/2000/XP, using the cmd shell.
=item ICU
Parrot no longer comes with its own ICU, thus you need to install it on your
system if you want to use it. Note that ICU is now optional, you can
build Parrot without it, by not installing it or asking Parrot to
ignore it (C<--without-icu>).
If you want to use ICU, download it from
L<http://www-306.ibm.com/software/globalization/icu/downloads.jsp>.
If you want to use precompiled binaries, do the following.
Download the package matching your compiler, unpack it (say, into
C:\usr\lib), add the F<bin> directory to C<PATH>, and tell
Configure.pl to use it.
mkdir C:\usr\lib
unzip icu-3.2-Win32-msvc7.1.zip -d C:\usr\lib
mkdir C:\usr\lib\data
set PATH=%PATH%;C:\usr\lib\icu\bin
cd <parrot directory>
perl Configure.pl --icushared="C:\usr\lib\icu\lib\icudt.lib C:\usr\lib\icu\lib\icuuc.lib" --icuheaders="C:\usr\lib\icu\include" --icudatadir="C:\usr\local\icu\data"
With MinGW32, use icu-3.2-Win32-msvc6.zip.
Note the step of creating the F<C:\usr\lib\data> directory, as Parrot
really wants it and the binary packages don't contain it. It doesn't
need to contain anything though, as the data is pulled in from
F<lib/icudt.lib>, which contains the standard data in binary form.
=item Optional librairies
The availability of these librairies is checked by Configure.pl.
B<gdbm> - GNU database manager
L<http://gnuwin32.sourceforge.net/>
B<GMP> - GNU multiple precision arithmetic library
L<http://developer.berlios.de/projects/win32gmp/>
=item Optional utilities
The availability of these utilities is checked by Configure.pl.
B<antlr> - ANother Tool for Language Recognition
L<http://www.antlr.org/>
B<bc> - arbitrary-precision arithmetic language and calculator
L<http://gnuwin32.sourceforge.net/>
B<m4> - macro language processor
L<http://gnuwin32.sourceforge.net/>
B<Python> - an interpreted, interactive, object-oriented programming language
L<http://www.python.org/>
=item Inno Setup
Inno Setup is a I<free> installer for Windows programs.
The latest release of Inno Setup at the time of writing is 5.0.8.
The HomePage is on L<http://www.jrsoftware.org/>.
Add the directory to PATH.
set PATH=%PATH%;C:\Program Files\Inno Setup 5
=item Borland C++
XXX
=item Microsoft Visual C++
Since mid April 2004, Visual C++ comes in two flavors. Microsoft
Visual Studio .NET 2003 (L<http://msdn.microsoft.com/visualc/>), which
includes the full blown IDE, and Microsoft Visual C++ Toolkit 2003
(L<http://msdn.microsoft.com/visualc/vctoolkit2003/>), which is a free
(but unsupported) package, containing only the basic compiler and
linker stuff.
Only Microsoft Visual Studio is currently known to work. XXX Add
Microsoft Visual C++ Toolkit instructions here XXX
=item MinGW32 with GCC
The latest release of MinGW package at the time of writing is 3.1.0,
which contains gcc-3.2.3. It can be downloaded here:
L<http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe>
The HomePage is on L<http://www.mingw.org/>.
With the ActiveState Perl distribution, tell Configure.pl to use gcc :
perl Configure.pl --cc=gcc --icushared="C:\usr\lib\icu\lib\icudt.lib C:\usr\lib\icu\lib\icuuc.lib" --icuheaders="C:\usr\lib\icu\include" --icudatadir="C:\usr\local\icu\data"
or
perl Configure.pl --cc=gcc --without-icu
=item Intel C++
XXX
=back
=head2 Building
$MAKE
=head2 Testing
$MAKE test
=head2 Installation
$MAKE install
=head2 Installer
$MAKE win32-inno-installer
This command creates a setup-parrot-x.y.z.exe that contains all parrot install
directories.
=head2 Usage Hints
XXX
=head1 BUGS AND CAVEATS
=over
=item Dynclasses
Dynclasses are currently broken due to linkage.
=item Features
Threads, Events, and Signals are missing.
=back
=head1 ACKNOWLEDGEMENTS
XXX
=head1 AUTHORS
=over
=item Ron Blaschke E<lt>ron@rblasch.orgE<gt>
=item François Perrad E<lt>francois.perrad@gadz.orgE<gt>
=back
This document is maintained by The Parrot Developers
(E<lt>perl6-internals@perl.orgE<gt>).
=head1 SEE ALSO
L<parrot>
=head1 HISTORY
This document borrows heavily from Perl's README.win32.
GCC/mingw32 support was added in 0.1.2 (François Perrad).
Last updated: 31 May 2005
=cut