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