Subject: | Compile failed for version 0.71 on cygwin. |
Hello,
I had to apply the attached patch to xs-src/Mouse.xs in order for
compilation to succeed in Cygwin for version 0.71 of Mouse.
Without the patch, I get the following errors:
gcc -c "-I." "-I." -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-
strict-aliasing -pipe -fstack-protector -I/usr/local/include -Wall -
Wdeclaration-after-statement -Wextra -Wc++-compat -DUSEIMPORTLIB -O3 -
DVERSION=\"0.71\" -DXS_VERSION=\"0.71\" -o xs-src/Mouse.o "-
I/usr/lib/perl5/5.10/i686-cygwin/CORE" -DUSE_PPPORT xs-src/Mouse.c
xs-src/Mouse.xs: In function
'XS_Mouse__Meta__Role_add_metaclass_accessor':
xs-src/Mouse.xs:687: warning: passing argument 1 of 'mouse_call0' from
incompatible pointer type
xs-src/Mouse.xs:687: error: too few arguments to function 'mouse_call0'
make: *** [xs-src/Mouse.o] Error 1
Thank you,
Brett
Subject: | Mouse-0.71-cygwin.patch |
*** Mouse-0.71/xs-src/Mouse.xs 2010-09-24 03:51:22.000000000 -0500
--- Mouse-0.71.new/xs-src/Mouse.xs 2010-09-24 10:24:57.136232100 -0500
***************
*** 684,690 ****
add_metaclass_accessor(SV* self, SV* name)
CODE:
{
! SV* const klass = mouse_call0(self, mouse_name);
const char* fq_name = form("%"SVf"::%"SVf, klass, name);
STRLEN keylen;
const char* const key = SvPV_const(name, keylen);
--- 684,690 ----
add_metaclass_accessor(SV* self, SV* name)
CODE:
{
! SV* const klass = mcall0(self, mouse_name);
const char* fq_name = form("%"SVf"::%"SVf, klass, name);
STRLEN keylen;
const char* const key = SvPV_const(name, keylen);