diff options
Diffstat (limited to 'tools/buildzip.pl')
-rwxr-xr-x | tools/buildzip.pl | 40 |
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" | ||
147 | Font Size We Want: MAX_FONT_SIZE | ||
148 | STOP | ||
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 | } |