summaryrefslogtreecommitdiff
path: root/lib/ExtUtils
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2000-02-14 17:41:07 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2000-02-14 17:41:07 +0000
commit9f7ff21b45298bc961c48ca96bbc631d8ae1d13f (patch)
treea35037e003c6742d16ab5206e3e6e5a230859bc8 /lib/ExtUtils
parent5a932ea11b572ddf3e19631dbefacca1cc902d69 (diff)
downloadperl-9f7ff21b45298bc961c48ca96bbc631d8ae1d13f.tar.gz
Prefer full_ar.
p4raw-id: //depot/cfgperl@5082
Diffstat (limited to 'lib/ExtUtils')
-rw-r--r--lib/ExtUtils/MM_Unix.pm15
-rw-r--r--lib/ExtUtils/MakeMaker.pm3
2 files changed, 14 insertions, 4 deletions
diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm
index c5cf7066bf..7fa8bfcf95 100644
--- a/lib/ExtUtils/MM_Unix.pm
+++ b/lib/ExtUtils/MM_Unix.pm
@@ -555,7 +555,7 @@ sub constants {
INSTALLSITEARCH INSTALLBIN INSTALLSCRIPT PERL_LIB
PERL_ARCHLIB SITELIBEXP SITEARCHEXP LIBPERL_A MYEXTLIB
FIRST_MAKEFILE MAKE_APERL_FILE PERLMAINCC PERL_SRC
- PERL_INC PERL FULLPERL
+ PERL_INC PERL FULLPERL FULL_AR
/ ) {
next unless defined $self->{$tmp};
@@ -3179,9 +3179,18 @@ END
# then copy that to $(INST_STATIC) and add $(OBJECT) into it.
push(@m, "\t$self->{CP} \$(MYEXTLIB) \$\@\n") if $self->{MYEXTLIB};
+ my $ar;
+ if (exists $self->{FULL_AR} && -x $self->{FULL_AR}) {
+ # Prefer the absolute pathed ar if available so that PATH
+ # doesn't confuse us. Perl itself is built with the full_ar.
+ $ar = 'FULL_AR';
+ } else {
+ $ar = 'AR';
+ }
push @m,
-q{ $(AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@
- $(CHMOD) $(PERM_RWX) $@
+ "\t\$($ar) ".'$(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@'."\n";
+ push @m,
+q{ $(CHMOD) $(PERM_RWX) $@
}.$self->{NOECHO}.q{echo "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld
};
# Old mechanism - still available:
diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm
index c4b75539bf..cdd8e4b0ad 100644
--- a/lib/ExtUtils/MakeMaker.pm
+++ b/lib/ExtUtils/MakeMaker.pm
@@ -259,7 +259,8 @@ sub full_setup {
@Get_from_Config =
qw(
ar cc cccdlflags ccdlflags dlext dlsrc ld lddlflags ldflags libc
- lib_ext obj_ext osname osvers ranlib sitelibexp sitearchexp so exe_ext
+ lib_ext obj_ext osname osvers ranlib sitelibexp sitearchexp so
+ exe_ext full_ar
);
my $item;