[v3] use AM_ICONV

Benjamin Kosnik bkoz@redhat.com
Mon Feb 5 21:38:00 GMT 2007


Marco Trudel wrote:
> Marco Trudel wrote:
>> Benjamin Kosnik wrote:
>>>
>>>> How to disable iconv now? Is it now always required?
>>>
>>> Yeah.
>>
>> Ok, if it's now a requirement, then it should be added to 
>> http://gcc.gnu.org/install/prerequisites.html. Because it isn't there, 
>> I assumed that configure fails detecting if it is available or not.
> 
> Also, from http://gcc.gnu.org/install/configure.html:
> 
> --with-libiconv-prefix=dir
>     Search for libiconv header files in dir/include and libiconv library 
> files in dir/lib
> 
> That seems to not be used. I have to do some dirty workarounds that my 
> cross-libiconv is used. Otherwise I can now compile again.

Oops, this should be able to be used: if not, this is a bug. Also, 
--without-libiconv-prefix. I confess, I thought this was picked up in 
AM_ICONV.

Really, the goal here was to just re-use the toplevel iconv configure 
and make bits instead of libstdc++ rolling it's own thing (and not 
really getting it right.)

> Is there another flag than --with-libiconv-prefix? For consistency, I 
> would expect --with-iconv=... (because of --with-gmp=... and 
> --with-mpfr=...) or is --with-libiconv-prefix currently just "broken"?

I don't think there is a --with-iconv.

I agree, for consistency, it seems like a good idea.

>>> I suppose adding _GLIBCXX_HAVE_ICONV guards in 
>>> include/ext/enc_filebuf.h and include/ext/codecvt_specializations.h 
>>> may be necessary, or these two files should be dropped from the 
>>> extc++.h pre-compiled header file.
>>
>> Well, if it is a requirement now, I will see that I have it...

It shouldn't really be a requirement though.

The only things that need iconv are GNU C++ extensions, namely 
codecvt_specializations.h and enc_filebuf.h. For the normal build 
process nothing actually needs iconv. (modulo the extc++.gch building, 
which maybe should be changed?)

For testing of the extensions, iconv is necessary, but dg-require-iconv 
seems to be taking care of that, so that part is ok.

Really, it seems simple enough to just remove the two files from 
include/precompiled/extc++.h, if it will make things easier for people 
without iconv.

Thoughts? Thanks for your patience.

-benjamin



More information about the Libstdc++ mailing list