summaryrefslogtreecommitdiff
path: root/tools/release/voices.pl
diff options
context:
space:
mode:
Diffstat (limited to 'tools/release/voices.pl')
-rwxr-xr-xtools/release/voices.pl101
1 files changed, 101 insertions, 0 deletions
diff --git a/tools/release/voices.pl b/tools/release/voices.pl
new file mode 100755
index 0000000000..a05f706111
--- /dev/null
+++ b/tools/release/voices.pl
@@ -0,0 +1,101 @@
1#!/usr/bin/perl
2
3$version="3.0";
4
5my $verbose;
6if($ARGV[0] eq "-v") {
7 $verbose =1;
8 shift @ARGV;
9}
10
11my $doonly;
12if($ARGV[0]) {
13 $doonly = $ARGV[0];
14 print "only build $doonly\n" if($verbose);
15}
16
17# made once for all targets
18sub runone {
19 my ($dir, $select, $newl)=@_;
20 my $a;
21
22 if($doonly && ($doonly ne $dir)) {
23 return;
24 }
25
26 mkdir "build-$dir";
27 chdir "build-$dir";
28 print "Build in build-$dir\n" if($verbose);
29
30 # build the manual(s)
31 $a = buildit($dir, $select, $newl);
32
33 chdir "..";
34
35 my $o="build-$dir/english.voice";
36 if (-f $o) {
37 my $newo="output/$dir-$version-english.zip";
38 system("cp $o output/$dir-$version-english.voice");
39 system("mkdir -p .rockbox/langs");
40 system("cp $o .rockbox/langs");
41 system("zip -r $newo .rockbox");
42 system("rm -rf .rockbox");
43 print "moved $o to $newo\n" if($verbose);
44 }
45
46 print "remove all contents in build-$dir\n" if($verbose);
47 system("rm -rf build-$dir");
48
49 return $a;
50};
51
52sub buildit {
53 my ($dir, $select, $newl)=@_;
54
55 `rm -rf * >/dev/null 2>&1`;
56
57 # V (voice), F (festival), L (lame), [blank] (English)
58 my $c = sprintf('echo -e "%s\n%sa\nv\n\n\nf\n\n" | ../tools/configure',
59 $select, $newl?'\n':"");
60
61 print "C: $c\n" if($verbose);
62 `$c`;
63
64 print "Run 'make voice'\n" if($verbose);
65 print `make voice 2>/dev/null`;
66}
67
68# run make in tools first to make sure they're up-to-date
69`(cd tools && make ) >/dev/null 2>&1`;
70
71`rm -f /home/dast/tmp/rockbox-voices-$version/voice-pool/*`;
72$ENV{'POOL'}="/home/dast/tmp/rockbox-voices-$version/voice-pool";
73
74runone("player", "player", 1);
75runone("recorder", "recorder", 1);
76runone("fmrecorder", "fmrecorder", 1);
77runone("recorderv2", "recorderv2", 1);
78runone("ondiosp", "ondiosp", 1);
79runone("ondiofm", "ondiofm", 1);
80runone("h100", "h100");
81runone("h120", "h120");
82runone("h300", "h300");
83runone("ipodcolor", "ipodcolor");
84runone("ipodnano", "ipodnano");
85runone("ipod4gray", "ipod4g");
86runone("ipodvideo", "ipodvideo", 1);
87runone("ipod3g", "ipod3g");
88runone("ipod1g2g", "ipod1g2g");
89runone("iaudiox5", "x5");
90runone("iaudiom5", "m5");
91runone("iaudiom3", "m3");
92runone("ipodmini2g", "ipodmini2g");
93runone("ipodmini1g", "ipodmini");
94runone("h10", "h10");
95runone("h10_5gb", "h10_5gb");
96runone("gigabeatf", "gigabeatf");
97runone("sansae200", "e200");
98runone("sansac200", "c200");
99runone("mrobe100", "mrobe100");
100#runone("cowond2", "cowond2");
101