tools/buildbot/bootstrap.pl
author David Anderson <dvander@alliedmods.net>
Sat Sep 06 14:02:48 2008 +0000 (2008-09-06)
changeset 2263 423bdb06c27e
parent 2256 de422b59bdfc
child 2264 51083c92e49e
permissions -rwxr-xr-x
Enclose bootstrapper command in quotes.
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@2256
    59
Build::Command("tools/versionchanger.pl");