old-benchmark-code/kernel/build.pl

54 lines
1.1 KiB
Perl
Executable File

#!/usr/bin/perl
use strict;
print "Running on " . `hostname`;
if ( ! -e "linux-3.0.8.tar.xz") {
my $return = system("wget -c http://69.55.54.91/linux-3.0.8.tar.xz");
}
if ( ! -d "linux-3.0.8") {
system("tar xfJ linux-3.0.8.tar.xz");
system("sync");
}
chdir "linux-3.0.8";
system("cp /root/benchmarks/kernel/config-3.0.7 .config");
install_gcc();
exit if $ARGV[0] eq "--prep";
system("make oldconfig");
my $cpus = `cat /proc/cpuinfo |grep QEMU |wc -l`;
chomp $cpus;
system("make -j$cpus");
sub install_gcc {
my $return = system("gcc --version");
print "gcc RETURN: $return\n";
if ($return eq "-1") {
if (-e "/etc/gentoo-release") {
system "emerge gcc";
} elsif (-e "/etc/redhat-release") {
my @parts = split " ", `cat /etc/redhat-release`;
if ($parts[2] eq "5.6") {
my $arch = `uname -m`;
chomp $arch;
if ($arch eq "x86_64") {
system "yum install gcc -y";
} else {
system "yum install gcc -y";
}
}
system "yum install gcc -y";
} else {
system "apt-get -y install gcc";
}
} else {
return;
}
system "gcc --version";
}