blob: 1b321936fd95dd62efad5ea35a71ea8a0333a094 [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
Jeff Thompson3d613fd2013-10-15 15:39:04 -070013#define NDNBOOST_PLATFORM "Symbian"
14#define NDNBOOST_SYMBIAN 1
Jeff Thompsonf7d49942013-08-01 16:47:40 -070015
16
17#if defined(__S60_3X__)
18// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
Jeff Thompson3d613fd2013-10-15 15:39:04 -070019# define NDNBOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
Jeff Thompsonf7d49942013-08-01 16:47:40 -070020// 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:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070026# define NDNBOOST_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
Jeff Thompson3d613fd2013-10-15 15:39:04 -070029# ifndef NDNBOOST_HAS_STDINT_H
30# define NDNBOOST_HAS_STDINT_H
Jeff Thompsonf7d49942013-08-01 16:47:40 -070031# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070032# ifndef NDNBOOST_HAS_GETTIMEOFDAY
33# define NDNBOOST_HAS_GETTIMEOFDAY
Jeff Thompsonf7d49942013-08-01 16:47:40 -070034# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070035# ifndef NDNBOOST_HAS_DIRENT_H
36# define NDNBOOST_HAS_DIRENT_H
Jeff Thompsonf7d49942013-08-01 16:47:40 -070037# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070038# ifndef NDNBOOST_HAS_SIGACTION
39# define NDNBOOST_HAS_SIGACTION
Jeff Thompsonf7d49942013-08-01 16:47:40 -070040# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070041# ifndef NDNBOOST_HAS_PTHREADS
42# define NDNBOOST_HAS_PTHREADS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070043# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070044# ifndef NDNBOOST_HAS_NANOSLEEP
45# define NDNBOOST_HAS_NANOSLEEP
Jeff Thompsonf7d49942013-08-01 16:47:40 -070046# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070047# ifndef NDNBOOST_HAS_SCHED_YIELD
48# define NDNBOOST_HAS_SCHED_YIELD
Jeff Thompsonf7d49942013-08-01 16:47:40 -070049# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070050# ifndef NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
51# define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
Jeff Thompsonf7d49942013-08-01 16:47:40 -070052# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070053# ifndef NDNBOOST_HAS_LOG1P
54# define NDNBOOST_HAS_LOG1P
Jeff Thompsonf7d49942013-08-01 16:47:40 -070055# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070056# ifndef NDNBOOST_HAS_EXPM1
57# define NDNBOOST_HAS_EXPM1
Jeff Thompsonf7d49942013-08-01 16:47:40 -070058# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070059# ifndef NDNBOOST_POSIX_API
60# define NDNBOOST_POSIX_API
Jeff Thompsonf7d49942013-08-01 16:47:40 -070061# 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
Jeff Thompson3d613fd2013-10-15 15:39:04 -070083# define NDNBOOST_ASIO_DISABLE_SERIAL_PORT
84# define NDNBOOST_DATE_TIME_NO_LOCALE
85# define NDNBOOST_NO_STD_WSTRING
86# define NDNBOOST_EXCEPTION_DISABLE
87# define NDNBOOST_NO_EXCEPTIONS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070088
89#else // TODO: More platform support e.g. UIQ
90# error "Unsuppoted Symbian SDK"
91#endif
92
Jeff Thompson3d613fd2013-10-15 15:39:04 -070093#if defined(__WINSCW__) && !defined(NDNBOOST_DISABLE_WIN32)
94# define NDNBOOST_DISABLE_WIN32 // winscw defines WIN32 macro
Jeff Thompsonf7d49942013-08-01 16:47:40 -070095#endif
96
97