[git commit nptl_merge] support selecting which locales to build

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Mon Nov 9 21:17:04 UTC 2009


commit: http://git.uclibc.org/uClibc/commit/?id=d27c76604827fb48f6f362aed1748011a864bc14
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/nptl_merge

Introduce UCLIBC_BUILD_MINIMAL_LOCALES and if selected
build only those locales.

Based on a patch by Bernhard Reutner-Fischer.

Signed-off-by: Marc Andre Tanner <mat at brain-dump.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
Signed-off-by: Austin Foxley <austinf at cetoncorp.com>
---
 extra/Configs/Config.in  |   38 +++++++++++++++++++++++++++++++++++++-
 extra/locale/Makefile.in |   32 +++++++++++++++++---------------
 2 files changed, 54 insertions(+), 16 deletions(-)

diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index e60447b..6a9fbc4 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -1299,6 +1299,28 @@ config UCLIBC_HAS_LOCALE
 
 	  Answer Y to enable locale support.  Most people will answer N.
 
+choice
+
+prompt "Locale data"
+	depends on UCLIBC_HAS_LOCALE
+	default UCLIBC_BUILD_ALL_LOCALE
+
+config UCLIBC_BUILD_ALL_LOCALE
+	bool "All locales"
+	depends on UCLIBC_HAS_LOCALE
+	default y
+	help
+	  This builds all the locales that are available on your
+	  host-box.
+
+config UCLIBC_BUILD_MINIMAL_LOCALE
+	bool "Only selected locales"
+	depends on UCLIBC_HAS_LOCALE
+	default n
+	help
+	  If you do not need all locales that are available on your
+	  host-box, then set this to 'Y'.
+
 config UCLIBC_PREGENERATED_LOCALE_DATA
 	bool "Use Pre-generated Locale Data"
 	depends on UCLIBC_HAS_LOCALE
@@ -1311,6 +1333,20 @@ config UCLIBC_PREGENERATED_LOCALE_DATA
 
 	  Saying N here is highly recommended.
 
+endchoice
+
+config UCLIBC_BUILD_MINIMAL_LOCALES
+	string "locales to use"
+	depends on UCLIBC_BUILD_MINIMAL_LOCALE
+	default "en_US"
+	help
+	  Space separated list of locales to use.
+
+	  E.g.:
+	      en_US en_GB de_AT
+	  default:
+	      en_US
+
 config UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
 	bool "Automagically Download the Pre-generated Locale Data (if necessary)"
 	depends on UCLIBC_PREGENERATED_LOCALE_DATA
@@ -1323,7 +1359,7 @@ config UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
 	  and place the uClibc-locale-*.tgz tarball in the extra/locale/
 	  directory.
 
-	  Go ahead and make life easy for yourself... Answer Y.
+	  Note that the use of pregenerated locale data is discouraged.
 
 config UCLIBC_HAS_XLOCALE
 	bool "Extended Locale Support (experimental/incomplete)"
diff --git a/extra/locale/Makefile.in b/extra/locale/Makefile.in
index fe2e3cf..8bda8d8 100644
--- a/extra/locale/Makefile.in
+++ b/extra/locale/Makefile.in
@@ -85,7 +85,7 @@ $(locale_OUT)/codesets.txt:
 	    echo "and then edit that file to disable/enable the codesets you wish to support. "; \
 	    echo " "; \
 	    false; \
-	fi;
+	fi
 
 $(locale_OUT)/locales.txt:
 	@if [ ! -f $@ ] ; then \
@@ -100,14 +100,14 @@ $(locale_OUT)/locales.txt:
 	    echo "to support. "; \
 	    echo " "; \
 	    false; \
-	fi;
+	fi
 
 else
 
 $(locale_OUT)/codesets.txt:
 	@$(disp_gen)
 ifeq ($(UCLIBC_BUILD_MINIMAL_LOCALE),y)
-	$(Q)echo "$(CURDIR)/$(locale_DIR)/charmaps/ASCII.pairs" > $@ ; \
+	$(Q)echo "$(CURDIR)/$(locale_DIR)/charmaps/ASCII.pairs" > $@
 	$(Q)echo "$(CURDIR)/$(locale_DIR)/charmaps/ISO-8859-1.pairs" >> $@
 else
 	$(Q)set -e; \
@@ -128,13 +128,15 @@ endif
 $(locale_OUT)/locales.txt: $(locale_DIR)/LOCALES
 	@$(disp_gen)
 ifeq ($(UCLIBC_BUILD_MINIMAL_LOCALE),y)
-	$(Q)echo "@euro e" > $@ ; \
-	$(Q)echo "#-" >> $@ ; \
-	$(Q)echo "UTF-8 yes" >> $@ ; \
-	$(Q)echo "8-BIT yes" >> $@ ; \
-	$(Q)echo "#-" >> $@ ; \
-	$(Q)echo "en_US.UTF-8 UTF-8" >> $@ ; \
-	$(Q)echo "en_US ISO-8859-1" >> $@
+	$(Q)echo "@euro e" > $@
+	$(Q)echo "#-" >> $@
+	$(Q)echo "UTF-8 yes" >> $@
+	$(Q)echo "8-BIT yes" >> $@
+	$(Q)echo "#-" >> $@
+	$(Q)for locale in $(call qstrip,$(UCLIBC_BUILD_MINIMAL_LOCALES)); do \
+		echo "$$locale.UTF-8 UTF-8"; \
+		echo "$$locale ISO-8859-1"; \
+	done >> $@
 else
 	$(Q)cat $< > $@
 endif
@@ -175,11 +177,11 @@ $(locale_OUT)/c8tables.h: $(locale_OUT)/gen_wc8bit $(locale_OUT)/codesets.txt
 # Warning! Beware tr_TR toupper/tolower exceptions!
 $(locale_OUT)/wctables.h: $(locale_OUT)/gen_wctype
 	@$(disp_gen)
-	$(Q)$< $(FLAG-locale-verbose) en_US > $@ || \
-		$< $(FLAG-locale-verbose) en_US.UTF-8 > $@ || \
-		$< $(FLAG-locale-verbose) en_US.iso8859-1 > $@ || \
-		$< $(FLAG-locale-verbose) en_GB > $@ || \
-		$< $(FLAG-locale-verbose) en_GB.UTF-8 > $@
+	$(Q)for locale in $(call qstrip,$(UCLIBC_BUILD_MINIMAL_LOCALES)) en_US en_GB; do \
+		$< $(FLAG-locale-verbose) $$locale > $@ || \
+		$< $(FLAG-locale-verbose) $$locale.UTF-8 > $@ || \
+		$< $(FLAG-locale-verbose) $$locale.iso8859-1 > $@ && break; \
+	done
 
 $(locale_OUT)/locale_tables.h: $(locale_OUT)/gen_locale $(locale_OUT)/locales.txt
 	@$(disp_gen)
-- 
1.6.3.3



More information about the uClibc-cvs mailing list