]> git.donarmstrong.com Git - rsem.git/blob - boost/config/platform/symbian.hpp
Updated boost to v1.55.0
[rsem.git] / boost / config / platform / symbian.hpp
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)
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
27 #  include <boost/config/posix_features.hpp>
28 // 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