Applying the attached patch (Nick Glencross's changes to dynclasses_pl.in modified by Matt Diephouse's suggestion and then cargoculting H.Merijn Brand's voodoo for working around some weirdness that caused Test::Harness to completely empty @INC) to 0.2.2 lets me build and limp through make test.
The Python dynclasses were still pretty unhappy campers: Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/dynclass/foo.t 8 2048 9 8 88.89% 1-5 7-9 t/dynclass/gdbmhash.t 13 3328 13 13 100.00% 1-13 t/dynclass/pybuiltin.t 5 1280 6 5 83.33% 1-2 4-6 t/dynclass/pyclass.t 6 1536 6 6 100.00% 1-6 t/dynclass/pycomplex.t 4 1024 4 4 100.00% 1-4 t/dynclass/pyfunc.t 4 1024 4 4 100.00% 1-4 t/dynclass/pyint.t 25 6400 26 25 96.15% 1-25 t/op/trans.t 1 256 19 1 5.26% 13 t/p6rules/anchors.t 255 65280 26 52 200.00% 1-26 t/p6rules/builtins.t 255 65280 38 76 200.00% 1-38 t/perl/Parrot_Distribution.t 255 65280 5 8 160.00% 2-5 t/perl/Parrot_Docs.t 255 65280 25 38 152.00% 7-25 t/perl/Parrot_IO.t 255 65280 55 108 196.36% 2-55 2 tests and 80 subtests skipped. Failed 13/162 test scripts, 91.98% okay. 207/2715 subtests failed, 92.38% okay. make: *** [test] Error 14 Greg
diff -ru dist-parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in --- dist-parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in 2005-06-06 06:57:42.000000000 -0500 +++ parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in 2005-07-13 15:42:19.161604500 -0500 @@ -46,6 +46,12 @@ $LD_LOAD_FLAGS =~ s/(-def:)/$extraLibs $1..\\/; } +# Here comes some stuff for Cygwin +if ($^O eq 'cygwin') { + $LD_LOAD_FLAGS .= ' ${build_dir}/src/parrot_config.o'; + $LIBPARROT = q[-L${build_dir}/blib/lib -lparrot]; +} + # PMC2C Config our $PMC2C = "$PERL $PATHQUOTE" . q[${build_dir}${slash}build_tools${slash}pmc2c.pl] . $PATHQUOTE; @@ -72,11 +78,12 @@ } return - "$LD $LDFLAGS $LD_LOAD_FLAGS $liblist $PATHQUOTE$LIBPARROT$PATHQUOTE ". - "${ld_out}" . $target . " " . - join(" ", map {"$PATHQUOTE$_$PATHQUOTE"} @$sources); + "$LD $LDFLAGS $LD_LOAD_FLAGS -o $target " . + join(" ", map {"$PATHQUOTE$_$PATHQUOTE"} @$sources) . + " $PATHQUOTE$LIBPARROT$PATHQUOTE $liblist"; } + our $NOW = time(); ################### MAIN PROGRAM ################ diff -ru dist-parrot-0.2.2/t/harness parrot-0.2.2/t/harness --- dist-parrot-0.2.2/t/harness 2005-04-11 04:49:42.000000000 -0500 +++ parrot-0.2.2/t/harness 2005-07-13 16:51:29.348938800 -0500 @@ -80,6 +80,9 @@ use Getopt::Std; use Test::Harness qw(runtests); +my @_INC = map { qq{"-I$_"} } @INC; +$Test::Harness::Switches = "@_INC -Mstrict"; + # handle the long options $ENV{RUNNING_MAKE_TEST} = grep { $_ eq '--running-make-test' } @ARGV;