Complete.Org: Mailing Lists: Archives: freeciv-dev: May 2001:
[Freeciv-Dev] Re: gettext 0.10.37
Home

[Freeciv-Dev] Re: gettext 0.10.37

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Gaute B Strokkenes <gs234@xxxxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: gettext 0.10.37
From: Thue <thue@xxxxxxx>
Date: Sun, 20 May 2001 00:03:39 +0200

On Saturday 19 May 2001 23:42, Gaute B Strokkenes wrote:
> On Sat, 19 May 2001, thue@xxxxxxx wrote:
> > I have a patch to use gettext 0.10.37 at
> > http://hjem.get2net.dk/thue_janus_kristensen/gettext.diff.bz2
> > It seems to work if you have gettext 0.10.37 installed.
> > The patch includes enough files that you should be able to do
> >   % make distclean && ./configure && make
> >
> > Apart from a straightforward gettextize I had to remove the
> > @INTLDEPS@ from server/Makefile.am and client/Makefile.am . gettext
> > 0.10.35 exported @INTLDEPS@ when you used --with-included-gettext,
> > but that seems not to be the case any more.
> >
> > There were however a bug in gettext I had to fix to get it working - I
> > had to change the line:
> >      [case " "$CONFIG_FILES" " in *" po/Makefile.in "* | *"
> > po/Makefile.in:"*) to
> >      [case "$CONFIG_FILES" in *po/Makefile.in* | *po/Makefile.in:*)
> > in aclocal.m4 . If you run aclocal and have an unchanged gettext 0.10.37
> > installation a bad copy will be inserted into aclocak.m4 again.
>
> Odd.  What does this line do anyway?

The context is this:

    AC_OUTPUT_COMMANDS(
     [case " "$CONFIG_FILES" " in *" po/Makefile.in "* | *" po/Makefile.in:"*)
        sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
        ;;
      esac])

So it seems to check if there is a po/Makefile.in in $CONFIG_FILES, and if 
there is it inserts the POTFILES which contains translateable strings into 
the right place.

A bit of history can be found at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=94362

> > Also, --with-included-gettext fails with this error:
> > ---------------------
> > make[2]: Entering directory `/mnt/data/freeciv-dev/gettext7/intl'
> > gcc -c -DLOCALEDIR=\"/usr/local/share/locale\"
> > -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale\"
> > -DLIBDIR=\"/usr/local/lib\" -DHAVE_CONFIG_H -I.. -I. -I../intl  -g -O2
> > -Wall  dcigettext.c
> > dcigettext.c:142: warning: static declaration for `mempcpy' follows
> > non-static dcigettext.c:1199: parse error before `__extension__'
> > dcigettext.c:1203: parse error before `{'
> > dcigettext.c:142: warning: `mempcpy' declared `static' but never defined
> > make[2]: *** [dcigettext.o] Error 1
> > make[2]: Leaving directory `/mnt/data/freeciv-dev/gettext7/intl'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory `/mnt/data/freeciv-dev/gettext7'
> > make: *** [all-recursive-am] Error 2
> > bash-2.05$
> > ---------------------
> > I looked a bit at it, and it occurs because HAVE_MEMPCPY is not defined,
> > which it apperantly should be. If I kludge that away there seem to be
> > more problems.
>
> Did you try removing config.cache and rerunning ./configure?  Does the
> configure script mention 'checking for memcpy' or somesuch anywhere in
> its output?

I did remove config.cache.
Actually the script does check for mempcpy inside a AC_CHECK_FUNCS, which 
should define HAVE_MEMPCPY correctly.

> > These problems doesn't seem to be something we should/could fix...?
> >
> > It would be interesting to know if people on other systems could
> > make --with-included-gettext work.
>
> Did you disable the various odd gettext hacks / workarounds in
> configure.in?  E.g. the -w 0 hack (no longer necessary with .37), the
> hacks to remove oververbose output, etc. etc.

Those gettext hacks affect the makefile in po/. The problems we have are in 
intl/ which is processed before we even get near po/.

-Thue


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