1 // (C) Copyright Yuriy Krasnoschek 2009.
2 // (C) Copyright John Maddock 2001 - 2003.
3 // (C) Copyright Jens Maurer 2001 - 2003.
4 // Use, modification and distribution are subject to the
5 // Boost Software License, Version 1.0. (See accompanying file
6 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 // See http://www.boost.org for most recent version.
10 // symbian specific config options:
13 #define BOOST_PLATFORM "Symbian"
14 #define BOOST_SYMBIAN 1
17 #if defined(__S60_3X__)
18 // Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
19 # define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
20 // make sure we have __GLIBC_PREREQ if available at all
25 #endif// boilerplate code:
26 # define BOOST_HAS_UNISTD_H
27 # include <boost/config/detail/posix_features.hpp>
28 // S60 SDK defines _POSIX_VERSION as POSIX.1
29 # ifndef BOOST_HAS_STDINT_H
30 # define BOOST_HAS_STDINT_H
32 # ifndef BOOST_HAS_GETTIMEOFDAY
33 # define BOOST_HAS_GETTIMEOFDAY
35 # ifndef BOOST_HAS_DIRENT_H
36 # define BOOST_HAS_DIRENT_H
38 # ifndef BOOST_HAS_SIGACTION
39 # define BOOST_HAS_SIGACTION
41 # ifndef BOOST_HAS_PTHREADS
42 # define BOOST_HAS_PTHREADS
44 # ifndef BOOST_HAS_NANOSLEEP
45 # define BOOST_HAS_NANOSLEEP
47 # ifndef BOOST_HAS_SCHED_YIELD
48 # define BOOST_HAS_SCHED_YIELD
50 # ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
51 # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
53 # ifndef BOOST_HAS_LOG1P
54 # define BOOST_HAS_LOG1P
56 # ifndef BOOST_HAS_EXPM1
57 # define BOOST_HAS_EXPM1
59 # ifndef BOOST_POSIX_API
60 # define BOOST_POSIX_API
63 # include <sys/endian.h>
64 // Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER
65 # ifndef __LITTLE_ENDIAN
66 # ifdef _LITTLE_ENDIAN
67 # define __LITTLE_ENDIAN _LITTLE_ENDIAN
69 # define __LITTLE_ENDIAN 1234
74 # define __BIG_ENDIAN _BIG_ENDIAN
76 # define __BIG_ENDIAN 4321
80 # define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE
83 # define BOOST_ASIO_DISABLE_SERIAL_PORT
84 # define BOOST_DATE_TIME_NO_LOCALE
85 # define BOOST_NO_STD_WSTRING
86 # define BOOST_EXCEPTION_DISABLE
87 # define BOOST_NO_EXCEPTIONS
89 #else // TODO: More platform support e.g. UIQ
90 # error "Unsuppoted Symbian SDK"
93 #if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32)
94 # define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro