
I've recently upgraded to the lastest version of Cygwin and found that this current version supports wchar_t, wstring, etc This section from config/platform/cygwin is now creating problems. // cygwin specific config options: #define BOOST_PLATFORM "Cygwin" #define BOOST_NO_CWCHAR #define BOOST_NO_CWCTYPE #define BOOST_NO_SWPRINTF #define BOOST_HAS_DIRENT_H #define BOOST_HAS_LOG1P #define BOOST_HAS_EXPM1 as it conflits with the following from config/stdlib/libstdcp3 #if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) # define BOOST_NO_CWCHAR # define BOOST_NO_CWCTYPE # define BOOST_NO_STD_WSTRING # define BOOST_NO_STD_WSTREAMBUF #endif I've found that BOOST_NO_STD_WSTRING is NOT defined while BOOST_NO_CWCHAR IS defined. This is incorrect for the latest version of cygwin - version 1.7.5 and likely previous versions. I believe that config/platform/cygwin should be updated so that it looks like: #define BOOST_PLATFORM "Cygwin" #define BOOST_NO_SWPRINTF // ? don't know about the rest of these #define BOOST_HAS_DIRENT_H #define BOOST_HAS_LOG1P #define BOOST_HAS_EXPM1 according to the cygwin documentation - there is no place to retrieve a version # for cygwin itself - only for specific packages. So it would seem that that's all we can/should do. Robert Ramey

Robert wrote:
I've recently upgraded to the lastest version of Cygwin and found that this current version supports wchar_t, wstring, etc
Yes! Finally! MinGW also now supports them. Filesystem V3 requires wchar_t, wstring, etc., and all the tests pass with both Cygwin and MinGW.
This section from config/platform/cygwin is now creating problems.
// cygwin specific config options: #define BOOST_PLATFORM "Cygwin" #define BOOST_NO_CWCHAR #define BOOST_NO_CWCTYPE #define BOOST_NO_SWPRINTF #define BOOST_HAS_DIRENT_H #define BOOST_HAS_LOG1P #define BOOST_HAS_EXPM1
as it conflits with the following from config/stdlib/libstdcp3
#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) # define BOOST_NO_CWCHAR # define BOOST_NO_CWCTYPE # define BOOST_NO_STD_WSTRING # define BOOST_NO_STD_WSTREAMBUF #endif
I've found that BOOST_NO_STD_WSTRING is NOT defined while BOOST_NO_CWCHAR IS defined. This is incorrect for the latest version of cygwin - version 1.7.5 and likely previous versions.
I believe that config/platform/cygwin should be updated so that it looks like:
#define BOOST_PLATFORM "Cygwin" #define BOOST_NO_SWPRINTF // ? don't know about the rest of these #define BOOST_HAS_DIRENT_H #define BOOST_HAS_LOG1P #define BOOST_HAS_EXPM1
according to the cygwin documentation - there is no place to retrieve a version # for cygwin itself - only for specific packages. So it would seem that that's all we can/should do.
I agree. BOOST_NO_SWPRINTF should also go IMO. Changes committed to trunk. Thanks for noticing this, --Beman

On Fri, Jun 11, 2010 at 3:17 PM, Beman Dawes <bdawes@acm.org> wrote:
Robert wrote:
I've recently upgraded to the lastest version of Cygwin and found that this current version supports wchar_t, wstring, etc
Yes! Finally! MinGW also now supports them. Filesystem V3 requires wchar_t, wstring, etc., and all the tests pass with both Cygwin and MinGW.
I can't recall the details, but IIRC there was chatter a while back that due to limitations of Cygwin/MinGW you'd decided drop full support for these platforms from Boost.Filesystem. Assuming my recollections are broadly correct, does this latest development now mean that Cygwin/MinGW are again fully supported by Boost.Filesystem. Thanks. -- Rob

On Mon, Jun 14, 2010 at 5:29 AM, Robert Jones <robertgbjones@gmail.com> wrote:
On Fri, Jun 11, 2010 at 3:17 PM, Beman Dawes <bdawes@acm.org> wrote:
Robert wrote:
I've recently upgraded to the lastest version of Cygwin and found that this current version supports wchar_t, wstring, etc
Yes! Finally! MinGW also now supports them. Filesystem V3 requires wchar_t, wstring, etc., and all the tests pass with both Cygwin and MinGW.
I can't recall the details, but IIRC there was chatter a while back that due to limitations of Cygwin/MinGW you'd decided drop full support for these platforms from Boost.Filesystem.
Yes, and as a result the code became much cleaner and easier to write/read/debug. At that time, several Boosters asked the Cygwin folks for wide character support, and they gave that long standing issue higher priority soon afterwords.
Assuming my recollections are broadly correct, does this latest development now mean that Cygwin/MinGW are again fully supported by Boost.Filesystem.
Yes, I've been testing filesystem on both Cygwin and MinGW (downloaded directly, not via Cygwin) from the Windows command line. All tests are passing on Cygwin, and all tests are passing on MinGW with static linking. I fairly sure the dynamic linking problem with MinGW is their problem, not a Boost problem. I haven't tested filesystem from the cygwin/bash command line, so if someone wants to test trunk in that environment I'd like to hear about the results. Thanks for the interest, --Beman
participants (3)
-
Beman Dawes
-
Robert Jones
-
Robert Ramey