$NetBSD: patch-ag,v 1.7 2001/10/14 19:55:48 jlam Exp $ --- lib/ExtUtils/MM_Unix.pm.orig Thu Mar 15 10:25:20 2001 +++ lib/ExtUtils/MM_Unix.pm Mon Oct 1 03:51:12 2001 @@ -1059,6 +1059,22 @@ my($ldfrom) = '$(LDFROM)'; $armaybe = 'ar' if ($^O eq 'dec_osf' and $armaybe eq ':'); my(@m); + + # Set LLIBPERL to nothing on static perl platforms, and to the flags + # needed to link against the shared libperl library on shared perl + # platforms. We peek at lddlflags to see if we need -Wl,-R or -R + # to add paths to the run-time library search path. + # + my($llibperl) = ''; + if (($^O eq 'netbsd') and ($Config{'useshrplib'} eq 'true')) { + if ($Config{'lddlflags'} =~ /-Wl,-R/) { + $llibperl = '-L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -lperl'; + } elsif ($Config{'lddlflags'} =~ /-R/) { + $llibperl = '-L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -lperl'; + } + } + push(@m,'LLIBPERL = '.$llibperl."\n"); + push(@m,' # This section creates the dynamically loadable $(INST_DYNAMIC) # from $(OBJECT) and possibly $(MYEXTLIB). @@ -1088,7 +1104,7 @@ '); push(@m,' LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) '.$ldrun.' $(LDDLFLAGS) '.$ldfrom. - ' $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST)'); + ' $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) $(PERL_ARCHIVE) $(LLIBPERL) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST)'); push @m, ' $(CHMOD) $(PERM_RWX) $@ ';