This file is best viewed with "perldoc README_win32".
README.win32 - Parrot under Windows
These are instructions for building the "native" port of Parrot under
Windows 2000/XP on the Intel x86 architecture.
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.4.2 or later
Intel C++ (icl) version 8.0.48 works
=head2 Setting Up Parrot
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. Download the latter from the Microsoft .NET Framework
Note: Parrot will not build using nmake v1.5 from the MS web site. Download
one of the above toolkits to obtain a later version, either v7 or v8.
MinGW works with its GNU "make" (v 3.81) port and its name is
'mingw32-make.exe'. If you also have the Minimal SYStem (MSYS) installed,
you will need to remove the Msys/bin folder from your PATH environment
variable before calling "perl Configure.pl" and mingw32-make. Perl detects
and calls /bin/sh.exe, if found, whenever shelling a new process. sh.exe
causes problems for mingw32-make.exe because of its inability to handle
Windows pathnames with backslashes. You must run "perl Configure.pl" and
mingw32-make from a dosbox; running those commands from an MSYS shell window
will experience the same backslash path problems.
The surest way to build it is on Windows NT/2000/XP, using the cmd shell.
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
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.
unzip icu4c-4_2_1-Win32-msvc9.zip -d C:\usr\lib
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 libraries
The availability of these libraries is checked by Configure.pl.
B<gettext> - library and tools for native language support
B<GMP> - GNU multiple precision arithmetic library
B<OpenGL> / B<GLUT> - Open Graphics Library
B<pcre> - Perl-Compatible Regular Expression library
B<readline> - edit command lines
=item Optional utilities
The availability of these utilities is checked by Configure.pl
B<antlr> - ANother Tool for Language Recognition
B<ctags> - Exuberant Ctags
Inno Setup is a I<free> installer for Windows programs.
The latest release of Inno Setup at the time of writing is 5.3.7.
The HomePage is on L<http://www.jrsoftware.org/>.
Add the directory to PATH.
set PATH=%PATH%;C:\Program Files\Inno Setup 5
=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
If you use the Toolkit, be sure to follow the directions for setting up
your build environment that come with the perl distributions. (README.win32
in the latest perl distribution.) You may have to substitute "Microsoft
Platform SDK" wherever "Microsoft SDK" is listed, depending on the your
install. You can ignore the entries regarding "win32/config.vc", but be sure
to create the "link.bat" batch file. Copy the missing files mentioned,
run the Toolkit Command Prompt, set the appropriate env vars, and you
should be fine. (For env vars, you can update them under My Computer->
properties so they are available whenever you open a shell.)
Note: It is possible to use ActiveState Perl with the Toolkit: you don't
have to compile your own perl.
=item Strawberry Perl
With the Strawberry perl distro from
L<http://strawberryperl.com/>, gcc is included. To build parrot,
use the strawberry perl binary to run Configure.pl, and then
follow the directions.
=item MinGW32 with GCC
The latest release of MinGW package at the time of writing is 5.1.6,
which contains gcc-3.4.5 as current release.
It can be downloaded here:
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 --without-icu
This command creates a setup-parrot-x.y.z.exe that contains all parrot install
=head1 BUGS AND CAVEATS
Threads, Events, and Signals are missing.
=item Ron Blaschke E<lt>email@example.comE<gt>
=item François Perrad E<lt>firstname.lastname@example.orgE<gt>
This document is maintained by The Parrot Developers
This document borrows heavily from Perl's README.win32.
GCC/mingw32 support was added in 0.1.2 (François Perrad).
Last updated: 20 Jan 2009
Press h to open a hovercard with more details.