diff --git a/tools/autoconf.pl b/tools/autoconf.pl index 24efc5aaf3..e7ba3e20f2 100755 --- a/tools/autoconf.pl +++ b/tools/autoconf.pl @@ -30,7 +30,7 @@ my @dirs = split(/\//, $builddir); my $test = pop(@dirs); sub doconfigure { - my ($target, $type) = @_; + my ($target, $type, $width, $height) = @_; if (!exists($builds{$target})) { for $key (keys(%builds)) { if ($key =~ $target) { @@ -40,9 +40,23 @@ sub doconfigure { } } $command = "${srcdir}/configure --type=${type} --target=${target}"; + if (defined $width) { + $command .= " --lcdwidth=${width}"; + } + if (defined $height) { + $command .= " --lcdheight=${height}"; + } %typenames = ("n" => "Normal", "s" => "Simulator", "b" => "Bootloader" ); unless (@ARGV[0] eq "-y") { - print "Rockbox autoconf: \n\tTarget: $target \n\tType: $typenames{$type} \nCorrect? [Y/n] "; + $prompt = "Rockbox autoconf: \n\tTarget: $target \n\tType: $typenames{$type} \n"; + if (defined $width) { + $prompt .= "\tLCD width: $width\n"; + } + if (defined $height) { + $prompt .= "\tLCD height: $height\n"; + } + print $prompt . "Correct? [Y/n] "; + chomp($response = <>); if ($response eq "") { $response = "y"; @@ -69,7 +83,15 @@ sub buildtype { return $build; } -if ($test =~ /(.*)-(.*)/) +if ($test =~ /(.*)-(.*)-([0-9]+)x([0-9]+)/) +{ + if (buildtype($2)) { + doconfigure($1, buildtype($2), $3, $4); + } elsif (buildtype($1)) { + doconfigure($2, buildtype($1), $3, $4); + } +} +elsif ($test =~ /(.*)-(.*)/) { if (buildtype($2)) { doconfigure($1, buildtype($2));