Chris@16: // Boost compiler configuration selection header file Chris@16: Chris@16: // (C) Copyright John Maddock 2001 - 2002. Chris@16: // (C) Copyright Jens Maurer 2001. Chris@16: // Use, modification and distribution are subject to the Chris@16: // Boost Software License, Version 1.0. (See accompanying file Chris@16: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: // See http://www.boost.org for most recent version. Chris@16: Chris@16: // locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. Chris@16: // Note that we define the headers to include using "header_name" not Chris@16: // in order to prevent macro expansion within the header Chris@16: // name (for example "linux" is a macro on linux systems). Chris@16: Chris@16: #if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) Chris@16: // linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though? Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" Chris@16: Chris@16: #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) Chris@16: // BSD: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" Chris@16: Chris@16: #elif defined(sun) || defined(__sun) Chris@16: // solaris: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" Chris@16: Chris@16: #elif defined(__sgi) Chris@16: // SGI Irix: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" Chris@16: Chris@16: #elif defined(__hpux) Chris@16: // hp unix: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" Chris@16: Chris@16: #elif defined(__CYGWIN__) Chris@16: // cygwin is not win32: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" Chris@16: Chris@16: #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) Chris@16: // win32: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" Chris@16: Chris@101: #elif defined(__HAIKU__) Chris@101: // Haiku Chris@101: # define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp" Chris@101: Chris@16: #elif defined(__BEOS__) Chris@16: // BeOS Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" Chris@16: Chris@16: #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) Chris@16: // MacOS Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" Chris@16: Chris@16: #elif defined(__IBMCPP__) || defined(_AIX) Chris@16: // IBM Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" Chris@16: Chris@16: #elif defined(__amigaos__) Chris@16: // AmigaOS Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" Chris@16: Chris@16: #elif defined(__QNXNTO__) Chris@16: // QNX: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp" Chris@16: Chris@16: #elif defined(__VXWORKS__) Chris@16: // vxWorks: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp" Chris@16: Chris@16: #elif defined(__SYMBIAN32__) Chris@16: // Symbian: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" Chris@16: Chris@16: #elif defined(_CRAYC) Chris@16: // Cray: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" Chris@16: Chris@16: #elif defined(__VMS) Chris@16: // VMS: Chris@16: # define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" Chris@16: #else Chris@16: Chris@16: # if defined(unix) \ Chris@16: || defined(__unix) \ Chris@16: || defined(_XOPEN_SOURCE) \ Chris@16: || defined(_POSIX_SOURCE) Chris@16: Chris@16: // generic unix platform: Chris@16: Chris@16: # ifndef BOOST_HAS_UNISTD_H Chris@16: # define BOOST_HAS_UNISTD_H Chris@16: # endif Chris@16: Chris@16: # include Chris@16: Chris@16: # endif Chris@16: Chris@16: # if defined (BOOST_ASSERT_CONFIG) Chris@16: // this must come last - generate an error if we don't Chris@16: // recognise the platform: Chris@16: # error "Unknown platform - please configure and report the results to boost.org" Chris@16: # endif Chris@16: Chris@16: #endif Chris@16: Chris@101: #if 0 Chris@101: // Chris@101: // This section allows dependency scanners to find all the files we *might* include: Chris@101: // Chris@101: # include "boost/config/platform/linux.hpp" Chris@101: # include "boost/config/platform/bsd.hpp" Chris@101: # include "boost/config/platform/solaris.hpp" Chris@101: # include "boost/config/platform/irix.hpp" Chris@101: # include "boost/config/platform/hpux.hpp" Chris@101: # include "boost/config/platform/cygwin.hpp" Chris@101: # include "boost/config/platform/win32.hpp" Chris@101: # include "boost/config/platform/beos.hpp" Chris@101: # include "boost/config/platform/macos.hpp" Chris@101: # include "boost/config/platform/aix.hpp" Chris@101: # include "boost/config/platform/amigaos.hpp" Chris@101: # include "boost/config/platform/qnxnto.hpp" Chris@101: # include "boost/config/platform/vxworks.hpp" Chris@101: # include "boost/config/platform/symbian.hpp" Chris@101: # include "boost/config/platform/cray.hpp" Chris@101: # include "boost/config/platform/vms.hpp" Chris@101: # include Chris@16: Chris@16: Chris@101: Chris@101: #endif Chris@101: