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";;