From 8b8c0c7c2ac40cd729a9eeb39189c184978b6d57 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Thu, 23 May 2024 21:36:54 -0400 Subject: checkwps: Validate translated strings (%Sx) In verbose mode it will log valid the strings found, otherwise it will only complain when we encounter a missing string. Unfortunately a missing string is not inherently a problem, due to conditional expressions. So all we can do is complain in checkwps or if wps debugging is turned on. Meanwhile, this is the first step in actually enumerating the translated strings used by themes. Change-Id: Ia93b333085e825d5b085c4d372ad8e13aa3e3ba1 --- tools/checkwps/SOURCES | 1 + tools/checkwps/checkwps.c | 9 +++++---- tools/checkwps/checkwps.make | 39 +++++++++++++++++++++++++++++++++++---- tools/configure | 1 - 4 files changed, 41 insertions(+), 9 deletions(-) (limited to 'tools') diff --git a/tools/checkwps/SOURCES b/tools/checkwps/SOURCES index c00268fa75..45d59a16a5 100644 --- a/tools/checkwps/SOURCES +++ b/tools/checkwps/SOURCES @@ -2,6 +2,7 @@ ../../apps/gui/skin_engine/skin_parser.c ../../apps/gui/skin_engine/skin_backdrops.c ../../apps/gui/viewport.c +../../apps/language.c ../../apps/misc.c ../../firmware/common/strmemccpy.c ../../firmware/common/strlcpy.c diff --git a/tools/checkwps/checkwps.c b/tools/checkwps/checkwps.c index 932dc3884c..dd2115d5ef 100644 --- a/tools/checkwps/checkwps.c +++ b/tools/checkwps/checkwps.c @@ -35,7 +35,7 @@ #include "file.h" #include "font.h" -bool debug_wps = true; +bool debug_wps = false; int wps_verbose_level = 0; char *skin_buffer; @@ -167,9 +167,9 @@ int remote_getwidth(void) { return LCD_REMOTE_WIDTH; } int remote_getheight(void) { return LCD_REMOTE_HEIGHT; } #endif -static inline bool backdrop_load(const char *filename, char* backdrop_buffer) -{ - (void)filename; (void)backdrop_buffer; return true; +static inline bool backdrop_load(const char *filename, char* backdrop_buffer) +{ + (void)filename; (void)backdrop_buffer; return true; } struct screen screens[NB_SCREENS] = @@ -282,6 +282,7 @@ int main(int argc, char **argv) while (argv[1][i] && argv[1][i] == 'v') { i++; wps_verbose_level++; + debug_wps = true; } } skin_buffer = malloc(SKIN_BUFFER_SIZE); diff --git a/tools/checkwps/checkwps.make b/tools/checkwps/checkwps.make index 3004bbc2ed..ce02ce3ffd 100644 --- a/tools/checkwps/checkwps.make +++ b/tools/checkwps/checkwps.make @@ -4,14 +4,14 @@ # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ # \/ \/ \/ \/ \/ -# $Id$ -# + +ENGLISH := english # Use global GCCOPTS GCCOPTS += -D__PCTOOL__ -DCHECKWPS CHECKWPS_SRC = $(call preprocess, $(TOOLSDIR)/checkwps/SOURCES) -CHECKWPS_OBJ = $(call c2obj,$(CHECKWPS_SRC)) +CHECKWPS_OBJ = $(call c2obj,$(CHECKWPS_SRC)) $(BUILDDIR)/lang/lang_core.o OTHER_SRC += $(CHECKWPS_SRC) @@ -29,7 +29,9 @@ INCLUDES = -I$(ROOTDIR)/apps/gui \ -I$(ROOTDIR)/lib/rbcodec/metadata \ -I$(ROOTDIR)/lib/rbcodec/dsp \ -I$(APPSDIR) \ - -I$(BUILDDIR) + -I$(BUILDDIR) \ + -I$(BUILDDIR)/lang \ + $(TARGET_INC) .SECONDEXPANSION: # $$(OBJ) is not populated until after this @@ -37,3 +39,32 @@ $(BUILDDIR)/$(BINARY): $$(CHECKWPS_OBJ) $$(CORE_LIBS) @echo LD $(BINARY) $(SILENT)$(HOSTCC) -o $@ $+ $(INCLUDE) $(GCCOPTS) \ -L$(BUILDDIR)/lib $(call a2lnk,$(CORE_LIBS)) + +#### Everything below is hacked in from apps.make and lang.make + +$(BUILDDIR)/apps/features: $(ROOTDIR)/apps/features.txt + $(SILENT)mkdir -p $(BUILDDIR)/apps + $(SILENT)mkdir -p $(BUILDDIR)/lang + $(call PRINTS,PP $( $(BUILDDIR)/apps/features; \ + +$(BUILDDIR)/apps/genlang-features: $(BUILDDIR)/apps/features + $(call PRINTS,GEN $(subst $(BUILDDIR)/,,$@))tr \\n : < $< > $@ + +$(BUILDDIR)/lang_enum.h: $(BUILDDIR)/lang/lang.h $(TOOLSDIR)/genlang + +$(BUILDDIR)/lang/lang.h: $(ROOTDIR)/apps/lang/$(ENGLISH).lang $(BUILDDIR)/apps/features $(TOOLSDIR)/genlang + $(call PRINTS,GEN lang.h) + $(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done; \ + perl -s $(TOOLSDIR)/genlang -p=$(BUILDDIR)/lang -t=$(MODELNAME)$$feat $< + +$(BUILDDIR)/lang/lang_core.c: $(BUILDDIR)/lang/lang.h $(TOOLSDIR)/genlang + +$(BUILDDIR)/lang/lang_core.o: $(BUILDDIR)/lang/lang.h $(BUILDDIR)/lang/lang_core.c + $(call PRINTS,CC lang_core.c)$(CC) $(CFLAGS) -c $(BUILDDIR)/lang/lang_core.c -o $@ + +$(BUILDDIR)/lang/max_language_size.h: $(BUILDDIR)/lang/lang.h + $(call PRINTS,GEN $(subst $(BUILDDIR)/,,$@)) + $(SILENT)echo "#define MAX_LANGUAGE_SIZE 131072" > $@ diff --git a/tools/configure b/tools/configure index 1a03f3f010..0f617d7093 100755 --- a/tools/configure +++ b/tools/configure @@ -4307,7 +4307,6 @@ fi uname=`uname` simcc "checkwps" toolset=''; - t_cpu=''; GCCOPTS=''; rbdir='.' extradefines="$extradefines -DDEBUG" -- cgit v1.2.3