diff options
author | Daniel Stenberg <daniel@haxx.se> | 2008-02-18 12:17:34 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2008-02-18 12:17:34 +0000 |
commit | 8ebbe99328248d45f3937c4f15f936d5d36f4a58 (patch) | |
tree | 58dfa9555171528528912a8cb6109d351ea767eb /apps | |
parent | 43141cbfdb247b7e64bc3d3d5732f43732d59da0 (diff) | |
download | rockbox-8ebbe99328248d45f3937c4f15f936d5d36f4a58.tar.gz rockbox-8ebbe99328248d45f3937c4f15f936d5d36f4a58.zip |
FS#8482 take two. Make the language files built first, so that the largest
size can be used as buffer size for languages. Work to this also contributed
by Jonas Haggqvist.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16343 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/FILES | 1 | ||||
-rw-r--r-- | apps/lang/Makefile | 37 | ||||
-rw-r--r-- | apps/lang/SOURCES | 35 | ||||
-rw-r--r-- | apps/language.h | 12 |
4 files changed, 82 insertions, 3 deletions
diff --git a/apps/FILES b/apps/FILES index 36e3924158..956b12a04c 100644 --- a/apps/FILES +++ b/apps/FILES | |||
@@ -41,6 +41,7 @@ codecs/Tremor/* | |||
41 | eqs/*.cfg | 41 | eqs/*.cfg |
42 | gui/*.[ch] | 42 | gui/*.[ch] |
43 | keymaps/*.[ch] | 43 | keymaps/*.[ch] |
44 | lang/SOURCES | ||
44 | lang/*.lang | 45 | lang/*.lang |
45 | menus/*.[ch] | 46 | menus/*.[ch] |
46 | metadata/*.[ch] | 47 | metadata/*.[ch] |
diff --git a/apps/lang/Makefile b/apps/lang/Makefile index e69de29bb2..bcaaa692a0 100644 --- a/apps/lang/Makefile +++ b/apps/lang/Makefile | |||
@@ -0,0 +1,37 @@ | |||
1 | # __________ __ ___. | ||
2 | # Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
3 | # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
4 | # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
6 | # \/ \/ \/ \/ \/ | ||
7 | # $Id: $ | ||
8 | # | ||
9 | |||
10 | # the header we generate | ||
11 | HEADER = $(BUILDDIR)/max_language_size.h | ||
12 | |||
13 | # This sets up 'SRC' based on the files mentioned in SOURCES | ||
14 | include $(TOOLSDIR)/makesrc.inc | ||
15 | SOURCES=$(SRC) | ||
16 | |||
17 | # OUTP is the list of files to depend upon | ||
18 | OUTP = $(patsubst %.lang,$(OBJDIR)/%.lng, $(SOURCES)) | ||
19 | |||
20 | # the generated file with features specified genlang-style | ||
21 | FEATS=$(BUILDDIR)/apps/genlang-features | ||
22 | |||
23 | ifndef V | ||
24 | SILENT=@ | ||
25 | endif | ||
26 | PRINTS=$(SILENT)$(call info,$(1)) | ||
27 | |||
28 | all: $(HEADER) | ||
29 | |||
30 | # generic rule for creating .lng from .lang | ||
31 | $(OBJDIR)/%.lng : %.lang $(FEATS) | ||
32 | $(call PRINTS,GENLANG $<) | ||
33 | $(SILENT)$(TOOLSDIR)/genlang -e=$(APPSDIR)/lang/english.lang -t=$(MODELNAME)`cat $(FEATS)` -i=$(TARGET_ID) -b=$@ $< | ||
34 | |||
35 | $(HEADER): $(OUTP) | ||
36 | $(call PRINTS,Make $(HEADER)) | ||
37 | echo "#define MAX_LANGUAGE_SIZE `du -b $(OBJDIR)/* |sort -n |tail -n 1 |cut -f 1`" > $(HEADER) | ||
diff --git a/apps/lang/SOURCES b/apps/lang/SOURCES index e69de29bb2..af546460a2 100644 --- a/apps/lang/SOURCES +++ b/apps/lang/SOURCES | |||
@@ -0,0 +1,35 @@ | |||
1 | #ifdef HAVE_LCD_BITMAP /* Not for the Player */ | ||
2 | *.lang | ||
3 | #else | ||
4 | afrikaans.lang | ||
5 | bulgarian.lang | ||
6 | catala.lang | ||
7 | czech.lang | ||
8 | dansk.lang | ||
9 | deutsch.lang | ||
10 | eesti.lang | ||
11 | english.lang | ||
12 | espanol.lang | ||
13 | esperanto.lang | ||
14 | finnish.lang | ||
15 | francais.lang | ||
16 | galego.lang | ||
17 | greek.lang | ||
18 | hebrew.lang | ||
19 | islenska.lang | ||
20 | italiano.lang | ||
21 | magyar.lang | ||
22 | nederlands.lang | ||
23 | norsk.lang | ||
24 | norsk-nynorsk.lang | ||
25 | polski.lang | ||
26 | portugues-brasileiro.lang | ||
27 | portugues.lang | ||
28 | romaneste.lang | ||
29 | russian.lang | ||
30 | slovenscina.lang | ||
31 | svenska.lang | ||
32 | tagalog.lang | ||
33 | turkce.lang | ||
34 | wallisertitsch.lang | ||
35 | #endif /* HAVE_LCD_BITMAP */ | ||
diff --git a/apps/language.h b/apps/language.h index d8f899b573..14c8084a83 100644 --- a/apps/language.h +++ b/apps/language.h | |||
@@ -1,3 +1,5 @@ | |||
1 | #ifndef __LANGUAGE_H | ||
2 | #define __LANGUAGE_H | ||
1 | /*************************************************************************** | 3 | /*************************************************************************** |
2 | * __________ __ ___. | 4 | * __________ __ ___. |
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | 5 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ |
@@ -7,7 +9,7 @@ | |||
7 | * \/ \/ \/ \/ \/ | 9 | * \/ \/ \/ \/ \/ |
8 | * $Id$ | 10 | * $Id$ |
9 | * | 11 | * |
10 | * Copyright (C) 2002 Daniel Stenberg | 12 | * Copyright (C) 2002, 2008 Daniel Stenberg |
11 | * | 13 | * |
12 | * All files in this archive are subject to the GNU General Public License. | 14 | * All files in this archive are subject to the GNU General Public License. |
13 | * See the file COPYING in the source tree root for full license agreement. | 15 | * See the file COPYING in the source tree root for full license agreement. |
@@ -17,8 +19,10 @@ | |||
17 | * | 19 | * |
18 | ****************************************************************************/ | 20 | ****************************************************************************/ |
19 | 21 | ||
20 | /* size of the buffer used for loadable, translated strings */ | 22 | /* The following header is generated by the build system and only defines |
21 | #define MAX_LANGUAGE_SIZE 23500 | 23 | MAX_LANGUAGE_SIZE to be the size of the largest currently available |
24 | language! */ | ||
25 | #include "max_language_size.h" | ||
22 | 26 | ||
23 | /* both these must match the two initial bytes in the binary lang file */ | 27 | /* both these must match the two initial bytes in the binary lang file */ |
24 | #define LANGUAGE_COOKIE 0x1a | 28 | #define LANGUAGE_COOKIE 0x1a |
@@ -29,3 +33,5 @@ void lang_init(void); | |||
29 | 33 | ||
30 | /* load a given language file */ | 34 | /* load a given language file */ |
31 | int lang_load(const char *filename); | 35 | int lang_load(const char *filename); |
36 | |||
37 | #endif | ||