bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bison 2.4.1: make install does not install mo files


From: Martin Jacobs
Subject: Re: Bison 2.4.1: make install does not install mo files
Date: Mon, 17 Aug 2009 07:42:47 +0200 (MEST)

Hi Bruno,

many thanks for your detailed explanation. It's always a
pleasure to read answers from people with in-depth knowledge,
really.


On Sun, 16 Aug 2009, Bruno Haible wrote:

> Hi Akim and Martin,
>
> > > This new macro AM_GNU_GETTEXT with option
> > > [need-formatstring-macros] creates tests, that fail in my
> > > environment and make configure reset USE_NLS to no.
>
> This is understandable: If the programmer tells gettext "I need the
> support for <inttypes.h> formatstring macros" and the system does not
> have this support, i18n gets disabled. When i18n is disabled, there is
> no need to install *.gmo files since they won't be used.
>
> So the question is: Is 'need-formatstring-macros' an appropriate
> requirement?
>    LC_ALL=C grep -r 'PRI[diouxX]' . 2>/dev/null
> finds no matches in the bison source, nor any relevant matches in the
> gnulib source. The commit message in [1] says:
>     "(AM_GNU_GETTEXT): Add; require formatstring macros since that's
>      the pickiest."
> So I think Paul Eggert added this only because he wanted on the safe
> side. (Paul Eggert *always* wants to be on the safe side.)
>
> If 'need-ngettext' an appropriate requirement? Yes, since
>   src/conflicts.c
> uses the ngettext function.
>
> > > Finally I changed configure.ac:
> > >
> > >   AM_GNU_GETTEXT([external], [need-formatstring-macros])
> > >
> > > reads now
> > >
> > >   AM_GNU_GETTEXT([external], [need-ngettext])
>
> I think this is safe to do, and will solve the problem.
>
> >     AM_GNU_GETTEXT_VERSION([0.15])
>
> This version has a different meaning: it tells which macros
> (intl.m4 etc.) you want to include in your release tarball.
>
> Still, a minor problem remains when 'need-ngettext' is used:
> When the user has a gettext that supports gettext() but not
> ngettext(), with the same logic as above, neither the po/*.gmo
> files nor the runtime-po/*.gmo files will be installed. But
> the runtime-po/*.gmo files could be useful (used at runtime by
> programs that embed bison-generated parsers). To fix this problem,
> you would need to have two configure.ac files in the package:
>   - one that does AM_GNU_GETTEXT([external], [need-ngettext])
>     and is responsible for most of bison,
>   - one that does AM_GNU_GETTEXT([external])
>     and is responsible for only the runtime-po/ directory.
> But this solution is probably overkill, because there are not
> many systems out there with a gettext() but no ngettext().
>
> Bruno
>
> [1] 
> http://git.savannah.gnu.org/gitweb/?p=bison.git;a=commitdiff;h=3b2942e671eadc31ca5cacf4c2965a1cac4edf04#patch4
>

Akim, this detailed answer from Bruno makes answering your
previous mail obsolte. Now it's up to you to choose among
offered solutions. IMHO it should be ok to provide a
configure.ac with AM_GNU_GETTEXT([external], [need-ngettext])
and give a hint in INSTALL for systems with lack of ngettext.

Regards

Martin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]