NAME

README.cygwin - Parrot under cygwin

SYNOPSIS

parrot builds out of the box under cygwin. Some tweaks are needed for different names of dynamic loading of some dll's.

Packages

You'll need the following cygwin packages to build parrot.

gcc
make
perl
subversion

If you use svn to get a copy of parrot, you should use the cygwin svn and not the tortoiseSVN client to avoid build errors.

ICU

This is no official cygwin package yet. However, icu4c-3_8 builds out of the box on cygwin. http://download.icu-project.org/files/icu4c/3.8/icu4c-3_8-src.tgz

Note that ICU is now optional, you can build Parrot without it, by not installing it or asking Parrot to ignore it (--without-icu).

BUILD

export PATH=`pwd`/blib/lib:$PATH
perl Configure.pl
make
make test # see PLATFORMS for known issues.
make reallyinstall

TODO

Makefile tuning

rename libparrot.dll to cygparrot.dll, create an interim libparrot.dll.a

for make test: blib/lib must be added to the PATH, or link blib/lib/libparrot.dll to the parrot root. ln blib/lib/libparrot.dll libparrot.dll

DLL versioning

cyg*-1.1.dll instead of lib*.so.1.1

Thanks to the " http://" in Windows DLL Hell and the impossibility of file hardlinks, windows dll names are versioned, so the loadlib function or the various pir's needs more logic.

Either add the version to each loadlib call, and stem the version from POSIX versions within get_path(), or add an optional version argument to loadlib for win32. Or just fix all the pir's.

Configure

nmake detection probably wrong. replace by make.

Features

Threads, Events, and Signals are missing.

AUTHORS

Reini Urban <rurban@cpan.org>

SEE ALSO

L<parrot>

HISTORY

Last updated: 2 March 2008