| author | David Anderson <dvander@alliedmods.net> |
| Sat Sep 06 14:03:50 2008 +0000 (2008-09-06) | |
| changeset 2264 | 51083c92e49e |
| parent 2263 | 423bdb06c27e |
| child 2267 | b71701148241 |
| permissions | -rwxr-xr-x |
| dvander@2251 | 1 |
#!/usr/bin/perl |
| dvander@2251 | 2 |
|
| dvander@2255 | 3 |
use strict; |
| dvander@2255 | 4 |
use Cwd; |
| dvander@2255 | 5 |
use File::Basename; |
| dvander@2255 | 6 |
|
| dvander@2255 | 7 |
my ($myself, $path) = fileparse($0); |
| dvander@2255 | 8 |
chdir($path); |
| dvander@2255 | 9 |
|
| dvander@2254 | 10 |
require 'helpers.pm'; |
| dvander@2251 | 11 |
|
| dvander@2254 | 12 |
chdir(Build::PathFormat('../builder')); |
| dvander@2251 | 13 |
if ($^O eq "linux") |
| dvander@2251 | 14 |
{ |
| dvander@2251 | 15 |
Build::Command('make clean'); |
| dvander@2251 | 16 |
Build::Command('make'); |
| dvander@2251 | 17 |
} |
| dvander@2251 | 18 |
else |
| dvander@2251 | 19 |
{ |
| dvander@2263 | 20 |
Build::Command('"' . $ENV{'MSVC7'} . '" /Rebuild Release builder.csproj'); |
| dvander@2251 | 21 |
Build::Command('move ' . Build::PathFormat('bin/Release/builder.exe') . ' .'); |
| dvander@2251 | 22 |
} |
| dvander@2251 | 23 |
|
| dvander@2251 | 24 |
die "Unable to build builder tool!\n" unless -e 'builder.exe'; |
| dvander@2251 | 25 |
|
| dvander@2256 | 26 |
#Go back to main source dir. |
| dvander@2256 | 27 |
chdir(Build::PathFormat('../..')); |
| dvander@2256 | 28 |
|
| dvander@2256 | 29 |
#Get the source path. |
| dvander@2256 | 30 |
my ($root) = getcwd(); |
| dvander@2256 | 31 |
|
| dvander@2256 | 32 |
#Create output folder if it doesn't exist. |
| dvander@2256 | 33 |
if (!(-d 'OUTPUT')) { |
| dvander@2256 | 34 |
mkdir('OUTPUT') or die("Failed to create output folder: $!\n"); |
| dvander@2256 | 35 |
} |
| dvander@2256 | 36 |
|
| dvander@2256 | 37 |
#Write the configuration file. |
| dvander@2256 | 38 |
open(CONF, '>build.cfg') or die("Failed to write build.cfg: $!\n"); |
| dvander@2256 | 39 |
print CONF "OutputBase = " . Build::PathFormat($root . '/OUTPUT') . "\n"; |
| dvander@2256 | 40 |
print CONF "SourceBase = $root\n"; |
| dvander@2256 | 41 |
if ($^O eq "linux") |
| dvander@2256 | 42 |
{ |
| dvander@2256 | 43 |
print CONF "BuilderPath = /usr/bin/make\n"; |
| dvander@2256 | 44 |
} |
| dvander@2256 | 45 |
else |
| dvander@2256 | 46 |
{ |
| dvander@2256 | 47 |
print CONF "BuilderPath = " . $ENV{'MSVC8'} . "\n"; |
| dvander@2256 | 48 |
} |
| dvander@2256 | 49 |
close(CONF); |
| dvander@2256 | 50 |
|
| dvander@2256 | 51 |
#Do the annoying revision bumping. |
| dvander@2256 | 52 |
#Linux needs some help here. |
| dvander@2256 | 53 |
if ($^O eq "linux") |
| dvander@2256 | 54 |
{ |
| dvander@2256 | 55 |
Build::Command("flip -u modules.versions"); |
| dvander@2256 | 56 |
Build::Command("flip -u tools/versionchanger.pl"); |
| dvander@2256 | 57 |
Build::Command("chmod +x tools/versionchanger.pl"); |
| dvander@2256 | 58 |
} |
| dvander@2264 | 59 |
Build::Command(Build::PathFormat('tools/versionchanger.pl')); |