]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/config/include/boost/config/platform/symbian.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / config / include / 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