With the following patch, the extension Parrot-Embed compiles and runs on Win32.
I work with : MinGW (gcc 3.4.2) Perl 5.8.8 (build 817 ActiveState)
I use an old fashion Makefile.PL (Module::Build is not in latest ActiveState distribution) I move ext/Parrot-Embed/lib/Parrot/Embed.xs to ext/Parrot-Embed/Embed.xs (compilation problem) The 2 functions Parrot_PMC_get_cstring() and Parrot_call_sub() need the qualifier PARROT_API (linking problem).
I think that all functions in extend.h need this qualifier (see PPD11) Only 1 test fails : cd Parrot-Embed && nmake test Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved.C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/embed....ok 1/27# Testing Parrot::Embed 0.01, Perl 5.008008, C:\Perl\bin\perl.exe
t/embed....NOK 26 # Failed test '... but only for valid PIR' # in t/embed.t at line 99. # Looks like you failed 1 test of 27. t/embed....dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 26 Failed 1/27 tests, 96.30% okay Failed Test Stat Wstat Total Fail Failed List of Failed-------------------------------------------------------------------------------
t/embed.t 1 256 27 1 3.70% 26 Failed 1/1 test scripts, 0.00% okay. 1/27 subtests failed, 96.30% okay. François Perrad.
Parrot-Embed_on_Win32.patch
Description: Binary data