# define PERL589_OR_LATER
#endif
+#if (PERL_REVISION == 5) && ((PERL_VERSION > 10) || \
+ (PERL_VERSION == 10) && (PERL_SUBVERSION >= 1))
+# define PERL5101_OR_LATER
+#endif
+
#ifndef pTHX
# define pTHX void
# define pTHX_
# define perl_free dll_perl_free
# define Perl_get_context dll_Perl_get_context
# define Perl_croak dll_Perl_croak
-# if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+# ifdef PERL5101_OR_LATER
# define Perl_croak_xs_usage dll_Perl_croak_xs_usage
# endif
# ifndef PROTO
static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
static void* (*Perl_get_context)(void);
static void (*Perl_croak)(pTHX_ const char*, ...);
-#if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+#ifdef PERL5101_OR_LATER
static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params);
#endif
static void (*Perl_croak_nocontext)(const char*, ...);
{"perl_parse", (PERL_PROC*)&perl_parse},
{"Perl_get_context", (PERL_PROC*)&Perl_get_context},
{"Perl_croak", (PERL_PROC*)&Perl_croak},
-#if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+#ifdef PERL5101_OR_LATER
{"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage},
#endif
{"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext},