tools/buildbot/symstore.pl
author Nicholas Hastings <skamonkey@gmail.com>
Fri Mar 21 12:04:41 2014 -0400 (2014-03-21)
changeset 4288 365162dbb87f
parent 4249 94abefb4f705
permissions -rwxr-xr-x
Record inline function debug info in PDB files (r=asherkin).
dvander@2267
     1
#!/usr/bin/perl
dvander@2267
     2
dvander@2267
     3
use File::Basename;
dvander@2267
     4
dvander@2267
     5
my ($myself, $path) = fileparse($0);
dvander@2267
     6
chdir($path);
dvander@2267
     7
dvander@2267
     8
require 'helpers.pm';
dvander@2267
     9
dvander@2267
    10
chdir('..');
dvander@2267
    11
chdir('..');
dvander@2267
    12
dvander@2783
    13
open(PDBLOG, '../OUTPUT/pdblog.txt') or die "Could not open pdblog.txt: $!\n";
dvander@2267
    14
dvander@2267
    15
#Get version info
dvander@2267
    16
my ($version);
dvander@2267
    17
$version = Build::ProductVersion(Build::PathFormat('product.version'));
dvander@2783
    18
$version =~ s/-dev//g;
dvander@2292
    19
$version .= '-hg' . Build::HgRevNum('.');
dvander@2267
    20
dvander@2723
    21
my ($build_type);
dvander@2723
    22
$build_type = Build::GetBuildType(Build::PathFormat('tools/buildbot/build_type'));
dvander@2723
    23
dvander@2783
    24
if ($build_type eq "dev")
dvander@2723
    25
{
dvander@2723
    26
	$build_type = "buildbot";
dvander@2723
    27
}
dvander@2783
    28
elsif ($build_type eq "rel")
dvander@2723
    29
{
dvander@2723
    30
	$build_type = "release";
dvander@2723
    31
}
dvander@2723
    32
dvander@2267
    33
my ($line);
dvander@2267
    34
while (<PDBLOG>)
dvander@2267
    35
{
dvander@2267
    36
	$line = $_;
dvander@2267
    37
	$line =~ s/\.pdb/\*/;
dvander@2267
    38
	chomp $line;
dvander@3214
    39
	Build::Command("symstore add /r /f \"..\\OUTPUT\\$line\" /s \"S:\\sourcemod\" /t \"SourceMod\" /v \"$version\" /c \"$build_type\"");
dvander@2267
    40
}
dvander@2267
    41
dvander@2267
    42
close(PDBLOG);
dvander@2267
    43
dvander@2393
    44
#Lowercase DLLs.  Sigh.
dvander@2393
    45
my (@files);
ds@4249
    46
opendir(DIR, "S:\\sourcemod") or die "Could not open sourcemod symbol folder: $!\n";
dvander@2393
    47
@files = readdir(DIR);
dvander@2393
    48
closedir(DIR);
dvander@2393
    49
dvander@2393
    50
my ($i, $j, $file, @subdirs);
dvander@2393
    51
for ($i = 0; $i <= $#files; $i++)
dvander@2393
    52
{
dvander@2393
    53
	$file = $files[$i];
dvander@2393
    54
	next unless ($file =~ /\.dll$/);
dvander@3214
    55
	next unless (-d "S:\\sourcemod\\$file");
ds@4249
    56
	opendir(DIR, "S:\\sourcemod\\$file") or die "Could not open S:\\sourcemod\\$file: $!\n";
dvander@2393
    57
	@subdirs = readdir(DIR);
dvander@2393
    58
	closedir(DIR);
dvander@2395
    59
	for ($j = 0; $j <= $#subdirs; $j++)
dvander@2393
    60
	{
dvander@2393
    61
		next unless ($subdirs[$j] =~ /[A-Z]/);
dvander@3214
    62
		Build::Command("rename S:\\sourcemod\\$file\\" . $subdirs[$j] . " " . lc($subdirs[$j]));
dvander@2393
    63
	}	
dvander@2393
    64
}
dvander@2393
    65