[GRASS5] I18N for GRASS: continued discussion

Glynn Clements glynn.clements at virgin.net
Fri Nov 15 05:52:10 EST 2002

Alex Shevlakov wrote:

> > Internationalising libgis would require that every module which linked
> > against libgis (i.e. every module) depended upon dgettext(). Rather
> > than adding $(INTLLIB) to every Gmakefile, the obvious solution is to
> > simply change src/CMD/generic/make.mid to use:
> > 
> > 	GISLIB         = -lgis $(INTLLIB)
> This should work fine. Without NLS option, I don't see how this could 
> affect anything. If variable $(INTLLIB) was empty and someone requested 
> NLS support, it would be impossible to compile if dgettext was not in glibc, 
> but that's it. Vice versa, $(INTLLIB) non-empty and no NLS support enabled, 
> it would not affect anything as there wouldn't be calls to the library.

Um, not quite. Note that INTLLIB is defined regardless of whether NLS
support is enabled. If it gets set to the wrong value, the above could
break everything. At present, $(INTLLIB) is only used in Gmakefiles
for individual programs (primarily *.pg), so it's much less of a risk.

> > This is simple enough, and I'm 99.9% sure that it's safe. However,
> > it's that last 0.1% that concerned me. If there turned out to be a
> > problem, it would have broken *everything*. Most users can get by
> > without the *.pg programs; they can't get by without libgis. Ditto for
> > the GRASS startup and, to a lesser extent, tcltkgrass.
> I have only to point out again that the question is not whether some modules
> or libraries must be considered as something one can just get by without.
> Instead, the whole of i18n changes can be 'got by without' not giving 
> '-with-nls' option.
> If this option was proved to be dangerous, we warn you to be prepared,
> nevertheless we leave it for ones who need it, including gettext in 
> libraries, start up and tcltkgrass.

Just to make absolutely sure that I'm not misunderstood: I wasn't in
the least bit concerned about what might happen to people who used
--with-nls. If people use that flag, and it breaks stuff, then they
just have to start again without it. My concern is that it *might*
have caused problems even without --with-nls being used.

Every change, however small, *might* break something. If you're going
to make changes (even seemingly trivial ones) to almost every file in
libgis, do it several months before release, so that there's a
reasonable chance that even the infrequent Mac/Cygwin/Solaris/Irix
testers will get around to testing it.

Having said all that, my position remains that I would ideally like to
see 5.0.1 released Real Soon Now with just the bug fixes, and 5.0.2
with the I18N soon after. However, if Bernhard insists on another
delay of several months between 5.0.1 and 5.0.2, then the I18N should
probably just go straight into 5.0.1.

Glynn Clements <glynn.clements at virgin.net>

More information about the grass-dev mailing list