Sorry for this error, it should have been fixed already, but it isn't :(
I hope to release new version this weekend.
Meanwhile, here is a patch for 1.02 that should fix the problem
diff -rbu Tcl-1.02/Makefile.PL Tcl-1.02-fix/Makefile.PL
--- Tcl-1.02/Makefile.PL Fri Feb 11 12:00:35 2011
+++ Tcl-1.02-fix/Makefile.PL Fri Jun 3 13:37:45 2011
@@ -196,6 +196,9 @@
if ($^O eq 'MSWin32') {
$tclver=~s/\.//;
$defs .= " -DTCL_LIB_FILE=\\\"tcl$tclver.dll\\\"" if $usestub
+s;
+
+ # Use g++ if using strawberry perl
+ @extraargs = (CC => 'g++') if $^X =~ /strawberry/;
}
elsif ($^O eq 'freebsd') {
$tclver=~s/\.//;
@@ -272,11 +275,6 @@
}
}
-sub MY::libscan {
- my($self, $path) =@_;
- return '' if $path =~ /\.pl$/i;
- return $path;
-}
BEGIN {
# compatibility with older versions of MakeMaker
@@ -299,3 +297,20 @@
ExtUtils::MakeMaker::WriteMakefile(%arg);
};
}
+
+package MY; # so that "SUPER" works right
+sub libscan {
+ my($self, $path) =@_;
+ return '' if $path =~ /\.pl$/i;
+ return $path;
+}
+
+sub c_o {
+ my $inherited = shift->SUPER::c_o(@_);
+
+ # Fix for strawberry perl build
+ $inherited =~ s/\bgcc\b/\$(CCCMD)/g if $^X =~ /strawberry/;
+
+ $inherited;
+}
+
diff -rbu Tcl-1.02/Tcl.xs Tcl-1.02-fix/Tcl.xs
--- Tcl-1.02/Tcl.xs Fri Feb 11 12:00:35 2011
+++ Tcl-1.02-fix/Tcl.xs Fri Jun 3 13:35:09 2011
@@ -602,7 +602,7 @@
STRLEN len;
char *s = SvPV(sv, len);
char *end = s + len;
- while ((nul_start = memchr(s, '\300', len))) {
+ while ((nul_start = (char*)memchr(s, '\300', len))) {
if (nul_start + 1 < end && nul_start[1] == '\200') {
/* found it */
nul_start[0] = '\0';
@@ -692,7 +692,7 @@
char *s = SvPV(sv_copy, len);
char *nul;
- while ((nul = memchr(s, '\0', len))) {
+ while ((nul = (char*)memchr(s, '\0', len))) {
STRLEN i = nul - SvPVX(sv_copy);
s = SvGROW(sv_copy, SvCUR(sv_copy) + 2);
nul = s + i;
@@ -979,8 +979,8 @@
MODULE = Tcl PACKAGE = Tcl PREFIX = Tcl_
SV *
-Tcl__new(class = "Tcl")
- char * class
+Tcl__new(Class = "Tcl")
+ char * Class
CODE:
RETVAL = newSV(0);
/*
@@ -995,7 +995,7 @@
(void) hv_store(hvInterps, (const char *) &interp,
sizeof(Tcl), &PL_sv_undef, 0);
}
- sv_setref_pv(RETVAL, class, (void*)interp);
+ sv_setref_pv(RETVAL, Class, (void*)interp);
}
OUTPUT:
RETVAL
|