summaryrefslogtreecommitdiff
path: root/tools/buildzip.pl
diff options
context:
space:
mode:
Diffstat (limited to 'tools/buildzip.pl')
-rwxr-xr-xtools/buildzip.pl40
1 files changed, 11 insertions, 29 deletions
diff --git a/tools/buildzip.pl b/tools/buildzip.pl
index 1ec2bea9ef..57ffbdf749 100755
--- a/tools/buildzip.pl
+++ b/tools/buildzip.pl
@@ -62,16 +62,26 @@ sub buildzip {
62 mkdir ".rockbox/langs", 0777; 62 mkdir ".rockbox/langs", 0777;
63 mkdir ".rockbox/rocks", 0777; 63 mkdir ".rockbox/rocks", 0777;
64 mkdir ".rockbox/codecs", 0777; 64 mkdir ".rockbox/codecs", 0777;
65 mkdir ".rockbox/codepages", 0777;
65 mkdir ".rockbox/wps", 0777; 66 mkdir ".rockbox/wps", 0777;
66 mkdir ".rockbox/themes", 0777; 67 mkdir ".rockbox/themes", 0777;
67 68
68 my $c = 'find apps -name "*.codec" ! -empty -exec cp {} .rockbox/codecs/ \;'; 69 my $c = 'find apps -name "*.codec" ! -empty -exec cp {} .rockbox/codecs/ \;';
69 print `$c`; 70 print `$c`;
70 71
72 system("$ROOT/tools/codepages");
73 my $c = 'find . -name "*.cp" ! -empty -exec mv {} .rockbox/codepages/ \; >/dev/null 2>&1';
74 print `$c`;
75
71 my @call = `find .rockbox/codecs -type f`; 76 my @call = `find .rockbox/codecs -type f`;
72 if(!$call[0]) { 77 if(!$call[0]) {
73 # no codec was copied, remove directory again 78 # no codec was copied, remove directory again
74 rmdir(".rockbox/codecs"); 79 rmdir(".rockbox/codecs");
80
81 system("$ROOT/tools/codepages");
82 my $c = 'find . -name "*.cp" ! -empty -exec mv {} .rockbox/codepages/ \; >/dev/null 2>&1';
83 print `$c`;
84
75 } 85 }
76 86
77 87
@@ -139,44 +149,16 @@ sub buildzip {
139 my @fonts = grep { /\.bdf$/ && -f "$ROOT/fonts/$_" } readdir(DIR); 149 my @fonts = grep { /\.bdf$/ && -f "$ROOT/fonts/$_" } readdir(DIR);
140 closedir DIR; 150 closedir DIR;
141 151
142 my $maxfont;
143
144 open(SIZE, ">ziptemp");
145 print SIZE <<STOP
146\#include "font.h"
147Font Size We Want: MAX_FONT_SIZE
148STOP
149;
150 close(SIZE);
151 my $c="cat ziptemp | gcc $cppdef -I. -I$firmdir/export -E -P -";
152 # print STDERR "C: $c\n";
153 open(GETSIZE, "$c|");
154
155 while(<GETSIZE>) {
156 if($_ =~ /^Font Size We Want: (\d*)/) {
157 $maxfont = $1;
158 last;
159 }
160 }
161 close(GETSIZE);
162 unlink("ziptemp");
163 die "no decent max font size" if ($maxfont < 2000);
164
165 for(@fonts) { 152 for(@fonts) {
166 my $f = $_; 153 my $f = $_;
167 154
168 print "FONT: $f\n" if($verbose); 155 print "FONT: $f\n" if($verbose);
169 my $o = $f; 156 my $o = $f;
170 $o =~ s/\.bdf/\.fnt/; 157 $o =~ s/\.bdf/\.fnt/;
171 my $cmd ="$ROOT/tools/convbdf -s 32 -l 255 -f -o \".rockbox/fonts/$o\" \"$ROOT/fonts/$f\" >/dev/null 2>&1"; 158 my $cmd ="$ROOT/tools/convbdf -f -o \".rockbox/fonts/$o\" \"$ROOT/fonts/$f\" >/dev/null 2>&1";
172 print "CMD: $cmd\n" if($verbose); 159 print "CMD: $cmd\n" if($verbose);
173 `$cmd`; 160 `$cmd`;
174 161
175 # no need to add fonts we cannot load anyway
176 my $fontsize = filesize(".rockbox/fonts/$o");
177 if($fontsize > $maxfont) {
178 unlink(".rockbox/fonts/$o");
179 }
180 } 162 }
181 163
182 } 164 }