tools/buildbot/bootstrap.pl
author David Anderson <dvander@alliedmods.net>
Sun Dec 28 20:33:21 2008 -0500 (2008-12-28)
changeset 2492 62cc69f6aa8b
parent 2328 06b4a64207d4
child 2495 bfd0404083fe
permissions -rwxr-xr-x
Removed -dev tag for release build.
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@2328
    20
    Build::Command('"' . $ENV{'VC9BUILDER'} . '" /rebuild builder.csproj Release');
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@2328
    47
    print CONF "BuilderPath = " . $ENV{'VC9BUILDER'} . "\n";
dvander@2267
    48
    print CONF "PDBLog = $root\\OUTPUT\\pdblog.txt\n";
dvander@2256
    49
}
dvander@2256
    50
close(CONF);
dvander@2256
    51
dvander@2256
    52
#Do the annoying revision bumping.
dvander@2256
    53
#Linux needs some help here.
dvander@2256
    54
if ($^O eq "linux")
dvander@2256
    55
{
dvander@2256
    56
    Build::Command("flip -u modules.versions");
dvander@2256
    57
    Build::Command("flip -u tools/versionchanger.pl");
dvander@2256
    58
    Build::Command("chmod +x tools/versionchanger.pl");
dvander@2256
    59
}
dvander@2492
    60
#Build::Command(Build::PathFormat('tools/versionchanger.pl') . ' --buildstring="-dev"');