summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/autoconf.pl28
1 files changed, 25 insertions, 3 deletions
diff --git a/tools/autoconf.pl b/tools/autoconf.pl
index 24efc5a..e7ba3e2 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));