summaryrefslogtreecommitdiff
path: root/XSUB.h
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-07-12 01:55:15 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-07-12 01:55:15 +0000
commitc5be433b5c5658093bc9cae4434721a0b63e7a85 (patch)
treeb5e25d83702fd5b6ebb6108c8cdf104a09f97040 /XSUB.h
parented7ab888f26e9b2a3bcf98806b630e993179f8b4 (diff)
downloadperl-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.h33
1 files changed, 14 insertions, 19 deletions
diff --git a/XSUB.h b/XSUB.h
index c43b7f9645..15f2b411f0 100644
--- a/XSUB.h
+++ b/XSUB.h
@@ -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 */