The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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. Similarly you will need Cygwin Perl rather than ActiveState or Strawberry Perl.

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

fix the blib/lib PATH issue

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.

Features

Threads, Events, and Signals are missing.

AUTHORS

Reini Urban <rurban@cpan.org>

SEE ALSO

    L<parrot>

HISTORY

Last updated: 1 June 2008