blob: 3ccdb4b4470f9c283c1b803e90baa61c8325a8d6 [file] [log] [blame]
Jeff Thompsonf7d49942013-08-01 16:47:40 -07001// (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)
7
8// See http://www.boost.org for most recent version.
9
10// symbian specific config options:
11
12
13#define BOOST_PLATFORM "Symbian"
14#define BOOST_SYMBIAN 1
15
16
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
21#ifdef __cplusplus
22#include <cstdlib>
23#else
24#include <stdlib.h>
25#endif// boilerplate code:
26# define BOOST_HAS_UNISTD_H
Jeff Thompson2277ce52013-08-01 17:34:11 -070027# include <ndnboost/config/posix_features.hpp>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070028// S60 SDK defines _POSIX_VERSION as POSIX.1
29# ifndef BOOST_HAS_STDINT_H
30# define BOOST_HAS_STDINT_H
31# endif
32# ifndef BOOST_HAS_GETTIMEOFDAY
33# define BOOST_HAS_GETTIMEOFDAY
34# endif
35# ifndef BOOST_HAS_DIRENT_H
36# define BOOST_HAS_DIRENT_H
37# endif
38# ifndef BOOST_HAS_SIGACTION
39# define BOOST_HAS_SIGACTION
40# endif
41# ifndef BOOST_HAS_PTHREADS
42# define BOOST_HAS_PTHREADS
43# endif
44# ifndef BOOST_HAS_NANOSLEEP
45# define BOOST_HAS_NANOSLEEP
46# endif
47# ifndef BOOST_HAS_SCHED_YIELD
48# define BOOST_HAS_SCHED_YIELD
49# endif
50# ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
51# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
52# endif
53# ifndef BOOST_HAS_LOG1P
54# define BOOST_HAS_LOG1P
55# endif
56# ifndef BOOST_HAS_EXPM1
57# define BOOST_HAS_EXPM1
58# endif
59# ifndef BOOST_POSIX_API
60# define BOOST_POSIX_API
61# endif
62// endianess support
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
68# else
69# define __LITTLE_ENDIAN 1234
70# endif
71# endif
72# ifndef __BIG_ENDIAN
73# ifdef _BIG_ENDIAN
74# define __BIG_ENDIAN _BIG_ENDIAN
75# else
76# define __BIG_ENDIAN 4321
77# endif
78# endif
79# ifndef __BYTE_ORDER
80# define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE
81# endif
82// Known limitations
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
88
89#else // TODO: More platform support e.g. UIQ
90# error "Unsuppoted Symbian SDK"
91#endif
92
93#if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32)
94# define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro
95#endif
96
97