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
23 # define BOOST_HAS_UNISTD_H
24 # include <boost/config/posix_features.hpp>
25 // S60 SDK defines _POSIX_VERSION as POSIX.1
26 # ifndef BOOST_HAS_STDINT_H
27 # define BOOST_HAS_STDINT_H
29 # ifndef BOOST_HAS_GETTIMEOFDAY
30 # define BOOST_HAS_GETTIMEOFDAY
32 # ifndef BOOST_HAS_DIRENT_H
33 # define BOOST_HAS_DIRENT_H
35 # ifndef BOOST_HAS_SIGACTION
36 # define BOOST_HAS_SIGACTION
38 # ifndef BOOST_HAS_PTHREADS
39 # define BOOST_HAS_PTHREADS
41 # ifndef BOOST_HAS_NANOSLEEP
42 # define BOOST_HAS_NANOSLEEP
44 # ifndef BOOST_HAS_SCHED_YIELD
45 # define BOOST_HAS_SCHED_YIELD
47 # ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
48 # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
50 # ifndef BOOST_HAS_LOG1P
51 # define BOOST_HAS_LOG1P
53 # ifndef BOOST_HAS_EXPM1
54 # define BOOST_HAS_EXPM1
56 # ifndef BOOST_POSIX_API
57 # define BOOST_POSIX_API
60 # include <sys/endian.h>
61 // Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER
62 # ifndef __LITTLE_ENDIAN
63 # ifdef _LITTLE_ENDIAN
64 # define __LITTLE_ENDIAN _LITTLE_ENDIAN
66 # define __LITTLE_ENDIAN 1234
71 # define __BIG_ENDIAN _BIG_ENDIAN
73 # define __BIG_ENDIAN 4321
77 # define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE
80 # define BOOST_ASIO_DISABLE_SERIAL_PORT
81 # define BOOST_DATE_TIME_NO_LOCALE
82 # define BOOST_NO_STD_WSTRING
83 # define BOOST_EXCEPTION_DISABLE
84 # define BOOST_NO_EXCEPTIONS
86 #else // TODO: More platform support e.g. UIQ
87 # error "Unsuppoted Symbian SDK"
90 #if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32)
91 # define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro