The R Project SVN R

Rev

Rev 37908 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37908 Rev 38556
Line 36... Line 36...
36
use Text::Wrap;
36
use Text::Wrap;
37
 
37
 
38
## Don't buffer output.
38
## Don't buffer output.
39
$| = 1;
39
$| = 1;
40
 
40
 
41
my $revision = ' $Rev: 37908 $ ';
41
my $revision = ' $Rev: 38556 $ ';
42
my $version;
42
my $version;
43
my $name;
43
my $name;
44
$revision =~ / ([\d\.]*) /;
44
$revision =~ / ([\d\.]*) /;
45
$version = $1;
45
$version = $1;
46
($name = $0) =~ s|.*/||;
46
($name = $0) =~ s|.*/||;
Line 179... Line 179...
179
	print EXCLUDE "$File::Find::name\n" if(-d $_ && /[Oo]ld$/);
179
	print EXCLUDE "$File::Find::name\n" if(-d $_ && /[Oo]ld$/);
180
	print EXCLUDE "$File::Find::name\n" if /^GNUMakefile$/;
180
	print EXCLUDE "$File::Find::name\n" if /^GNUMakefile$/;
181
	print EXCLUDE "$File::Find::name\n" if(-d $_ && /^CVS$/);
181
	print EXCLUDE "$File::Find::name\n" if(-d $_ && /^CVS$/);
182
	print EXCLUDE "$File::Find::name\n" if(-d $_ && /^\.svn$/);
182
	print EXCLUDE "$File::Find::name\n" if(-d $_ && /^\.svn$/);
183
	print EXCLUDE "$File::Find::name\n" if(-d $_ && /^\.arch-ids$/);
183
	print EXCLUDE "$File::Find::name\n" if(-d $_ && /^\.arch-ids$/);
-
 
184
	print EXCLUDE "$File::Find::name\n" if(-d $_ && /^\.git$/);
184
	## Windows DLL resource file
185
	## Windows DLL resource file
185
	push(@exclude_patterns, "^src/" . $pkgname . "_res\\.rc");
186
	push(@exclude_patterns, "^src/" . $pkgname . "_res\\.rc");
186
	my $filename = $File::Find::name;
187
	my $filename = $File::Find::name;
187
	$filename =~ s/^[^\/]*\///;
188
	$filename =~ s/^[^\/]*\///;
188
	foreach my $p (@exclude_patterns) {
189
	foreach my $p (@exclude_patterns) {
Line 329... Line 330...
329
	    &fix_unneeded_dirs(&file_path($pkgname, $ppkg));
330
	    &fix_unneeded_dirs(&file_path($pkgname, $ppkg));
330
	}
331
	}
331
    } else {
332
    } else {
332
	&fix_unneeded_dirs($pkgname);
333
	&fix_unneeded_dirs($pkgname);
333
    }
334
    }
334
    
335
 
335
    ## Finalize.
336
    ## Finalize.
336
    if($opt_binary) {
337
    if($opt_binary) {
337
	$log->message("building binary distribution");
338
	$log->message("building binary distribution");
338
	chdir($startdir);
339
	chdir($startdir);
339
	if (!-d "$libdir") {
340
	if (!-d "$libdir") {
Line 512... Line 513...
512
sub cleanup_pkg {
513
sub cleanup_pkg {
513
    my ($pkg, $log) = @_;
514
    my ($pkg, $log) = @_;
514
 
515
 
515
    chdir($pkg);
516
    chdir($pkg);
516
    my $pkgdir = R_cwd();
517
    my $pkgdir = R_cwd();
517
    my $pkgname = basename($pkgdir);    
518
    my $pkgname = basename($pkgdir);
518
 
519
 
519
    if(-d "src") {
520
    if(-d "src") {
520
	chdir("src");
521
	chdir("src");
521
	$log->message("cleaning src");
522
	$log->message("cleaning src");
522
	if($WINDOWS) {
523
	if($WINDOWS) {
Line 538... Line 539...
538
						      "etc", "Makeconf"));
539
						      "etc", "Makeconf"));
539
		$makefiles .= " -f Makefile";
540
		$makefiles .= " -f Makefile";
540
		R_system("${R::Vars::MAKE} $makefiles clean");
541
		R_system("${R::Vars::MAKE} $makefiles clean");
541
	    } else {
542
	    } else {
542
		## Also cleanup possible Windows leftovers ...
543
		## Also cleanup possible Windows leftovers ...
543
		unlink((<*.o *.s[lo] *.dylib>, 
544
		unlink((<*.o *.s[lo] *.dylib>,
544
			"$pkgname.a", "$pkgname.dll", "$pkgname.def"));
545
			"$pkgname.a", "$pkgname.dll", "$pkgname.def"));
545
		rmtree(".libs") if (-d ".libs");
546
		rmtree(".libs") if (-d ".libs");
546
		rmtree("_libs") if (-d "_libs");		
547
		rmtree("_libs") if (-d "_libs");
547
	    }
548
	    }
548
	}
549
	}
549
    }
550
    }
550
 
551
 
551
    chdir($pkgdir);
552
    chdir($pkgdir);
552
    if(!$WINDOWS && -x "./cleanup") {
553
    if(!$WINDOWS && -x "./cleanup") {
553
	$log->message("running cleanup");
554
	$log->message("running cleanup");
554
	R_system("./cleanup");
555
	R_system("./cleanup");
555
    }
556
    }
556
    
557
 
557
    1;
558
    1;
558
}
559
}
559
    
560
 
560
 
561
 
561
sub unlink_junk_files {
562
sub unlink_junk_files {
562
    unlink($_) if /^(\.RData|\.Rhistory)$/;
563
    unlink($_) if /^(\.RData|\.Rhistory)$/;
563
    if(/^DESCRIPTION$/) {
564
    if(/^DESCRIPTION$/) {
564
	unlink($_) if (-f "DESCRIPTION.in");
565
	unlink($_) if (-f "DESCRIPTION.in");