[PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

View: New views
10 Messages — Rating Filter:   Alert me  

[PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Marc Andre Tanner-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

I need the iconv interface but without the actual local data which is
rather big. I therefore followed the instructions in extra/locale/README
and took a look at the coressponding Makefile.in. There I found that
UCLIBC_BUILD_MINIMAL_LOCALE apparently does what I want (why is this
not linked up in the Kconfig and shown during make menuconfig?).

I then had to fix the following issues in order to make it work:

  - The Makefile.in passes @echo to the shell which causes an error
    this is what the patch in this mail fixes.

  - There is something wrong with the dependencies, the Makefile has
    no rule to make include/bits/sysnum.h. This could be releated to
    the following commented out line:

      #DEPH-locale := $(top_builddir)include/bits/sysnum.h
   
    I worked around this in my scripts for now. They basically do:

      make headers
      make include/bits/sysnum.h
      cd extra/locale
      make clean
      make UCLIBC_BUILD_MINIMAL_LOCALE=y
      cd - >/dev/null
      make install

This all was with version 0.9.30.1 but the relevant code seems to be
the same in current master.

Marc

>From 6a3388b33049c5e6fde6a20e18681297981ed517 Mon Sep 17 00:00:00 2001
From: Marc Andre Tanner <mat@...>
Date: Sat, 10 Oct 2009 12:50:33 +0200
Subject: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

The Makefile.in used $(Q)echo on a continued line,
this passed @echo to the shell which resulted in a
command not found error.

Remove the line continuation backslash. Another
solution would be to remove $(Q) from all but the
first line.

Signed-off-by: Marc Andre Tanner <mat@...>
---
 extra/locale/Makefile.in |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/extra/locale/Makefile.in b/extra/locale/Makefile.in
index fe2e3cf..464a931 100644
--- a/extra/locale/Makefile.in
+++ b/extra/locale/Makefile.in
@@ -107,7 +107,7 @@ 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,12 +128,12 @@ 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 "@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" >> $@
 else
  $(Q)cat $< > $@

--
 Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

Re: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Bernhard Reutner-Fischer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sat, Oct 10, 2009 at 01:27:48PM +0200, Marc Andre Tanner wrote:
>Hi all,
>
>I need the iconv interface but without the actual local data which is
>rather big. I therefore followed the instructions in extra/locale/README
>and took a look at the coressponding Makefile.in. There I found that
>UCLIBC_BUILD_MINIMAL_LOCALE apparently does what I want (why is this
>not linked up in the Kconfig and shown during make menuconfig?).

It's not "officially" supported, no ¹)

>
>I then had to fix the following issues in order to make it work:
>
>  - The Makefile.in passes @echo to the shell which causes an error
>    this is what the patch in this mail fixes.
>
>  - There is something wrong with the dependencies, the Makefile has
>    no rule to make include/bits/sysnum.h. This could be releated to
>    the following commented out line:
>
>      #DEPH-locale := $(top_builddir)include/bits/sysnum.h
>    
>    I worked around this in my scripts for now. They basically do:
>
>      make headers
>      make include/bits/sysnum.h
>      cd extra/locale
>      make clean
>      make UCLIBC_BUILD_MINIMAL_LOCALE=y
>      cd - >/dev/null
>      make install
see above.
>
>This all was with version 0.9.30.1 but the relevant code seems to be
>the same in current master.

I'd rather do something like the attached..
thanks,

>
>Marc
>
>>From 6a3388b33049c5e6fde6a20e18681297981ed517 Mon Sep 17 00:00:00 2001
>From: Marc Andre Tanner <mat@...>
>Date: Sat, 10 Oct 2009 12:50:33 +0200
>Subject: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)
>
>The Makefile.in used $(Q)echo on a continued line,
>this passed @echo to the shell which resulted in a
>command not found error.
>
>Remove the line continuation backslash. Another
>solution would be to remove $(Q) from all but the
>first line.
>
>Signed-off-by: Marc Andre Tanner <mat@...>
>---
> extra/locale/Makefile.in |   14 +++++++-------
> 1 files changed, 7 insertions(+), 7 deletions(-)
>
>diff --git a/extra/locale/Makefile.in b/extra/locale/Makefile.in
>index fe2e3cf..464a931 100644
>--- a/extra/locale/Makefile.in
>+++ b/extra/locale/Makefile.in
>@@ -107,7 +107,7 @@ 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,12 +128,12 @@ 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 "@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" >> $@
> else
> $(Q)cat $< > $@
>
>--
> Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
>_______________________________________________
>uClibc mailing list
>uClibc@...
>http://lists.busybox.net/mailman/listinfo/uclibc

diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index 8fa9a47..ffc276d 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.
 
+config UCLIBC_BUILD_MINIMAL_LOCALE
+ bool "Only selected locale"
+ 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_BUILD_MINIMAL_LOCALES
+ string "locales to use"
+ depends on UCLIBC_BUILD_MINIMAL_LOCALE
+ default "en_GB"
+ default y
+ help
+  Space separated list of locales to use.
+
+  E.g.:
+      en_US en_GB de_AT
+  default:
+      en_GB
+
+if !UCLIBC_BUILD_MINIMAL_LOCALE
 config UCLIBC_PREGENERATED_LOCALE_DATA
  bool "Use Pre-generated Locale Data"
  depends on UCLIBC_HAS_LOCALE
@@ -1324,6 +1346,7 @@ config UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
   directory.
 
   Go ahead and make life easy for yourself... Answer Y.
+endif
 
 config UCLIBC_HAS_XLOCALE
  bool "Extended Locale Support (experimental/incomplete)"
diff --git a/extra/locale/Makefile.in b/extra/locale/Makefile.in
index fe2e3cf..9c05fe9 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
@@ -173,6 +175,7 @@ $(locale_OUT)/c8tables.h: $(locale_OUT)/gen_wc8bit $(locale_OUT)/codesets.txt
  $(Q)$< `cat $(word 2,$^)` > $@
 
 # Warning! Beware tr_TR toupper/tolower exceptions!
+# TODO: handle/prefer UCLIBC_BUILD_MINIMAL_LOCALE ?
 $(locale_OUT)/wctables.h: $(locale_OUT)/gen_wctype
  @$(disp_gen)
  $(Q)$< $(FLAG-locale-verbose) en_US > $@ || \

_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

Re: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Marc Andre Tanner-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sat, Oct 10, 2009 at 03:51:49PM +0200, Bernhard Reutner-Fischer wrote:

> On Sat, Oct 10, 2009 at 01:27:48PM +0200, Marc Andre Tanner wrote:
> >Hi all,
> >
> >I need the iconv interface but without the actual local data which is
> >rather big. I therefore followed the instructions in extra/locale/README
> >and took a look at the coressponding Makefile.in. There I found that
> >UCLIBC_BUILD_MINIMAL_LOCALE apparently does what I want (why is this
> >not linked up in the Kconfig and shown during make menuconfig?).
>
> It's not "officially" supported, no ¹)

Not yet, I hope?

> >I then had to fix the following issues in order to make it work:
> >
> >  - The Makefile.in passes @echo to the shell which causes an error
> >    this is what the patch in this mail fixes.
> >
> >  - There is something wrong with the dependencies, the Makefile has
> >    no rule to make include/bits/sysnum.h. This could be releated to
> >    the following commented out line:
> >
> >      #DEPH-locale := $(top_builddir)include/bits/sysnum.h
> >    
> >    I worked around this in my scripts for now. They basically do:
> >
> >      make headers
> >      make include/bits/sysnum.h
> >      cd extra/locale
> >      make clean
> >      make UCLIBC_BUILD_MINIMAL_LOCALE=y
> >      cd - >/dev/null
> >      make install
>
> see above.
> >
> >This all was with version 0.9.30.1 but the relevant code seems to be
> >the same in current master.
>
> I'd rather do something like the attached..

Yes this is even better! Does this mean that it will be "officially"
supported?

Is there any special reason why you changed the default from en_US
to en_GB (it doesn't really matter for me anyway)?

Thanks,
Marc

--
 Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

Re: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Bernhard Reutner-Fischer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sat, Oct 10, 2009 at 05:42:51PM +0200, Marc Andre Tanner wrote:
>On Sat, Oct 10, 2009 at 03:51:49PM +0200, Bernhard Reutner-Fischer wrote:

>> I'd rather do something like the attached..
>
>Yes this is even better! Does this mean that it will be "officially"
>supported?

It should use a choice for "all" vs. "selected" locales and i think
the wctables should also use the given selected, for consistency.

Perhaps you want to expand it and submit a tested patch? :)

>Is there any special reason why you changed the default from en_US
>to en_GB (it doesn't really matter for me anyway)?

Not really, it is the only en_ locale i use on my boxes.
_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

Re: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Marc Andre Tanner-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Oct 11, 2009 at 01:03:31AM +0200, Bernhard Reutner-Fischer wrote:

> On Sat, Oct 10, 2009 at 05:42:51PM +0200, Marc Andre Tanner wrote:
> >On Sat, Oct 10, 2009 at 03:51:49PM +0200, Bernhard Reutner-Fischer wrote:
>
> >> I'd rather do something like the attached..
> >
> >Yes this is even better! Does this mean that it will be "officially"
> >supported?
>
> It should use a choice for "all" vs. "selected" locales and i think
> the wctables should also use the given selected, for consistency.

Ok, I am not sure whether I understand what you mean hear.

Currently wctables.h contains only the data for 1 locale (en_US or if that
fails en_GB). Now you would like to generate the data for all locales
specified in UCLIBC_BUILD_MINIMAL_LOCALES, right? As far as I can see this
would need some changes in gen_wctype.c so it builds all the locales given
on the command line.

Is this really needed?
 
> Perhaps you want to expand it and submit a tested patch? :)

Your patch works for me and is already a big improvement and I would like
to see it commited. In my opinion the wctables.h issue is a separate thing
which can be fixed independently.

Marc

--
 Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

Re: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Bernhard Reutner-Fischer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Oct 12, 2009 at 01:24:00PM +0200, Marc Andre Tanner wrote:

>On Sun, Oct 11, 2009 at 01:03:31AM +0200, Bernhard Reutner-Fischer wrote:
>> On Sat, Oct 10, 2009 at 05:42:51PM +0200, Marc Andre Tanner wrote:
>> >On Sat, Oct 10, 2009 at 03:51:49PM +0200, Bernhard Reutner-Fischer wrote:
>>
>> >> I'd rather do something like the attached..
>> >
>> >Yes this is even better! Does this mean that it will be "officially"
>> >supported?
>>
>> It should use a choice for "all" vs. "selected" locales and i think
>> the wctables should also use the given selected, for consistency.
>
>Ok, I am not sure whether I understand what you mean hear.

Here i mean thatthere should be a choice (in the kconfig language sense)
between "all" and "selected". OTOH we could just drop PREGENERATED and be
done..

>Currently wctables.h contains only the data for 1 locale (en_US or if that
>fails en_GB). Now you would like to generate the data for all locales
>specified in UCLIBC_BUILD_MINIMAL_LOCALES, right? As far as I can see this
>would need some changes in gen_wctype.c so it builds all the locales given
>on the command line.

No, it should still only contain 1, and perhaps (didn't look) one from
the selected and not US || GB since both of them may be unavailable.
_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

Re: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Marc Andre Tanner-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Oct 12, 2009 at 04:05:01PM +0200, Bernhard Reutner-Fischer wrote:

> On Mon, Oct 12, 2009 at 01:24:00PM +0200, Marc Andre Tanner wrote:
> >On Sun, Oct 11, 2009 at 01:03:31AM +0200, Bernhard Reutner-Fischer wrote:
> >> On Sat, Oct 10, 2009 at 05:42:51PM +0200, Marc Andre Tanner wrote:
> >> >On Sat, Oct 10, 2009 at 03:51:49PM +0200, Bernhard Reutner-Fischer wrote:
> >>
> >> >> I'd rather do something like the attached..
> >> >
> >> >Yes this is even better! Does this mean that it will be "officially"
> >> >supported?
> >>
> >> It should use a choice for "all" vs. "selected" locales and i think
> >> the wctables should also use the given selected, for consistency.
> >
> >Ok, I am not sure whether I understand what you mean hear.
>
> Here i mean thatthere should be a choice (in the kconfig language sense)
> between "all" and "selected". OTOH we could just drop PREGENERATED and be
> done..

It doesn't matter much for me, but it may be handy to use the PREGENERATED ones
if the host system doesn't have all the needed ones installed.

> >Currently wctables.h contains only the data for 1 locale (en_US or if that
> >fails en_GB). Now you would like to generate the data for all locales
> >specified in UCLIBC_BUILD_MINIMAL_LOCALES, right? As far as I can see this
> >would need some changes in gen_wctype.c so it builds all the locales given
> >on the command line.
>
> No, it should still only contain 1, and perhaps (didn't look) one from
> the selected and not US || GB since both of them may be unavailable.

Ok, thanks for the clarification. I hope the following patch on top of your
previous one doese what you want?

Marc

>From 8720947a51bc90ceca4118ac1750468ff2ca011c Mon Sep 17 00:00:00 2001
From: Marc Andre Tanner <mat@...>
Date: Tue, 13 Oct 2009 11:52:39 +0200
Subject: [PATCH] locale: generate wctables.h based on minimal locale selection

If the locales given in UCLIBC_BUILD_MINIMAL_LOCALES aren't working
we fall back to en_US and en_GB.

Signed-off-by: Marc Andre Tanner <mat@...>
---
 extra/locale/Makefile.in |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/extra/locale/Makefile.in b/extra/locale/Makefile.in
index 9c05fe9..d5231f1 100644
--- a/extra/locale/Makefile.in
+++ b/extra/locale/Makefile.in
@@ -175,14 +175,12 @@ $(locale_OUT)/c8tables.h: $(locale_OUT)/gen_wc8bit $(locale_OUT)/codesets.txt
  $(Q)$< `cat $(word 2,$^)` > $@
 
 # Warning! Beware tr_TR toupper/tolower exceptions!
-# TODO: handle/prefer UCLIBC_BUILD_MINIMAL_LOCALE ?
 $(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 > $@ && break; \
+ done
 
 $(locale_OUT)/locale_tables.h: $(locale_OUT)/gen_locale $(locale_OUT)/locales.txt
  @$(disp_gen)
--
1.6.4.3

--
 Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

Re: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Marc Andre Tanner-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Oct 13, 2009 at 12:01:08PM +0200, Marc Andre Tanner wrote:

> On Mon, Oct 12, 2009 at 04:05:01PM +0200, Bernhard Reutner-Fischer wrote:
> > On Mon, Oct 12, 2009 at 01:24:00PM +0200, Marc Andre Tanner wrote:
> > >On Sun, Oct 11, 2009 at 01:03:31AM +0200, Bernhard Reutner-Fischer wrote:
> > >> On Sat, Oct 10, 2009 at 05:42:51PM +0200, Marc Andre Tanner wrote:
> > >> >On Sat, Oct 10, 2009 at 03:51:49PM +0200, Bernhard Reutner-Fischer wrote:
> > >>
> > >> >> I'd rather do something like the attached..
> > >> >
> > >> >Yes this is even better! Does this mean that it will be "officially"
> > >> >supported?
> > >>
> > >> It should use a choice for "all" vs. "selected" locales and i think
> > >> the wctables should also use the given selected, for consistency.
> > >
> > >Ok, I am not sure whether I understand what you mean hear.
> >
> > Here i mean thatthere should be a choice (in the kconfig language sense)
> > between "all" and "selected". OTOH we could just drop PREGENERATED and be
> > done..
>
> It doesn't matter much for me, but it may be handy to use the PREGENERATED ones
> if the host system doesn't have all the needed ones installed.
>
> > >Currently wctables.h contains only the data for 1 locale (en_US or if that
> > >fails en_GB). Now you would like to generate the data for all locales
> > >specified in UCLIBC_BUILD_MINIMAL_LOCALES, right? As far as I can see this
> > >would need some changes in gen_wctype.c so it builds all the locales given
> > >on the command line.
> >
> > No, it should still only contain 1, and perhaps (didn't look) one from
> > the selected and not US || GB since both of them may be unavailable.
>
> Ok, thanks for the clarification. I hope the following patch on top of your
> previous one doese what you want?

Could you or someone else please comment on this patch? I would like to get
this functionality included in current git.

Thanks,
Marc

> >From 8720947a51bc90ceca4118ac1750468ff2ca011c Mon Sep 17 00:00:00 2001
> From: Marc Andre Tanner <mat@...>
> Date: Tue, 13 Oct 2009 11:52:39 +0200
> Subject: [PATCH] locale: generate wctables.h based on minimal locale selection
>
> If the locales given in UCLIBC_BUILD_MINIMAL_LOCALES aren't working
> we fall back to en_US and en_GB.
>
> Signed-off-by: Marc Andre Tanner <mat@...>
> ---
>  extra/locale/Makefile.in |   10 ++++------
>  1 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/extra/locale/Makefile.in b/extra/locale/Makefile.in
> index 9c05fe9..d5231f1 100644
> --- a/extra/locale/Makefile.in
> +++ b/extra/locale/Makefile.in
> @@ -175,14 +175,12 @@ $(locale_OUT)/c8tables.h: $(locale_OUT)/gen_wc8bit $(locale_OUT)/codesets.txt
>   $(Q)$< `cat $(word 2,$^)` > $@
>  
>  # Warning! Beware tr_TR toupper/tolower exceptions!
> -# TODO: handle/prefer UCLIBC_BUILD_MINIMAL_LOCALE ?
>  $(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 > $@ && break; \
> + done
>  
>  $(locale_OUT)/locale_tables.h: $(locale_OUT)/gen_locale $(locale_OUT)/locales.txt
>   @$(disp_gen)
> --
> 1.6.4.3

--
 Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

Re: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Bernhard Reutner-Fischer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Oct 16, 2009 at 10:03:49AM +0200, Marc Andre Tanner wrote:
>On Tue, Oct 13, 2009 at 12:01:08PM +0200, Marc Andre Tanner wrote:

>> Ok, thanks for the clarification. I hope the following patch on top of your
>> previous one doese what you want?
>
>Could you or someone else please comment on this patch? I would like to get
>this functionality included in current git.

>>  # Warning! Beware tr_TR toupper/tolower exceptions!
>> -# TODO: handle/prefer UCLIBC_BUILD_MINIMAL_LOCALE ?
>>  $(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 > $@ && break; \
>> + done

previously we had
for locale in $(call ...);do
  for charset in '' .UTF-8 .iso8859-1; do

but you dropped 8859-1 ?

Please send a complete, tested patch (I've by now deleted what i used to
describe my initial suggestion).
TIA,
_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc

Re: [PATCH] Fix minimal locale generation (UCLIBC_BUILD_MINIMAL_LOCALE)

by Marc Andre Tanner-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Oct 16, 2009 at 12:03:42PM +0200, Bernhard Reutner-Fischer wrote:

> On Fri, Oct 16, 2009 at 10:03:49AM +0200, Marc Andre Tanner wrote:
> >On Tue, Oct 13, 2009 at 12:01:08PM +0200, Marc Andre Tanner wrote:
>
> >> Ok, thanks for the clarification. I hope the following patch on top of your
> >> previous one doese what you want?
> >
> >Could you or someone else please comment on this patch? I would like to get
> >this functionality included in current git.
>
> >>  # Warning! Beware tr_TR toupper/tolower exceptions!
> >> -# TODO: handle/prefer UCLIBC_BUILD_MINIMAL_LOCALE ?
> >>  $(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 > $@ && break; \
> >> + done
>
> previously we had
> for locale in $(call ...);do
>   for charset in '' .UTF-8 .iso8859-1; do
>
> but you dropped 8859-1 ?

Added it back.

> Please send a complete, tested patch (I've by now deleted what i used to
> describe my initial suggestion).

In case you missed it I have since resent a complete patch with kconfig
integration (don't know if this part is done in the best possible way though).

  http://lists.uclibc.org/pipermail/uclibc/2009-October/043142.html

Please review and commit.

Thanks,
Marc

--
 Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
_______________________________________________
uClibc mailing list
uClibc@...
http://lists.busybox.net/mailman/listinfo/uclibc