Compile failure on nl_langinfo - Mailing list pgsql-hackers

From Euler Taveira de Oliveira
Subject Compile failure on nl_langinfo
Date
Msg-id 20040731111028.2f497019.euler@ufgnet.ufg.br
Whole thread Raw
Responses Re: Compile failure on nl_langinfo  (Peter Eisentraut <peter_e@gmx.net>)
Re: Compile failure on nl_langinfo  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hi,

I am seeing the following compile failure in currrent CVS.

gmake[4]: Leaving directory `/dados/pgsql/cvs/pgsql/src/port'
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations -DFRONTEND
-I../../../src/interfaces/libpq-I../../../src/include -I/usr/local/include -I/usr/local/include/tcl8.4  -c -o initdb.o
initdb.c-MMD 
initdb.c: In function `get_encoding_from_locale':
initdb.c:758: `CODESET' undeclared (first use in this function)
initdb.c:758: (Each undeclared identifier is reported only once
initdb.c:758: for each function it appears in.)
gmake[3]: *** [initdb.o] Error 1
gmake[3]: Leaving directory `/dados/pgsql/cvs/pgsql/src/bin/initdb'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/dados/pgsql/cvs/pgsql/src/bin'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/dados/pgsql/cvs/pgsql/src'
gmake: *** [all] Error 2
$

I am using an OpenBSD 3.5. OpenBSD doesn't have 'CODESET' symbol.
How can we fix it?

1) just define it on configure.in when we don't have it. Like this:
dnl Check for nl_langinfo and CODESET
AC_MSG_CHECKING([for nl_langinfo (CODESET)])
AC_TRY_LINK([#include <langinfo.h>],
            [char *codeset = nl_langinfo (CODESET);],
            [AC_MSG_RESULT(yes)],
            [AC_MSG_RESULT(no)
            AC_DEFINE(CODESET, 0, [Define to 0 if you don't have CODESET.])
            ])

2) define a 'HAVE_CODESET' symbol and just ifdef in initdb.c

3) another?

Personally I prefer the first one. The completed patch is attached. It requires to run 'autoheader' and 'autoconf'.
CODESET0 is ASCII. 
So in those plataforms that do not have 'CODESET' we'll always go with locale C.

Comments?

--
Euler Taveira de Oliveira
euler (at) ufgnet.ufg.br
Desenvolvedor Web e Administrador de Sistemas
UFGNet - Universidade Federal de Goiás

Attachment

pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: psql i18n - sk
Next
From: Peter Eisentraut
Date:
Subject: Re: Compile failure on nl_langinfo