diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-07-12 01:55:15 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-07-12 01:55:15 +0000 |
commit | c5be433b5c5658093bc9cae4434721a0b63e7a85 (patch) | |
tree | b5e25d83702fd5b6ebb6108c8cdf104a09f97040 /XSUB.h | |
parent | ed7ab888f26e9b2a3bcf98806b630e993179f8b4 (diff) | |
download | perl-c5be433b5c5658093bc9cae4434721a0b63e7a85.tar.gz |
yet more cleanups of the PERL_OBJECT, MULTIPLICITY and USE_THREADS
builds; passing the implicit context is unified among the three
flavors; PERL_IMPLICIT_CONTEXT is auto-enabled under all three
flavors (see the top of perl.h) for testing; all varargs functions
foo() have a va_list-taking variant vfoo() for generating the
context-free versions; the PERL_OBJECT build should now be
hyper-compatible with CPAN extensions (C++ is totally out of
the picture)
result has only been tested on Windows
TODO: write docs on the THX rationale and idiomatic usage of
the Perl API
p4raw-id: //depot/perl@3667
Diffstat (limited to 'XSUB.h')
-rw-r--r-- | XSUB.h | 33 |
1 files changed, 14 insertions, 19 deletions
@@ -110,23 +110,22 @@ # define VTBL_amagicelem &PL_vtbl_amagicelem #endif -#ifdef PERL_OBJECT - +#if defined(PERL_OBJECT) || defined(PERL_CAPI) # include "perlapi.h" # include "objXSUB.h" +#endif /* PERL_OBJECT || PERL_CAPI */ -# undef aTHXo -# define aTHXo pPerl -# undef aTHXo_ -# define aTHXo_ aTHXo, -# undef _aTHXo -# define _aTHXo ,aTHXo - -# ifdef WIN32 -# undef fprintf -# define fprintf pPerl->fprintf -# endif /* WIN32 */ - +#if defined(PERL_CAPI) +# undef aTHX +# undef aTHX_ +# undef _aTHX +# if defined(PERL_NO_GET_CONTEXT) +# define aTHX my_perl +# else +# define aTHX PERL_GET_INTERP +# endif /* PERL_NO_GET_CONTEXT */ +# define aTHX_ aTHX, +# define _aTHX ,aTHX # ifndef NO_XSLOCKS # undef closedir # undef opendir @@ -278,9 +277,5 @@ # define shutdown PerlSock_shutdown # define socket PerlSock_socket # define socketpair PerlSock_socketpair -# ifdef WIN32 -# include "XSlock.h" -# endif # endif /* NO_XSLOCKS */ - -#endif /* PERL_OBJECT */ +#endif /* PERL_CAPI */ |