summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2009-12-07 12:20:56 +0000
committerBjörn Stenberg <bjorn@haxx.se>2009-12-07 12:20:56 +0000
commit9d4f0761b91b8f8dcd376864586d6fa85765c597 (patch)
treee68444c1e5c15f038ba850d10489d3cd4e558eed /tools
parentc0740440ac9c830f59e8b5c9b3a8aecc49766506 (diff)
Added missing file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23884 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools')
-rw-r--r--tools/builds.pm626
1 files changed, 626 insertions, 0 deletions
diff --git a/tools/builds.pm b/tools/builds.pm
new file mode 100644
index 0000000000..3653600efc
--- /dev/null
+++ b/tools/builds.pm
@@ -0,0 +1,626 @@
+$publicrelease="3.4";
+$releasedate="September 24, 2009";
+$releasenotes="/wiki/ReleaseNotes34";
+
+%builds = (
+ 'archosav300' => {
+ name => 'Archos AV300',
+ status => 1, # 3=stable, 2=unstable, 1=unusable
+ },
+ 'archosfmrecorder' => {
+ name => 'Archos FM Recorder',
+ status => 3,
+ },
+ 'archosondiofm' => {
+ name => 'Archos Ondio FM',
+ status => 3,
+ },
+ 'archosondiosp' => {
+ name => 'Archos Ondio SP',
+ status => 3,
+ },
+ 'archosplayer' => {
+ name => 'Archos Player/Studio',
+ status => 3,
+ },
+ 'archosrecorder' => {
+ name => 'Archos Recorder v1',
+ status => 3,
+ },
+ 'archosrecorderv2' => {
+ name => 'Archos Recorder v2',
+ status => 3,
+ },
+ 'cowond2' => {
+ name => 'Cowon D2',
+ status => 2,
+ },
+ 'gigabeatfx' => {
+ name => 'Toshiba Gigabeat F/X',
+ status => 3,
+ },
+ 'gigabeats' => {
+ name => 'Toshiba Gigabeat S',
+ status => 2,
+ },
+ 'gogearhdd1630' => {
+ name => 'Philips GoGear HDD1630',
+ status => 1,
+ },
+ 'gogearsa9200' => {
+ name => 'Philips GoGear SA9200',
+ status => 1,
+ },
+ 'iaudio7' => {
+ name => 'iAudio 7',
+ status => 1,
+ },
+ 'iaudiom3' => {
+ name => 'iAudio M3',
+ status => 3,
+ },
+ 'iaudiom5' => {
+ name => 'iAudio M5',
+ status => 3,
+ },
+ 'iaudiox5' => {
+ name => 'iAudio X5',
+ status => 3,
+ },
+ 'ipod1g2g' => {
+ name => 'iPod 1st and 2nd gen',
+ status => 3,
+ },
+ 'ipod3g' => {
+ name => 'iPod 3rd gen',
+ status => 3,
+ },
+ 'ipod4g' => {
+ name => 'iPod 4th gen Grayscale',
+ status => 3,
+ },
+ 'ipodcolor' => {
+ name => 'iPod color/Photo',
+ status => 3,
+ },
+ 'ipodmini1g' => {
+ name => 'iPod Mini 1st gen',
+ status => 3,
+ manual => 'ipodmini2g',
+ },
+ 'ipodmini2g' => {
+ name => 'iPod Mini 2nd gen',
+ status => 3,
+ icon => 'ipodmini1g',
+ },
+ 'ipodnano1g' => {
+ name => 'iPod Nano 1st gen',
+ status => 3,
+ },
+ 'ipodnano2g' => {
+ name => 'iPod Nano 2nd gen',
+ status => 3,
+ },
+ 'ipodvideo' => {
+ name => 'iPod Video 30GB',
+ status => 3,
+ },
+ 'ipodvideo64mb' => {
+ name => 'iPod Video 60/80GB',
+ status => 3,
+ icon => 'ipodvideo',
+ manual => 'ipodvideo',
+ voice => 'ipodvideo',
+ configname => 'ipodvideo',
+ ram => 64
+ },
+ 'iriverh10' => {
+ name => 'iriver H10 20GB',
+ status => 3,
+ },
+ 'iriverh10_5gb' => {
+ name => 'iriver H10 5GB',
+ status => 3,
+ manual => 'iriverh10',
+ },
+ 'iriverh100' => {
+ name => 'iriver H100/115',
+ status => 3,
+ },
+ 'iriverh120' => {
+ name => 'iriver H120/140',
+ status => 3,
+ icon => 'iriverh100',
+ manual => 'iriverh100',
+ },
+ 'iriverh300' => {
+ name => 'iriver H320/340',
+ status => 3,
+ },
+ 'iriverifp7xx' => {
+ name => 'iriver iFP-7xx',
+ status => 1,
+ },
+ 'logikdax' => {
+ name => 'Logik DAX',
+ status => 1,
+ },
+ 'lyreproto1' => {
+ name => 'Lyre Prototype 1',
+ status => 1,
+ },
+ 'mini2440' => {
+ name => 'Mini 2440',
+ status => 1,
+ },
+ 'meizum3' => {
+ name => 'Meizu M3',
+ status => 1,
+ },
+ 'meizum6sl' => {
+ name => 'Meizu M6SL',
+ status => 1,
+ },
+ 'meizum6sp' => {
+ name => 'Meizu M6SP',
+ status => 1,
+ },
+ 'mrobe100' => {
+ name => 'Olympus M-Robe 100',
+ status => 3,
+ },
+ 'mrobe500' => {
+ name => 'Olympus M-Robe 500',
+ status => 2,
+ },
+ 'ondavx747' => {
+ name => 'Onda VX747',
+ status => 1,
+ },
+ 'ondavx747p' => {
+ name => 'Onda VX747+',
+ status => 1,
+ },
+ 'ondavx767' => {
+ name => 'Onda VX767',
+ status => 1,
+ },
+ 'ondavx777' => {
+ name => 'Onda VX777',
+ status => 1,
+ },
+ 'samsungyh820' => {
+ name => 'Samsung YH-820',
+ status => 2,
+ },
+ 'samsungyh920' => {
+ name => 'Samsung YH-920',
+ status => 2,
+ },
+ 'samsungyh925' => {
+ name => 'Samsung YH-925',
+ status => 2,
+ },
+ 'samsungyps3' => {
+ name => 'Samsung YP-S3',
+ status => 1,
+ },
+ 'sansac100' => {
+ name => 'SanDisk Sansa c100',
+ status => 1,
+ },
+ 'sansac200' => {
+ name => 'SanDisk Sansa c200',
+ status => 3,
+ },
+ 'sansac200v2' => {
+ name => 'SanDisk Sansa c200 v2',
+ status => 1,
+ icon => 'sansac200',
+ },
+ 'sansaclip' => {
+ name => 'SanDisk Sansa Clip',
+ status => 2,
+ },
+ 'sansaclipv2' => {
+ name => 'SanDisk Sansa Clip v2',
+ status => 1,
+ },
+ 'sansae200' => {
+ name => 'SanDisk Sansa e200',
+ status => 3,
+ },
+ 'sansae200r' => {
+ name => 'SanDisk Sansa e200R',
+ status => 3,
+ icon => 'sansae200',
+ },
+ 'sansae200v2' => {
+ name => 'SanDisk Sansa e200 v2',
+ status => 3,
+ icon => 'sansae200',
+ },
+ 'sansafuze' => {
+ name => 'SanDisk Sansa Fuze',
+ status => 2,
+ },
+ 'sansam200' => {
+ name => 'SanDisk Sansa m200',
+ status => 1,
+ },
+ 'sansam200v4' => {
+ name => 'SanDisk Sansa m200 v4',
+ status => 1,
+ },
+ 'sansaview' => {
+ name => 'SanDisk Sansa View',
+ status => 1,
+ },
+ 'tatungtpj1022' => {
+ name => 'Tatung Elio TPJ-1022',
+ status => 1,
+ },
+ 'zenvision' => {
+ name => 'Creative Zen Vision',
+ status => 1,
+ },
+ 'zenvisionm30gb' => {
+ name => 'Creative Zen Vision:M 30GB',
+ status => 1,
+ },
+ 'zenvisionm60gb' => {
+ name => 'Creative Zen Vision:M 60GB',
+ status => 1,
+ },
+);
+
+sub manualname {
+ my $m = shift @_;
+
+ return $builds{$m}{manual} ? "$builds{$m}{manual}" : $m;
+}
+
+sub voicename {
+ my $m = shift @_;
+
+ return $builds{$m}{voice} ? "$builds{$m}{voice}" : $m;
+}
+
+sub byname {
+ return $builds{$a}{name} cmp $builds{$b}{name};
+}
+
+sub usablebuilds {
+ my @list;
+
+ for my $b (sort byname keys %builds) {
+ push @list, $b if ($builds{$b}{status} >= 2);
+ }
+
+ return @list;
+}
+
+sub stablebuilds {
+ my @list;
+
+ for my $b (sort byname keys %builds) {
+ push @list, $b if ($builds{$b}{status} >= 3);
+ }
+
+ return @list;
+}
+
+1;
+$publicrelease="3.4";
+$releasedate="September 24, 2009";
+$releasenotes="/wiki/ReleaseNotes34";
+
+%builds = (
+ 'archosav300' => {
+ name => 'Archos AV300',
+ status => 1, # 3=stable, 2=unstable, 1=unusable
+ },
+ 'archosfmrecorder' => {
+ name => 'Archos FM Recorder',
+ status => 3,
+ },
+ 'archosondiofm' => {
+ name => 'Archos Ondio FM',
+ status => 3,
+ },
+ 'archosondiosp' => {
+ name => 'Archos Ondio SP',
+ status => 3,
+ },
+ 'archosplayer' => {
+ name => 'Archos Player/Studio',
+ status => 3,
+ },
+ 'archosrecorder' => {
+ name => 'Archos Recorder v1',
+ status => 3,
+ },
+ 'archosrecorderv2' => {
+ name => 'Archos Recorder v2',
+ status => 3,
+ },
+ 'cowond2' => {
+ name => 'Cowon D2',
+ status => 2,
+ },
+ 'gigabeatfx' => {
+ name => 'Toshiba Gigabeat F/X',
+ status => 3,
+ },
+ 'gigabeats' => {
+ name => 'Toshiba Gigabeat S',
+ status => 2,
+ },
+ 'gogearhdd1630' => {
+ name => 'Philips GoGear HDD1630',
+ status => 1,
+ },
+ 'gogearsa9200' => {
+ name => 'Philips GoGear SA9200',
+ status => 1,
+ },
+ 'iaudio7' => {
+ name => 'iAudio 7',
+ status => 1,
+ },
+ 'iaudiom3' => {
+ name => 'iAudio M3',
+ status => 3,
+ },
+ 'iaudiom5' => {
+ name => 'iAudio M5',
+ status => 3,
+ },
+ 'iaudiox5' => {
+ name => 'iAudio X5',
+ status => 3,
+ },
+ 'ipod1g2g' => {
+ name => 'iPod 1st and 2nd gen',
+ status => 3,
+ },
+ 'ipod3g' => {
+ name => 'iPod 3rd gen',
+ status => 3,
+ },
+ 'ipod4g' => {
+ name => 'iPod 4th gen Grayscale',
+ status => 3,
+ },
+ 'ipodcolor' => {
+ name => 'iPod color/Photo',
+ status => 3,
+ },
+ 'ipodmini1g' => {
+ name => 'iPod Mini 1st gen',
+ status => 3,
+ manual => 'ipodmini2g',
+ },
+ 'ipodmini2g' => {
+ name => 'iPod Mini 2nd gen',
+ status => 3,
+ icon => 'ipodmini1g',
+ },
+ 'ipodnano1g' => {
+ name => 'iPod Nano 1st gen',
+ status => 3,
+ },
+ 'ipodnano2g' => {
+ name => 'iPod Nano 2nd gen',
+ status => 3,
+ },
+ 'ipodvideo' => {
+ name => 'iPod Video 30GB',
+ status => 3,
+ },
+ 'ipodvideo64mb' => {
+ name => 'iPod Video 60/80GB',
+ status => 3,
+ icon => 'ipodvideo',
+ manual => 'ipodvideo',
+ voice => 'ipodvideo',
+ configname => 'ipodvideo',
+ ram => 64
+ },
+ 'iriverh10' => {
+ name => 'iriver H10 20GB',
+ status => 3,
+ },
+ 'iriverh10_5gb' => {
+ name => 'iriver H10 5GB',
+ status => 3,
+ manual => 'iriverh10',
+ },
+ 'iriverh100' => {
+ name => 'iriver H100/115',
+ status => 3,
+ },
+ 'iriverh120' => {
+ name => 'iriver H120/140',
+ status => 3,
+ icon => 'iriverh100',
+ manual => 'iriverh100',
+ },
+ 'iriverh300' => {
+ name => 'iriver H320/340',
+ status => 3,
+ },
+ 'iriverifp7xx' => {
+ name => 'iriver iFP-7xx',
+ status => 1,
+ },
+ 'logikdax' => {
+ name => 'Logik DAX',
+ status => 1,
+ },
+ 'lyreproto1' => {
+ name => 'Lyre Prototype 1',
+ status => 1,
+ },
+ 'mini2440' => {
+ name => 'Mini 2440',
+ status => 1,
+ },
+ 'meizum3' => {
+ name => 'Meizu M3',
+ status => 1,
+ },
+ 'meizum6sl' => {
+ name => 'Meizu M6SL',
+ status => 1,
+ },
+ 'meizum6sp' => {
+ name => 'Meizu M6SP',
+ status => 1,
+ },
+ 'mrobe100' => {
+ name => 'Olympus M-Robe 100',
+ status => 3,
+ },
+ 'mrobe500' => {
+ name => 'Olympus M-Robe 500',
+ status => 2,
+ },
+ 'ondavx747' => {
+ name => 'Onda VX747',
+ status => 1,
+ },
+ 'ondavx747p' => {
+ name => 'Onda VX747+',
+ status => 1,
+ },
+ 'ondavx767' => {
+ name => 'Onda VX767',
+ status => 1,
+ },
+ 'ondavx777' => {
+ name => 'Onda VX777',
+ status => 1,
+ },
+ 'samsungyh820' => {
+ name => 'Samsung YH-820',
+ status => 2,
+ },
+ 'samsungyh920' => {
+ name => 'Samsung YH-920',
+ status => 2,
+ },
+ 'samsungyh925' => {
+ name => 'Samsung YH-925',
+ status => 2,
+ },
+ 'samsungyps3' => {
+ name => 'Samsung YP-S3',
+ status => 1,
+ },
+ 'sansac100' => {
+ name => 'SanDisk Sansa c100',
+ status => 1,
+ },
+ 'sansac200' => {
+ name => 'SanDisk Sansa c200',
+ status => 3,
+ },
+ 'sansac200v2' => {
+ name => 'SanDisk Sansa c200 v2',
+ status => 1,
+ icon => 'sansac200',
+ },
+ 'sansaclip' => {
+ name => 'SanDisk Sansa Clip',
+ status => 2,
+ },
+ 'sansaclipv2' => {
+ name => 'SanDisk Sansa Clip v2',
+ status => 1,
+ },
+ 'sansae200' => {
+ name => 'SanDisk Sansa e200',
+ status => 3,
+ },
+ 'sansae200r' => {
+ name => 'SanDisk Sansa e200R',
+ status => 3,
+ icon => 'sansae200',
+ },
+ 'sansae200v2' => {
+ name => 'SanDisk Sansa e200 v2',
+ status => 3,
+ icon => 'sansae200',
+ },
+ 'sansafuze' => {
+ name => 'SanDisk Sansa Fuze',
+ status => 2,
+ },
+ 'sansam200' => {
+ name => 'SanDisk Sansa m200',
+ status => 1,
+ },
+ 'sansam200v4' => {
+ name => 'SanDisk Sansa m200 v4',
+ status => 1,
+ },
+ 'sansaview' => {
+ name => 'SanDisk Sansa View',
+ status => 1,
+ },
+ 'tatungtpj1022' => {
+ name => 'Tatung Elio TPJ-1022',
+ status => 1,
+ },
+ 'zenvision' => {
+ name => 'Creative Zen Vision',
+ status => 1,
+ },
+ 'zenvisionm30gb' => {
+ name => 'Creative Zen Vision:M 30GB',
+ status => 1,
+ },
+ 'zenvisionm60gb' => {
+ name => 'Creative Zen Vision:M 60GB',
+ status => 1,
+ },
+);
+
+sub manualname {
+ my $m = shift @_;
+
+ return $builds{$m}{manual} ? "$builds{$m}{manual}" : $m;
+}
+
+sub voicename {
+ my $m = shift @_;
+
+ return $builds{$m}{voice} ? "$builds{$m}{voice}" : $m;
+}
+
+sub byname {
+ return $builds{$a}{name} cmp $builds{$b}{name};
+}
+
+sub usablebuilds {
+ my @list;
+
+ for my $b (sort byname keys %builds) {
+ push @list, $b if ($builds{$b}{status} >= 2);
+ }
+
+ return @list;
+}
+
+sub stablebuilds {
+ my @list;
+
+ for my $b (sort byname keys %builds) {
+ push @list, $b if ($builds{$b}{status} >= 3);
+ }
+
+ return @list;
+}
+
+1;