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