summaryrefslogtreecommitdiff
path: root/makedef.pl
diff options
context:
space:
mode:
Diffstat (limited to 'makedef.pl')
-rw-r--r--makedef.pl22
1 files changed, 17 insertions, 5 deletions
diff --git a/makedef.pl b/makedef.pl
index 688a3043d5..f84c009cc9 100644
--- a/makedef.pl
+++ b/makedef.pl
@@ -1255,11 +1255,23 @@ elsif ($PLATFORM eq 'netware') {
));
}
-# records of type boot_module for statically linked modules (except Dynaloader)
-$static_ext =~ s/\//__/g;
-$static_ext =~ s/\bDynaLoader\b//;
-try_symbols(map {"boot_$_"} grep {/\S/} split /\s+/, $static_ext);
-try_symbols("init_Win32CORE") if $static_ext =~ /\bWin32CORE\b/;
+# When added this code was only run for Win32 and WinCE
+# Currently only Win32 links static extensions into the shared library.
+# The WinCE makefile doesn't appear to support static extensions, so this code
+# can't have any effect there.
+# The NetWare Makefile doesn't support static extensions (and hardcodes the
+# list of dynamic extensions, and the rules to build them)
+# For *nix (and presumably OS/2) with a shared libperl, Makefile.SH compiles
+# static extensions with -fPIC, but links them to perl, not libperl.so
+# The VMS build scripts don't yet implement static extensions at all.
+
+if ($PLATFORM =~ /^win(?:32|ce)$/) {
+ # records of type boot_module for statically linked modules (except Dynaloader)
+ $static_ext =~ s/\//__/g;
+ $static_ext =~ s/\bDynaLoader\b//;
+ try_symbols(map {"boot_$_"} grep {/\S/} split /\s+/, $static_ext);
+ try_symbols("init_Win32CORE") if $static_ext =~ /\bWin32CORE\b/;
+}
if ($PLATFORM eq 'os2') {
my (%mapped, @missing);