Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2002-02-25 10:14:25


For the file system library several of us are working on, there initially
will be two implementations: Win32 and POSIX.

It would be nice for users if the correct implementation were selected
automatically.

For example, say we have an implementation file foo.cpp, which is stable
and contains something like:

   #if ???? // in effect, #if defined(BOOST_POSIX)
   # define BOOST_FILE_TO_COMPILE "libs/filesystem/src/foo_posix.cpp"
   #elif ???? // in effect, #if defined(BOOST_WIN32)
   # define BOOST_FILE_TO_COMPILE "libs/filesystem/src/foo_win32.cpp"
   #else
   # error Sorry, your platform not supported
   #endif

   #include BOOST_FILE_TO_COMPILE

Questions:

Is this the best general form for solving the problem?

What should ???? actually be? We can't use BOOST_PLATFORM; it is a string
rather than an integral expression, and the value is too specific anyhow.

Should we add BOOST_WIN32, BOOST_POSIX, and the like to the Boost config
system?

--Beman


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