From: Beman Dawes (bdawes_at_[hidden])
Date: 2004-02-22 10:04:25
The Cygwin environment is special in that it supports both the native
Windows API's and Linux/POSIX emulation API's.
The default for Boost.Filesystem builds is to treat Cygwin environment
as native Windows. Some Cygwin users would prefer the Linux/POSIX
Boost.Filesystem has now been tested in both Cygwin environments. No
changes were required in the 1.31.0 or current CVS head implementation
code. Two of the test programs have been changed in CVS to make testing
both Cygwin environments easier.
The docs in CVS have been updated with the following "Notes for Cygwin
The library's implementation code automatically detects the current
platform, and compiles the POSIX or Windows implementation code
accordingly. Automatic platform detection during object library compilation
can be overridden by defining BOOST_POSIX or BOOST_WINDOWS macros. With the
exception of the Cygwin environment, there is usually no reason to define
one of the macros, as the software development kits supplied with most
compilers only support a single platform.
The Cygwin package of tools supports traditional Windows usage, but also
provides an emulation layer and other tools which can be used to make
Windows act as Linux (and thus POSIX), and provide the Linux look-and-feel.
GCC is usually the compiler of choice in this environment, as it can be
installed via the Cygwin install process. Other compilers can also use the
Cygwin emulation of POSIX, at least in theory.
Those wishing to use the Cygwin POSIX emulation layer should define the
BOOST_POSIX macro when compiling the Boost Filesystem Library's
object-library. The macro does not need to be defined (and will have no
effect if defined) for Boost Filesystem Library user programs.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk