Prefer full_ar.
Jarkko Hietaniemi [Mon, 14 Feb 2000 17:41:07 +0000 (17:41 +0000)]
p4raw-id: //depot/cfgperl@5082

lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MakeMaker.pm

index c5cf706..7fa8bfc 100644 (file)
@@ -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:
index c4b7553..cdd8e4b 100644 (file)
@@ -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;