cvs commit: ponie Configure.pl

[email protected] (Nicholas Clark) 29 Apr 2004 16:17:09 -0000
Newsgroups perl.ponie.changes
Message-ID <[email protected]>
cvsuser     04/04/29 09:17:08

  Modified:    .        Configure.pl
  Log:
  Replace system calls to utilities with perl builtins
  
  Revision  Changes    Path
  1.19      +16 -13    ponie/Configure.pl
  
  Index: Configure.pl
  ===================================================================
  RCS file: /cvs/public/ponie/Configure.pl,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -w -r1.18 -r1.19
  --- Configure.pl	28 Apr 2004 11:44:11 -0000	1.18
  +++ Configure.pl	29 Apr 2004 16:17:08 -0000	1.19
  @@ -1,3 +1,4 @@
  +#!/usr/bin/perl -w
   
   use strict;
   use Config;
  @@ -43,14 +44,15 @@
   
   unless(-e 'parrot/parrot') {
       chdir('parrot')  || die "You need to checkout parrot inside ponie";
  -    chdir('classes') || die;
  -    system('rm -f perl5lv.pmc') && die "Error";
  -    system('ln','-s',"$dir/src/pmc/perl5lv.pmc") && die "error";
  -    system('rm -f perl5av.pmc') && die "Error";
  -    system('ln','-s',"$dir/src/pmc/perl5av.pmc") && die "error";
  -    system('rm -f perl5xpvhv.pmc') && die "Error";
  -    system('ln','-s',"$dir/src/pmc/perl5xpvhv.pmc") && die "error";
  -    chdir('..') || die;
  +    foreach (qw(perl5lv.pmc perl5av.pmc perl5xpvhv.pmc)) {
  +      my $file = File::Spec->catfile('classes', $_);
  +      if (-e $file) {
  +	unlink $file or die "unlink '$file' failed: $!";
  +      }
  +      my $orig = File::Spec->catfile ($dir, 'src', 'pmc', $_);
  +      symlink $orig, $file or die "symlink $orig, $file failed: $!";
  +    }
  +
       system($^X,'Configure.pl', "--gc=libc",
   	   "--ccflags= :add{ -I$dir/perl}",
   	   "--icudatadir=$FindBin::Bin/parrot/blib/lib/icu/2.6.1")
  @@ -107,10 +109,11 @@
       $cmd .= join(' ',@config_args);
       print "Executing '$cmd'\n";
       
  -    system('rm -f Policy.sh');
  -    system('rm -f Policy.h');
  -    system('rm -f config.sh');
  -    system('rm -f config.h');
  +    foreach my $file (qw(Policy.sh Policy.h config.sh config.h)) {
  +      if (-f $file) {
  +	unlink $file or die "unlink '$file' failed: $!";
  +      }
  +    }
       system('sh','Configure',@config_args)  && die "error";;
       # Manually extract config.h
       system('sh','config_h.SH')  && die "error";;