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;

Reply via email to