PodParser v1.11 update (from Brad Appleton)
[p5sagit/p5-mst-13.2.git] / lib / ExtUtils / MM_Unix.pm
index f4329e1..5b4178b 100644 (file)
@@ -455,10 +455,11 @@ EOT
     my(@otherfiles) = values %{$self->{XS}}; # .c files from *.xs files
     push(@otherfiles, $attribs{FILES}) if $attribs{FILES};
     push(@otherfiles, qw[./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all
-                        perlmain.c mon.out core so_locations pm_to_blib
+                        perlmain.c mon.out core core.*perl.*.?
+                        *perl.core so_locations pm_to_blib
                         *~ */*~ */*/*~ *$(OBJ_EXT) *$(LIB_EXT) perl.exe
                         $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def
-                        $(BASEEXT).exp
+                        $(BASEEXT).exp .nfs* .*.c
                        ]);
     push @m, "\t-$self->{RM_RF} @otherfiles\n";
     # See realclean and ext/utils/make_ext for usage of Makefile.old
@@ -555,7 +556,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};
@@ -2766,7 +2767,7 @@ sub parse_version {
                $_
            }; \$$2
        };
-       local($^W) = 0;
+       no warnings;
        $result = eval($eval);
        warn "Could not eval '$eval' in $parsefile: $@" if $@;
        $result = "undef" unless defined $result;
@@ -2882,16 +2883,53 @@ $(PERL_ARCHLIB)/Config.pm: $(PERL_SRC)/config.sh
 
     push @m, q{
 PERL_HDRS = \
-$(PERL_INC)/EXTERN.h       $(PERL_INC)/gv.h           $(PERL_INC)/pp.h       \
-$(PERL_INC)/INTERN.h       $(PERL_INC)/handy.h        $(PERL_INC)/proto.h    \
-$(PERL_INC)/XSUB.h         $(PERL_INC)/hv.h           $(PERL_INC)/regcomp.h  \
-$(PERL_INC)/av.h           $(PERL_INC)/keywords.h     $(PERL_INC)/regexp.h   \
-$(PERL_INC)/config.h       $(PERL_INC)/mg.h           $(PERL_INC)/scope.h    \
-$(PERL_INC)/cop.h          $(PERL_INC)/op.h           $(PERL_INC)/sv.h      \
-$(PERL_INC)/cv.h           $(PERL_INC)/opcode.h       $(PERL_INC)/unixish.h  \
-$(PERL_INC)/dosish.h       $(PERL_INC)/patchlevel.h   $(PERL_INC)/util.h     \
-$(PERL_INC)/embed.h        $(PERL_INC)/perl.h         $(PERL_INC)/iperlsys.h \
-$(PERL_INC)/form.h         $(PERL_INC)/perly.h
+       $(PERL_INC)/EXTERN.h            \
+       $(PERL_INC)/INTERN.h            \
+       $(PERL_INC)/XSUB.h              \
+       $(PERL_INC)/av.h                \
+       $(PERL_INC)/cc_runtime.h        \
+       $(PERL_INC)/config.h            \
+       $(PERL_INC)/cop.h               \
+       $(PERL_INC)/cv.h                \
+       $(PERL_INC)/dosish.h            \
+       $(PERL_INC)/embed.h             \
+       $(PERL_INC)/embedvar.h          \
+       $(PERL_INC)/fakethr.h           \
+       $(PERL_INC)/form.h              \
+       $(PERL_INC)/gv.h                \
+       $(PERL_INC)/handy.h             \
+       $(PERL_INC)/hv.h                \
+       $(PERL_INC)/intrpvar.h          \
+       $(PERL_INC)/iperlsys.h          \
+       $(PERL_INC)/keywords.h          \
+       $(PERL_INC)/mg.h                \
+       $(PERL_INC)/nostdio.h           \
+       $(PERL_INC)/objXSUB.h           \
+       $(PERL_INC)/op.h                \
+       $(PERL_INC)/opcode.h            \
+       $(PERL_INC)/opnames.h           \
+       $(PERL_INC)/patchlevel.h        \
+       $(PERL_INC)/perl.h              \
+       $(PERL_INC)/perlapi.h           \
+       $(PERL_INC)/perlio.h            \
+       $(PERL_INC)/perlsdio.h          \
+       $(PERL_INC)/perlsfio.h          \
+       $(PERL_INC)/perlvars.h          \
+       $(PERL_INC)/perly.h             \
+       $(PERL_INC)/pp.h                \
+       $(PERL_INC)/pp_proto.h          \
+       $(PERL_INC)/proto.h             \
+       $(PERL_INC)/regcomp.h           \
+       $(PERL_INC)/regexp.h            \
+       $(PERL_INC)/regnodes.h          \
+       $(PERL_INC)/scope.h             \
+       $(PERL_INC)/sv.h                \
+       $(PERL_INC)/thrdvar.h           \
+       $(PERL_INC)/thread.h            \
+       $(PERL_INC)/unixish.h           \
+       $(PERL_INC)/utf8.h              \
+       $(PERL_INC)/util.h              \
+       $(PERL_INC)/warnings.h
 
 $(OBJECT) : $(PERL_HDRS)
 } if $self->{OBJECT};
@@ -3179,9 +3217,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: