small snippet of the failure when building with dynamic perl and perl is
updated to 5.18.0:
if_perl.c: In function 'XS_VIM_Msg':
if_perl.c:1118:8: warning: passing argument 1 of
'dll_Perl_croak_xs_usage' from incompatible pointer type [enabled by
default]
if_perl.c:1118:8: note: expected 'struct PerlInterpreter *' but argument
is of type 'struct CV *'
if_perl.c:1118:8: warning: passing argument 2 of
'dll_Perl_croak_xs_usage' from incompatible pointer type [enabled by
default]
if_perl.c:1118:8: note: expected 'const struct CV * const' but argument
is of type 'char *'
if_perl.c:1118:8: error: too few arguments to function
'dll_Perl_croak_xs_usage'
from perl 5.18.0 onwards the trick for croak_xs_usage seems no longer
nescessary (i could be mistaken)
patch attached.
--
Ike
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
diff -r f7944ce459ac src/if_perl.xs
--- a/src/if_perl.xs Sat May 25 23:15:27 2013 +0200
+++ b/src/if_perl.xs Mon May 27 12:17:49 2013 +0200
@@ -67,6 +67,10 @@
# define PERL5101_OR_LATER
#endif
+#if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
+# define PERL5180_OR_LATER
+#endif
+
#ifndef pTHX
# define pTHX void
# define pTHX_
@@ -127,9 +131,11 @@
# define perl_free dll_perl_free
# define Perl_get_context dll_Perl_get_context
# define Perl_croak dll_Perl_croak
+# ifndef PERL5180_OR_LATER
# ifdef PERL5101_OR_LATER
# define Perl_croak_xs_usage dll_Perl_croak_xs_usage
# endif
+# endif
# ifndef PROTO
# define Perl_croak_nocontext dll_Perl_croak_nocontext
# define Perl_call_argv dll_Perl_call_argv
@@ -242,9 +248,11 @@
static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
static void* (*Perl_get_context)(void);
static void (*Perl_croak)(pTHX_ const char*, ...);
+#ifndef PERL5180_OR_LATER
#ifdef PERL5101_OR_LATER
static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const
params);
#endif
+#endif
static void (*Perl_croak_nocontext)(const char*, ...);
static I32 (*Perl_dowantarray)(pTHX);
static void (*Perl_free_tmps)(pTHX);
@@ -362,9 +370,11 @@
{"perl_parse", (PERL_PROC*)&perl_parse},
{"Perl_get_context", (PERL_PROC*)&Perl_get_context},
{"Perl_croak", (PERL_PROC*)&Perl_croak},
+#ifndef PERL5180_OR_LATER
#ifdef PERL5101_OR_LATER
{"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage},
#endif
+#endif
{"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext},
{"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray},
{"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps},