develooper Front page | perl.vmsperl | Postings from January 2002

[PATCH perl@14042] Devel::PPPort Makefile.PL umpteenth try

Thread Next
From:
Craig A. Berry
Date:
January 3, 2002 15:32
Subject:
[PATCH perl@14042] Devel::PPPort Makefile.PL umpteenth try
Message ID:
a05101004b85a82bb7352@[172.16.52.1]
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


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About