/^MODULE\s*=\s*([\w:]+)(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/;
if ($OBJ) {
- s/#if(?:def|\s+defined)\s+(\(__cplusplus\)|__cplusplus)/#if defined(__cplusplus) && !defined(PERL_OBJECT)/;
+ s/#if(?:def\s|\s+defined)\s*(\(__cplusplus\)|__cplusplus)/#if defined(__cplusplus) && !defined(PERL_OBJECT)/;
}
print $_;
}
}
# print initialization routine
-if ($WantCAPI) {
+
print Q<<"EOF";
-#
##ifdef __cplusplus
#extern "C"
##endif
+EOF
+
+if ($WantCAPI) {
+print Q<<"EOF";
+##ifdef PERL_CAPI
#XS(boot__CAPI_entry)
-#[[
-# dXSARGS;
-# char* file = __FILE__;
-#
+##else
EOF
-} else {
+}
+
print Q<<"EOF";
-##ifdef __cplusplus
-#extern "C"
-##endif
#XS(boot_$Module_cname)
+EOF
+
+if ($WantCAPI) {
+print Q<<"EOF";
+##endif /* PERL_CAPI */
+EOF
+}
+
+print Q<<"EOF";
#[[
# dXSARGS;
# char* file = __FILE__;
#
EOF
-}
print Q<<"EOF" if $WantVersionChk ;
# XS_VERSION_BOOTCHECK ;
}
print Q<<"EOF";;
-# ST(0) = &sv_yes;
-# XSRETURN(1);
+# XSRETURN_YES;
#]]
#
EOF
if ($WantCAPI) {
print Q<<"EOF";
-#
+##ifdef PERL_CAPI
##define XSCAPI(name) void name(CV* cv, void* pPerl)
#
##ifdef __cplusplus
# SetCPerlObj(pPerl);
# boot__CAPI_entry(cv);
#]]
-#
+##endif /* PERL_CAPI */
EOF
}