5 # error C++ compilers are not supported
8 #define XSH_HAS_PERL(R, V, S) (PERL_REVISION > (R) || (PERL_REVISION == (R) && (PERL_VERSION > (V) || (PERL_VERSION == (V) && (PERL_SUBVERSION >= (S))))))
10 #define XSH_HAS_PERL_BRANCH(R, V, S) (PERL_REVISION == (R) && PERL_VERSION == (V) && PERL_SUBVERSION >= (S))
12 #define XSH_HAS_PERL_EXACT(R, V, S) ((PERL_REVISION == (R)) && (PERL_VERSION == (V)) && (PERL_SUBVERSION == (S)))
14 #ifndef XSH_PERL_PATCHLEVEL
16 # define XSH_PERL_PATCHLEVEL PERL_PATCHNUM
18 # define XSH_PERL_PATCHLEVEL 0
22 #define XSH_HAS_PERL_MAINT(R, V, S, P) (PERL_REVISION == (R) && PERL_VERSION == (V) && (XSH_PERL_PATCHLEVEL >= (P) || (!XSH_PERL_PATCHLEVEL && PERL_SUBVERSION >= (S))))
24 #ifndef XSH_MULTIPLICITY
25 # if defined(MULTIPLICITY)
26 # define XSH_MULTIPLICITY 1
28 # define XSH_MULTIPLICITY 0
32 # ifndef PERL_IMPLICIT_CONTEXT
33 # error MULTIPLICITY builds must set PERL_IMPLICIT_CONTEXT
36 # define tTHX PerlInterpreter*
40 #if XSH_MULTIPLICITY && defined(USE_ITHREADS) && defined(dMY_CXT) && defined(MY_CXT) && defined(START_MY_CXT) && defined(MY_CXT_INIT) && (defined(MY_CXT_CLONE) || defined(dMY_CXT_SV))
41 # define XSH_THREADSAFE 1
43 # define XSH_THREADSAFE 0
46 /* Safe unless stated otherwise in Makefile.PL */
48 # define XSH_FORKSAFE 1
51 #endif /* XSH_CAPS_H */