Permalink
Newer
Older
100644 246 lines (158 sloc) 6.78 KB
2
This file is best viewed with "perldoc README_win32".
3
4
=head1 NAME
5
6
README.win32 - Parrot under Windows
7
8
=head1 SYNOPSIS
9
10
These are instructions for building the "native" port of Parrot under
11
Windows 2000/XP on the Intel x86 architecture.
12
13
=head1 DESCRIPTION
14
15
Win32 "native" ports require no additional software to run but the
16
operating system. There should be other READMEs for (emulation)
17
systems that run on Win32, eg Cygwin.
18
19
Native compilers include:
20
Aug 17, 2006
21
Borland C++ (bcc) version xxx or later
22
Microsoft Visual C++ (cl) version 13.10.3077 or later
23
MinGW32 with GCC (gcc) version 3.4.2 or later
24
Intel C++ (icl) version 8.0.48 works
25
26
=head2 Setting Up Parrot
27
28
=over
29
30
=item Make
31
32
You need "nmake" to build Parrot under Windows with Microsoft compilers. It
33
should be available via Microsoft Visual Studio .NET 2003 or the Microsoft .NET
34
Framework SDK 1.1. Download the latter from the Microsoft .NET Framework
35
Homepage L<http://msdn.microsoft.com/netframework/>.
36
37
Note: Parrot will not build using nmake v1.5 from the MS web site. Download
38
one of the above toolkits to obtain a later version, either v7 or v8.
Leopold Toetsch
May 9, 2004
39
40
MinGW works with its GNU "make" (v 3.81) port and its name is
Jan 18, 2007
41
'mingw32-make.exe'. If you also have the Minimal SYStem (MSYS) installed,
42
you will need to remove the Msys/bin folder from your PATH environment
43
variable before calling "perl Configure.pl" and mingw32-make. Perl detects
Jan 18, 2007
44
and calls /bin/sh.exe, if found, whenever shelling a new process. sh.exe
45
causes problems for mingw32-make.exe because of its inability to handle
46
Windows pathnames with backslashes. You must run "perl Configure.pl" and
47
mingw32-make from a dosbox; running those commands from an MSYS shell window
48
will experience the same backslash path problems.
50
=item Command Shell
51
52
The surest way to build it is on Windows NT/2000/XP, using the cmd shell.
53
54
=item ICU
55
56
Parrot no longer comes with its own ICU, thus you need to install it on your
57
system if you want to use it. Note that ICU is now optional, you can
58
build Parrot without it, by not installing it or asking Parrot to
59
ignore it (C<--without-icu>).
60
61
If you want to use ICU, download it from
62
L<http://site.icu-project.org/download>.
63
64
If you want to use precompiled binaries, do the following.
65
Download the package matching your compiler, unpack it (say, into
66
C:\usr\lib), add the F<bin> directory to C<PATH>, and tell
67
Configure.pl to use it.
68
69
mkdir C:\usr\lib
70
unzip icu4c-4_2_1-Win32-msvc9.zip -d C:\usr\lib
71
mkdir C:\usr\lib\data
72
set PATH=%PATH%;C:\usr\lib\icu\bin
73
cd <parrot directory>
74
perl Configure.pl
75
--icushared="C:\usr\lib\icu\lib\icudt.lib C:\usr\lib\icu\lib\icuuc.lib"
76
--icuheaders="C:\usr\lib\icu\include"
77
78
Note the step of creating the F<C:\usr\lib\data> directory, as Parrot
79
really wants it and the binary packages don't contain it. It doesn't
80
need to contain anything though, as the data is pulled in from
81
F<lib/icudt.lib>, which contains the standard data in binary form.
85
The availability of these libraries is checked by Configure.pl.
Apr 16, 2008
87
B<gettext> - library and tools for native language support
88
L<http://gnuwin32.sourceforge.net/>
89
90
B<GMP> - GNU multiple precision arithmetic library
91
L<http://developer.berlios.de/projects/win32gmp/>
92
Jan 20, 2009
93
B<OpenGL> / B<GLUT> - Open Graphics Library
94
L<http://www.xmission.com/~nate/glut.html> or
95
L<http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/>
96
97
B<pcre> - Perl-Compatible Regular Expression library
98
L<http://gnuwin32.sourceforge.net/>
99
100
B<readline> - edit command lines
101
L<http://gnuwin32.sourceforge.net/>
102
103
=item Optional utilities
104
Mar 16, 2007
105
The availability of these utilities is checked by Configure.pl
106
or by some test.
108
B<antlr> - ANother Tool for Language Recognition
109
L<http://www.antlr.org/>
110
Jan 20, 2009
111
B<ctags> - Exuberant Ctags
112
L<http://ctags.sourceforge.net/>
Mar 16, 2007
113
114
=item Inno Setup
115
116
Inno Setup is a I<free> installer for Windows programs.
117
118
The latest release of Inno Setup at the time of writing is 5.3.7.
119
120
The HomePage is on L<http://www.jrsoftware.org/>.
121
122
Add the directory to PATH.
123
124
set PATH=%PATH%;C:\Program Files\Inno Setup 5
125
126
=item Borland C++
127
128
XXX
129
130
=item Microsoft Visual C++
131
132
Since mid April 2004, Visual C++ comes in two flavors. Microsoft
133
Visual Studio .NET 2003 (L<http://msdn.microsoft.com/visualc/>), which
134
includes the full blown IDE, and Microsoft Visual C++ Toolkit 2003
135
(L<http://msdn.microsoft.com/visualc/vctoolkit2003/>), which is a free
136
(but unsupported) package, containing only the basic compiler and
137
linker stuff.
138
139
If you use the Toolkit, be sure to follow the directions for setting up
140
your build environment that come with the perl distributions. (README.win32
141
in the latest perl distribution.) You may have to substitute "Microsoft
142
Platform SDK" wherever "Microsoft SDK" is listed, depending on the your
143
install. You can ignore the entries regarding "win32/config.vc", but be sure
144
to create the "link.bat" batch file. Copy the missing files mentioned,
145
run the Toolkit Command Prompt, set the appropriate env vars, and you
146
should be fine. (For env vars, you can update them under My Computer->
147
properties so they are available whenever you open a shell.)
148
149
Note: It is possible to use ActiveState Perl with the Toolkit: you don't
150
have to compile your own perl.
152
=item Strawberry Perl
153
154
With the Strawberry perl distro from
155
L<http://strawberryperl.com/>, gcc is included. To build parrot,
156
use the strawberry perl binary to run Configure.pl, and then
157
follow the directions.
158
159
=item MinGW32 with GCC
160
161
The latest release of MinGW package at the time of writing is 5.1.6,
Apr 17, 2008
162
which contains gcc-3.4.5 as current release.
163
It can be downloaded here:
164
L<http://sourceforge.net/projects/mingw/files/>
165
166
The HomePage is on L<http://www.mingw.org/>.
167
Mar 10, 2008
168
With the ActiveState Perl distribution, tell Configure.pl to use gcc :
170
perl Configure.pl
171
--cc=gcc
172
--icushared="C:\usr\lib\icu\lib\icudt.lib C:\usr\lib\icu\lib\icuuc.lib"
173
--icuheaders="C:\usr\lib\icu\include"
174
or
175
perl Configure.pl --cc=gcc --without-icu
176
177
=item Intel C++
178
179
XXX
180
181
=back
182
183
=head2 Building
184
186
187
=head2 Testing
188
190
191
=head2 Installation
192
193
$MAKE install
195
=head2 Installer
196
197
$MAKE win32-inno-installer
198
199
This command creates a setup-parrot-x.y.z.exe that contains all parrot install
200
directories.
201
202
=head2 Usage Hints
203
204
XXX
205
206
=head1 BUGS AND CAVEATS
207
208
=over
209
210
=item Features
211
212
Threads, Events, and Signals are missing.
213
214
=back
215
216
=head1 ACKNOWLEDGEMENTS
217
218
XXX
219
220
=head1 AUTHORS
221
222
=over
223
224
=item Ron Blaschke E<lt>ron@rblasch.orgE<gt>
226
=item François Perrad E<lt>francois.perrad@gadz.orgE<gt>
227
228
=back
229
230
This document is maintained by The Parrot Developers
231
(E<lt>parrot-dev@lists.parrot.orgE<gt>).
232
233
=head1 SEE ALSO
234
235
L<parrot>
236
237
=head1 HISTORY
238
239
This document borrows heavily from Perl's README.win32.
241
GCC/mingw32 support was added in 0.1.2 (François Perrad).
242
Jan 20, 2009
243
Last updated: 20 Jan 2009
244
245
=cut