Boost logo

Boost :

Subject: Re: [boost] [filesystem][cygwin] Standard conformance for wide characters
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2009-01-13 13:17:41


On Tue, Jan 13, 2009 at 6:16 AM, Beman Dawes <bdawes_at_[hidden]> wrote:
> I've decided not to attempt support for Cygwin in the next version of
> Boost.Filesystem.

I pulled the plug on Cygwin support at my company a couple of years
ago for the lack of wchar_t support. They ought to support it.

> Cygwin's lack of library support for wchar_t is the problem . For the
> current Boost.Filesystem version (v2), the necessary workarounds are so
> pervasive that the implementation code is much harder to read and maintain.

Is it true that had the interface of boost::filesystem been defined in
terms of utf8, then the only platform on which wchar_t support would
have been instrumental is Windows, and we wouldn't have had problems
with Cygwin?

> IIUC, the reason Cygwin doesn't provide C++ standard library support for
> wchar_t is that the underlying C library is missing the C wchar_t functions.
> Perhaps Boosters who care about Cygwin could spearhead an effort to add the
> missing C support?

You're right that it's missing the needed C library functions, but I
was able to hack into the C++ headers to trick them to support
std::wstring anyway. That's not the same as full wchar_t support, but
it was the only thing I personally cared about.

My hack broke with one of the Cygwin releases that followed and I gave
up on tracking down why, but I suppose if someone cares enough about
this it can be done (my approach was to inject a modified version of
one of the gcc-specific header files into the compiler include path,
I'm not sure if this would be good enough for Boost.)

Emil Dotchevski
Reverge Studios, Inc.
http://www.revergestudios.com/reblog/index.php?n=ReCode


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk