[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Remove NLS check from kwallet.m4 (was Re: Does KWallet support really need NLS on?)

From: Arfrever Frehtes Taifersar Arahesis <arfrever.fta_at_gmail.com>
Date: Sun, 2 Sep 2012 22:11:11 +0200

2012-09-02 12:02:59 Raphael Kubo da Costa napisał(a):
> Daniel Shahaf <d.s_at_daniel.shahaf.name> writes:
> > Raphael Kubo da Costa wrote on Sat, Sep 01, 2012 at 11:05:02 -0300:
> > > c++locale.h does not seem to exist in
> > > libstdc++ 4.7.1 in a Linux machine I have access to, and it does not
> > > include libintl.h on libstdc++ 4.2.1 here on FreeBSD.

c++locale.h definitely still exists:
$ find /usr/lib/gcc -name c++locale.h
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4/x86_64-pc-linux-gnu/32/bits/c++locale.h
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/x86_64-pc-linux-gnu/32/bits/c++locale.h
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h

--disable-nls causes that subversion/svn_private_config.h defines gettext() and dgettext() macros.
If libintl.h was somewhere included, then compilation failure would still occur:
$ cat test.cpp
#define gettext(x) (x)
#define dgettext(domain, x) (x)
#include <libintl.h>
$ g++ -c test.cpp
In file included from test.cpp:3:0:
/usr/include/libintl.h:40:14: error: expected unqualified-id before ‘__const’
/usr/include/libintl.h:40:14: error: expected ‘)’ before ‘__const’
/usr/include/libintl.h:40:14: error: expected initializer before ‘__const’
/usr/include/libintl.h:45:14: error: expected unqualified-id before ‘__const’
/usr/include/libintl.h:45:14: error: expected ‘)’ before ‘__const’
/usr/include/libintl.h:45:14: error: expected initializer before ‘__const’

Build system of GCC creates bits/c++locale.h from libstdc++-v3/config/locale/gnu/c_locale.h on GNU systems and
from libstdc++-v3/config/locale/generic/c_locale.h on other systems (e.g. FreeBSD).

GCC r124803 [1] deleted inclusion of libintl.h in bits/c++locale.h on GNU systems.
This change was released in GCC 4.3.0 [2] and was never backported to gcc-4_2-branch branch [3].
[1] http://gcc.gnu.org/viewcvs?view=revision&revision=124803
[2] http://gcc.gnu.org/viewcvs?view=revision&revision=132392
[3] http://gcc.gnu.org/viewcvs/branches/gcc-4_2-branch/libstdc%2B%2B-v3/config/locale/gnu/c_locale.h?view=markup

> > > What else needs to be done for it to be decided whether it makes sense
> > > to remove the check now?

We need to decide if we support GCC <4.3.0 on GNU systems.

-- 
Arfrever Frehtes Taifersar Arahesis

Received on 2012-09-02 22:12:55 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.