81 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/perl
 | 
						|
# vim: set ts=2 sw=2 tw=99 noet: 
 | 
						|
 | 
						|
use strict;
 | 
						|
use Cwd;
 | 
						|
use File::Basename;
 | 
						|
use File::Path;
 | 
						|
 | 
						|
my ($myself, $path) = fileparse($0);
 | 
						|
chdir($path);
 | 
						|
 | 
						|
require 'helpers.pm';
 | 
						|
 | 
						|
#Go back above build dir
 | 
						|
chdir(Build::PathFormat('../../..'));
 | 
						|
 | 
						|
#Get the source path.
 | 
						|
our ($root) = getcwd();
 | 
						|
 | 
						|
my $reconf = 0;
 | 
						|
 | 
						|
#Create output folder if it doesn't exist.
 | 
						|
if (!(-d 'OUTPUT')) {
 | 
						|
	$reconf = 1;
 | 
						|
} else {
 | 
						|
	if (-f 'OUTPUT/sentinel') {
 | 
						|
		my @s = stat('OUTPUT/sentinel');
 | 
						|
		my $mtime = $s[9];
 | 
						|
		my @files = ('build/pushbuild.txt', 'build/AMBuildScript', 'build/product.version');
 | 
						|
		my ($i);
 | 
						|
		for ($i = 0; $i <= $#files; $i++) {
 | 
						|
			if (IsNewer($files[$i], $mtime)) {
 | 
						|
				$reconf = 1;
 | 
						|
				last;
 | 
						|
			}
 | 
						|
		}
 | 
						|
	} else {
 | 
						|
		$reconf = 1;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ($reconf) {
 | 
						|
	rmtree('OUTPUT');
 | 
						|
	mkdir('OUTPUT') or die("Failed to create output folder: $!\n");
 | 
						|
	chdir('OUTPUT');
 | 
						|
	my ($result, $argn);
 | 
						|
	$argn = $#ARGV + 1;
 | 
						|
	print "Attempting to reconfigure...\n";
 | 
						|
	if ($argn > 0 && $^O !~ /MSWin/) {
 | 
						|
		$result = `CC=$ARGV[0] CXX=$ARGV[0] python3 ../build/configure.py --enable-optimize`;
 | 
						|
	} else {
 | 
						|
		if ($^O eq "linux") {
 | 
						|
			$result = `CC=gcc-4.4 CXX=gcc-4.4 python3 ../build/configure.py --enable-optimize`;
 | 
						|
		} elsif ($^O eq "darwin") {
 | 
						|
			$result = `CC=clang CXX=clang python3 ../build/configure.py --enable-optimize`;
 | 
						|
		} else {
 | 
						|
			$result = `C:\\Python32\\Python.exe ..\\build\\configure.py --enable-optimize`;
 | 
						|
		}
 | 
						|
	}
 | 
						|
	print "$result\n";
 | 
						|
	if ($? != 0) {
 | 
						|
		die("Could not configure: $!\n");
 | 
						|
	}
 | 
						|
	open(FILE, '>sentinel');
 | 
						|
	print FILE "this is nothing.\n";
 | 
						|
	close(FILE);
 | 
						|
}
 | 
						|
 | 
						|
sub IsNewer
 | 
						|
{
 | 
						|
	my ($file, $time) = (@_);
 | 
						|
 | 
						|
	my @s = stat($file);
 | 
						|
	my $mtime = $s[9];
 | 
						|
	return $mtime > $time;
 | 
						|
}
 | 
						|
 | 
						|
exit(0);
 | 
						|
 | 
						|
 |