develooper Front page | perl.perl5.porters | Postings from June 2001

[PATCH 5.6.1] OPTIMIZE=-g

From:
Ilya Zakharevich
Date:
June 26, 2001 14:23
Subject:
[PATCH 5.6.1] OPTIMIZE=-g
Message ID:
20010626172324.A27003@math.ohio-state.edu
make OPTIMIZE=-g is not enough on OS/2 to debug an extension, since
some optimization flags are put on the linker line too.

This patch puts $(OPTIMIZE) on the DLL link line - but to minimize
problems, this is done on OS/2 only.  Simultaneously "strip" flag '-s`
is removed from LDDLFLAGS (since it is already present on OPTIMIZE).

Enjoy,
Ilya

--- ./lib/ExtUtils/MM_Unix.pm-pre-opt	Mon Jun 25 19:36:24 2001
+++ ./lib/ExtUtils/MM_Unix.pm	Tue Jun 26 10:51:36 2001
@@ -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)
--- ./hints/os2.sh-pre-opt	Mon Jun 25 02:43:20 2001
+++ ./hints/os2.sh	Tue Jun 26 11:15:40 2001
@@ -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 
--- ./os2/Makefile.SHs-pre-opt	Mon Jun 25 18:42:46 2001
+++ ./os2/Makefile.SHs	Tue Jun 26 10:55:58 2001
@@ -40,7 +40,7 @@ AOUT_LIBPERL_DLL	= libperl_dll$aout_lib_
 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)



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About