OK, hopefully I'm the first one with my finger in the pie this time. This reduces nearly everything to macros, which I hope improves portability. Unfortunately some of the macros for running Perl (apparently little used) turn out not to have the argument quoting that is necessary on VMS, so the second hunk here fixes that in MM_Unix.pm (in a method not overridden in MM_VMS.pm). --- ext/Devel/PPPort/Makefile.PL;-0 Thu Jan 3 10:48:46 2002 +++ ext/Devel/PPPort/Makefile.PL Thu Jan 3 16:54:59 2002 @@ -7,19 +7,21 @@ VERSION_FROM=> 'PPPort.pm', #PM => {'PPPort.pm' => '$(INST_LIBDIR)/PPPort.pm'}, - OBJECT => 'PPPort$(OBJ_EXT) module2$(OBJ_EXT) module3$(OBJ_EXT)', + C => [qw(module2.c module3.c)], + H => [qw(ppport.h)], + OBJECT => '$(BASEEXT)$(OBJ_EXT) $(O_FILES)', XSPROTOARG => '-noprototypes', 'dist' => { COMPRESS=>"gzip", SUFFIX=>"gz" }, - 'clean' => { FILES => "ppport.h ppport_h"}, + 'clean' => { FILES => qw($(H_FILES))} ); sub MY::postamble { return <<"EOM"; -ppport.h: ppport_h - \$(TOUCH) ppport_h +\$(H_FILES) : ppport_h.PL + \$(PERLRUNINST) ppport_h.PL -PPPort\$(OBJ_EXT) module2\$(OBJ_EXT) module3\$(OBJ_EXT): ppport.h +\$(OBJECT) : \$(H_FILES) EOM } --- lib/ExtUtils/MM_Unix.pm;-0 Thu Jan 3 10:49:08 2002 +++ lib/ExtUtils/MM_Unix.pm Thu Jan 3 15:07:54 2002 @@ -2049,20 +2049,22 @@ # Are we building the core? $self->{PERL_CORE} = 0 unless exists $self->{PERL_CORE}; + my $aq = ($^O eq 'VMS' ? '"' : ''); # command-line argument quoter + # How do we run perl? $self->{PERLRUN} = $self->{PERL}; - $self->{PERLRUN} .= ' -I$(PERL_LIB)' if $self->{UNINSTALLED_PERL}; + $self->{PERLRUN} .= " -${aq}I\$(PERL_LIB)$aq" if $self->{UNINSTALLED_PERL}; # How do we run perl when installing libraries? - $self->{PERLRUNINST} .= $self->{PERLRUN}. ' -I$(INST_ARCHLIB) -I$(INST_LIB)'; + $self->{PERLRUNINST} .= $self->{PERLRUN}. " -${aq}I\$(INST_ARCHLIB)$aq -${aq}I\$(INST_LIB)$aq"; # What extra library dirs do we need when running the tests? - $self->{TEST_LIBS} .= ' -I$(INST_ARCHLIB) -I$(INST_LIB)'; + $self->{TEST_LIBS} .= " -${aq}I\$(INST_ARCHLIB)$aq -${aq}I\$(INST_LIB)$aq"; # When building the core, we need to add some helper libs since # perl's @INC won't work (we're not installed yet). foreach my $targ (qw(PERLRUN PERLRUNINST TEST_LIBS)) { - $self->{$targ} .= ' -I$(PERL_ARCHLIB) -I$(PERL_LIB)' + $self->{$targ} .= " -${aq}I\$(PERL_ARCHLIB)$aq -${aq}I\$(PERL_LIB)$aq" if $self->{PERL_CORE}; } }Thread Next