diff options
Diffstat (limited to 'boost/config/platform')
-rw-r--r-- | boost/config/platform/aix.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/beos.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/bsd.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/cray.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/cygwin.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/haiku.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/hpux.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/irix.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/linux.hpp | 7 | ||||
-rw-r--r-- | boost/config/platform/macos.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/qnxnto.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/solaris.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/symbian.hpp | 2 | ||||
-rw-r--r-- | boost/config/platform/vxworks.hpp | 41 | ||||
-rw-r--r-- | boost/config/platform/zos.hpp | 32 |
15 files changed, 80 insertions, 24 deletions
diff --git a/boost/config/platform/aix.hpp b/boost/config/platform/aix.hpp index 894ef42ce9..a48e232061 100644 --- a/boost/config/platform/aix.hpp +++ b/boost/config/platform/aix.hpp @@ -26,7 +26,7 @@ //#define BOOST_HAS_PTHREAD_YIELD // boilerplate code: -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> diff --git a/boost/config/platform/beos.hpp b/boost/config/platform/beos.hpp index 48c3d8dc5b..6158c1c20b 100644 --- a/boost/config/platform/beos.hpp +++ b/boost/config/platform/beos.hpp @@ -20,7 +20,7 @@ #endif // boilerplate code: -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> diff --git a/boost/config/platform/bsd.hpp b/boost/config/platform/bsd.hpp index a0142978eb..79e74a080a 100644 --- a/boost/config/platform/bsd.hpp +++ b/boost/config/platform/bsd.hpp @@ -77,7 +77,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> diff --git a/boost/config/platform/cray.hpp b/boost/config/platform/cray.hpp index 5c476e4160..103e9c0620 100644 --- a/boost/config/platform/cray.hpp +++ b/boost/config/platform/cray.hpp @@ -12,7 +12,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> diff --git a/boost/config/platform/cygwin.hpp b/boost/config/platform/cygwin.hpp index 53e23f7f08..8ecc4a4af5 100644 --- a/boost/config/platform/cygwin.hpp +++ b/boost/config/platform/cygwin.hpp @@ -43,7 +43,7 @@ #define BOOST_NO_FENV_H // boilerplate code: -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> // // Cygwin lies about XSI conformance, there is no nl_types.h: diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp index 750866c47d..04244c5677 100644 --- a/boost/config/platform/haiku.hpp +++ b/boost/config/platform/haiku.hpp @@ -28,4 +28,4 @@ #define BOOST_HAS_GETTIMEOFDAY // boilerplate code: -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> diff --git a/boost/config/platform/hpux.hpp b/boost/config/platform/hpux.hpp index 19ce68e597..222622e7ee 100644 --- a/boost/config/platform/hpux.hpp +++ b/boost/config/platform/hpux.hpp @@ -43,7 +43,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> // the following are always available: #ifndef BOOST_HAS_GETTIMEOFDAY diff --git a/boost/config/platform/irix.hpp b/boost/config/platform/irix.hpp index aeae49c8b4..0acb651552 100644 --- a/boost/config/platform/irix.hpp +++ b/boost/config/platform/irix.hpp @@ -25,7 +25,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> diff --git a/boost/config/platform/linux.hpp b/boost/config/platform/linux.hpp index 8c43c7b6d3..c4eef8f80c 100644 --- a/boost/config/platform/linux.hpp +++ b/boost/config/platform/linux.hpp @@ -24,8 +24,9 @@ #if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) // <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines // int64_t only if __GNUC__. Thus, assume a fully usable <stdint.h> - // only when using GCC. -# if defined __GNUC__ + // only when using GCC. Update 2017: this appears not to be the case for + // recent glibc releases, see bug report: https://svn.boost.org/trac/boost/ticket/13045 +# if defined(__GNUC__) || ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 5))) # define BOOST_HAS_STDINT_H # endif #endif @@ -71,7 +72,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> #if defined(__USE_GNU) && !defined(__ANDROID__) && !defined(ANDROID) #define BOOST_HAS_PTHREAD_YIELD #endif diff --git a/boost/config/platform/macos.hpp b/boost/config/platform/macos.hpp index 5be4e3b3da..ed7dc15f28 100644 --- a/boost/config/platform/macos.hpp +++ b/boost/config/platform/macos.hpp @@ -25,7 +25,7 @@ // to replace the platform-native BSD one. G++ users // should also always be able to do this on MaxOS X. // -# include <boost/config/posix_features.hpp> +# include <boost/config/detail/posix_features.hpp> # ifndef BOOST_HAS_STDINT_H # define BOOST_HAS_STDINT_H # endif diff --git a/boost/config/platform/qnxnto.hpp b/boost/config/platform/qnxnto.hpp index b1377c8d2c..d0298cb4ec 100644 --- a/boost/config/platform/qnxnto.hpp +++ b/boost/config/platform/qnxnto.hpp @@ -10,7 +10,7 @@ #define BOOST_PLATFORM "QNX" #define BOOST_HAS_UNISTD_H -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> // QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h // or log1p and expm1: diff --git a/boost/config/platform/solaris.hpp b/boost/config/platform/solaris.hpp index 6e4efc9e56..51ffe67f33 100644 --- a/boost/config/platform/solaris.hpp +++ b/boost/config/platform/solaris.hpp @@ -14,7 +14,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> // // pthreads don't actually work with gcc unless _PTHREADS is defined: diff --git a/boost/config/platform/symbian.hpp b/boost/config/platform/symbian.hpp index e02a7782de..f814d00b5b 100644 --- a/boost/config/platform/symbian.hpp +++ b/boost/config/platform/symbian.hpp @@ -24,7 +24,7 @@ #include <stdlib.h> #endif// boilerplate code: # define BOOST_HAS_UNISTD_H -# include <boost/config/posix_features.hpp> +# include <boost/config/detail/posix_features.hpp> // S60 SDK defines _POSIX_VERSION as POSIX.1 # ifndef BOOST_HAS_STDINT_H # define BOOST_HAS_STDINT_H diff --git a/boost/config/platform/vxworks.hpp b/boost/config/platform/vxworks.hpp index cdda0158ad..a7f571c499 100644 --- a/boost/config/platform/vxworks.hpp +++ b/boost/config/platform/vxworks.hpp @@ -180,7 +180,7 @@ // Luckily, at the moment there seems to be none! #endif -// These #defines allow posix_features to work, since vxWorks doesn't +// These #defines allow detail/posix_features to work, since vxWorks doesn't // #define them itself for DKMs (for RTPs on the contrary it does): #ifdef _WRS_KERNEL # ifndef _POSIX_TIMERS @@ -286,10 +286,8 @@ inline ssize_t readlink(const char*, char*, size_t){ return -1; } -// vxWorks claims to implement gettimeofday in sys/time.h -// but nevertheless does not provide it! See -// https://support.windriver.com/olsPortal/faces/maintenance/techtipDetail_noHeader.jspx?docId=16442&contentId=WR_TECHTIP_006256 -// We implement a surrogate version here via clock_gettime: +#if (_WRS_VXWORKS_MAJOR < 7) + inline int gettimeofday(struct timeval *tv, void * /*tzv*/) { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); @@ -297,6 +295,8 @@ inline int gettimeofday(struct timeval *tv, void * /*tzv*/) { tv->tv_usec = ts.tv_nsec / 1000; return 0; } +#endif + // vxWorks does provide neither struct tms nor function times()! // We implement an empty dummy-function, simply setting the user @@ -327,6 +327,7 @@ inline clock_t times(struct tms *t){ return ticks; } +extern void bzero (void *, size_t); // FD_ZERO uses bzero() but doesn't include strings.h } // extern "C" // Put the selfmade functions into the std-namespace, just in case @@ -349,21 +350,43 @@ namespace std { // Include signal.h which might contain a typo to be corrected here #include <signal.h> -#define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway! +inline int getpagesize() { return sysconf(_SC_PAGESIZE); } // getpagesize is deprecated anyway! #ifndef S_ISSOCK # define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket? #endif -#define lstat(p, b) stat(p, b) // lstat() == stat(), as vxWorks has no symlinks! +inline int lstat(p, b) { return stat(p, b); } // lstat() == stat(), as vxWorks has no symlinks! #ifndef FPE_FLTINV # define FPE_FLTINV (FPE_FLTSUB+1) // vxWorks has no FPE_FLTINV, so define one as a dummy #endif #if !defined(BUS_ADRALN) && defined(BUS_ADRALNR) # define BUS_ADRALN BUS_ADRALNR // Correct a supposed typo in vxWorks' <signal.h> #endif -//typedef int locale_t; // locale_t is a POSIX-extension, currently unpresent in vxWorks! +typedef int locale_t; // locale_t is a POSIX-extension, currently not present in vxWorks! // #include boilerplate code: -#include <boost/config/posix_features.hpp> +#include <boost/config/detail/posix_features.hpp> // vxWorks lies about XSI conformance, there is no nl_types.h: #undef BOOST_HAS_NL_TYPES_H + +// vxWorks 7 adds C++11 support +// however it is optional, and does not match exactly the support determined +// by examining Dinkum STL version and GCC version (or ICC and DCC) + +#ifndef _WRS_CONFIG_LANG_LIB_CPLUS_CPLUS_USER_2011 +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_ATOMIC +#else +# define BOOST_NO_CXX11_NULLPTR +#endif + diff --git a/boost/config/platform/zos.hpp b/boost/config/platform/zos.hpp new file mode 100644 index 0000000000..fa77999edc --- /dev/null +++ b/boost/config/platform/zos.hpp @@ -0,0 +1,32 @@ +// Copyright (c) 2017 Dynatrace +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt + +// See http://www.boost.org for most recent version. + +// Platform setup for IBM z/OS. + +#define BOOST_PLATFORM "IBM z/OS" + +#include <features.h> // For __UU, __C99, __TR1, ... + +#if defined(__UU) +# define BOOST_HAS_GETTIMEOFDAY +#endif + +#if defined(_OPEN_THREADS) || defined(__SUSV3_THR) +# define BOOST_HAS_PTHREADS +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_THREADS +#endif + +#if defined(__SUSV3) || defined(__SUSV3_THR) +# define BOOST_HAS_SCHED_YIELD +#endif + +#define BOOST_HAS_SIGACTION +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_NL_TYPES_H |