summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hints/os2.sh2
-rw-r--r--lib/ExtUtils/MM_Unix.pm3
-rw-r--r--os2/Makefile.SHs2
3 files changed, 4 insertions, 3 deletions
diff --git a/hints/os2.sh b/hints/os2.sh
index d93d823a36..9be6f006ec 100644
--- a/hints/os2.sh
+++ b/hints/os2.sh
@@ -169,7 +169,7 @@ else
else
d_fork='undef'
fi
- lddlflags="-Zdll -Zomf -Zmt -Zcrtdll -Zlinker /e:2 $ld_dll_optimize"
+ lddlflags="-Zdll -Zomf -Zmt -Zcrtdll -Zlinker /e:2"
# Recursive regmatch may eat 2.5M of stack alone.
ldflags='-Zexe -Zomf -Zmt -Zcrtdll -Zstack 32000 -Zlinker /e:2'
if [ $emxcrtrev -ge 50 ]; then
diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm
index a2373824c2..a9e7ad48f2 100644
--- a/lib/ExtUtils/MM_Unix.pm
+++ b/lib/ExtUtils/MM_Unix.pm
@@ -1074,11 +1074,12 @@ sub dynamic_lib {
my($ldfrom) = '$(LDFROM)';
$armaybe = 'ar' if ($^O eq 'dec_osf' and $armaybe eq ':');
my(@m);
+ my $ld_opt = $Is_OS2 ? '$(OPTIMIZE) ' : ''; # Useful on other systems too?
push(@m,'
# This section creates the dynamically loadable $(INST_DYNAMIC)
# from $(OBJECT) and possibly $(MYEXTLIB).
ARMAYBE = '.$armaybe.'
-OTHERLDFLAGS = '.$otherldflags.'
+OTHERLDFLAGS = '.$ld_opt.$otherldflags.'
INST_DYNAMIC_DEP = '.$inst_dynamic_dep.'
$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)/.exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
diff --git a/os2/Makefile.SHs b/os2/Makefile.SHs
index 9ae99cdc7e..8140aa543b 100644
--- a/os2/Makefile.SHs
+++ b/os2/Makefile.SHs
@@ -40,7 +40,7 @@ AOUT_LIBPERL_DLL = libperl_dll$aout_lib_ext
AOUT_CCCMD_DLL = \$(CC) -DDOSISH -DOS2=2 -DEMBED -I. -DPACK_MALLOC -DDEBUGGING_MSTATS -DTWO_POT_OPTIMIZE -DPERL_EMERGENCY_SBRK
AOUT_CLDFLAGS_DLL = -Zexe -Zmt -Zcrtdll -Zstack 32000
-LD_OPT = $optimize
+LD_OPT = \$(OPTIMIZE)
PERL_DLL_BASE = perl$dll_post
PERL_DLL = \$(PERL_DLL_BASE)\$(DLSUFFIX)