This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Propagate bugfixes from {mini,}perlmain.c into ExtUtils::Embed.
authorNicholas Clark <nick@ccl4.org>
Mon, 8 Jul 2013 08:39:50 +0000 (10:39 +0200)
committerNicholas Clark <nick@ccl4.org>
Tue, 9 Jul 2013 05:54:26 +0000 (07:54 +0200)
xs_init() must pass a static char* when creating &DynaLoader::boot_DynaLoader
(commit 1b77350017006d9e)

Avoid linker errors on Win32 by including perlapi.h (via XSUB.h)
(commit 3ecadf9633330795)

my_perl might be unused
(commit 96a5add60f1f39d3)

lib/ExtUtils/Embed.pm

index 758e241..8953ce7 100644 (file)
@@ -85,6 +85,7 @@ sub xsi_header {
     return <<EOF;
 #include <EXTERN.h>
 #include <perl.h>
+#include <XSUB.h>
 
 EOF
 }    
@@ -109,8 +110,9 @@ sub xsi_body {
     my(@exts) = @_;
     my($pname,@retval,%seen);
     my($dl) = canon('/','DynaLoader');
-    push(@retval, "\tchar *file = __FILE__;\n");
-    push(@retval, "\tdXSUB_SYS;\n") if $] > 5.002;
+    push(@retval, "\tstatic const char file[] = __FILE__;\n");
+    push(@retval, "\tdXSUB_SYS;\n");
+    push(@retval, "\tPERL_UNUSED_CONTEXT;\n");
     push(@retval, "\n");
 
     foreach $_ (@exts){