Re: [PATCH/RFC 0/2] use libcharset.h with gettext if available
- From
Erik Faye-Lund <kusmabite@gmail.com>
- Date
- Sep 29, 2010, 11:41 UTC
- Message-ID
- <AANLkTikMWy2a0M6bFMj+Jb+2QewUGsUjMsbv=XyR1Tr9@mail.gmail.com>
- In-Reply-To
- <AANLkTin90pKaVGVaG-4PW50TAhgfp1QVtrKpvyVxpnW0@mail.gmail.com>
On Wed, Sep 29, 2010 at 12:00 PM, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
Show 16 quoted lines
> On Tue, Sep 28, 2010 at 21:47, Erik Faye-Lund <kusmabite@gmail.com> wrote: >> On Tue, Sep 28, 2010 at 8:29 PM, Ævar Arnfjörð Bjarmason >>> * Added defaults for NO_LIBCHARSET to the default, I only changed the >>> defaults for the MINGW entry, maybe it should be changed on Cygwin >>> and Windows too? And probably on OpenBSD and NetBSD too. >>> >> >> I don't think NO_LIBCHARSET should be the default. libcharset is >> reported to be a bit better than nl_langinfo at normalizing the >> encoding, and GNU gettext depends on libcharset (through libiconv, >> which libcharset is distributed with). So in the case of a GNU >> gettext, libcharset should really be present. > > I can't find any package (with apt-file) on Debian or Ubuntu that > provides libcharset.h, but I have langinfo.h on those systems. >
Strange. A 'make install' on libiconv installed libcharset.h to $prefix/include on my system. But looking a bit deeper, it seems that glibc supplies it's own iconv implementation (perhaps based on libiconv, I don't know). So yes, I tend to agree with you. GNU platforms should not be expected to have libcharset.
Show 5 quoted lines
> The GNU gettext manual also reccomends the use of nl_langinfo in > "11.2.4 How to specify the output character set `gettext' uses", so it > seems that using that and not libiconv is the default way of doing > things on GNU gettext + GNU libc systems. >
OK, fair enough. I based my comment on some comment by the GNU gettext maintainer (who is also the libcharset maintainer - libcharset does in fact use nl_langinfo if present), but since this is in the manual I fully withdraw my comment.
Then again, if this is an opt-in rather than an opt-out, perhaps we should change the switch to HAVE_LIBCHARSET? I don't mean to go in circles here, but it sounds more self-documenting to me.