Added *nix identification macros to Boost.Config; BOOST_NIX, BOOST_GENETIC_NIX,

BOOST_TRADEMARK_NIX and BOOST_FUNCTIONAL_NIX.



[SVN r66696]
This commit is contained in:
Bryce Adelstein-Lelbach
2010-11-23 06:33:35 +00:00
parent edab200d72
commit 0fedb0bd92
22 changed files with 258 additions and 42 deletions

View File

@ -3402,6 +3402,96 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_LINUX</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
</p>
</td>
<td>
<p>
Defined if the system kernel is Linux
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NIX</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
</p>
</td>
<td>
<p>
Defined if the system is POSIX compliant
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_GENETIC_NIX</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
</p>
</td>
<td>
<p>
Defined if the system can trace its ancestry to the original AT&amp;T
codebase or designs, but is not certified by the Open Group. This
is the case for modern open-source BSD systems.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_TRADEMARK_NIX</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
</p>
</td>
<td>
<p>
Systems certified as POSIX compliant by the Open Group. These systems
can use the UNIX trademark. Most commercially developed *nix systems
fall into this category.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_FUNCTIONAL_NIX</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
</p>
</td>
<td>
<p>
Systems which behave in a manner roughly consistent with POSIX
standards. Linux and Minix fall into this category.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_DINKUMWARE_STDLIB</span></code>

View File

@ -28,7 +28,7 @@
</h3></div></div></div>
<div><p class="copyright">Copyright &#169; 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
<div><div class="legalnotice">
<a name="id663915"></a><p>
<a name="id833182"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
@ -946,7 +946,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: November 23, 2010 at 03:21:20 GMT</small></p></td>
<td align="left"><p><small>Last revised: November 23, 2010 at 05:40:40 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@ -850,6 +850,26 @@ Defined to 1 if the compiler is the Clang compiler.
[[`BOOST_WINDOWS`][`<boost/config.hpp>`][
Defined if the Windows platfrom API is available.
]]
[[`BOOST_LINUX`][`<boost/config.hpp>`][
Defined if the system kernel is Linux
]]
[[`BOOST_NIX`][`<boost/config.hpp>`][
Defined if the system is POSIX compliant
]]
[[`BOOST_GENETIC_NIX`][`<boost/config.hpp>`][
Defined if the system can trace its ancestry to the original AT&T codebase or
designs, but is not certified by the Open Group. This is the case for modern
open-source BSD systems.
]]
[[`BOOST_TRADEMARK_NIX`][`<boost/config.hpp>`][
Systems certified as POSIX compliant by the Open Group. These systems can use
the UNIX trademark. Most commercially developed *nix systems fall into this
category.
]]
[[`BOOST_FUNCTIONAL_NIX`][`<boost/config.hpp>`][
Systems which behave in a manner roughly consistent with POSIX standards. Linux
and Minix fall into this category.
]]
[[`BOOST_DINKUMWARE_STDLIB`][`<boost/config.hpp>`][
Defined if the dinkumware standard library is in use, takes the same value
as the Dinkumware library version macro `_CPPLIB_VER` if defined, otherwise 1.

View File

@ -12,6 +12,9 @@
//
// versions check:
// we don't support Borland prior to version 5.4:
#define BOOST_BORLAND __BORLANDC__
#if __BORLANDC__ < 0x540
# error "Compiler not supported or configured - please reconfigure"
#endif

View File

@ -14,6 +14,8 @@
#include "boost/config/compiler/common_edg.hpp"
#define BOOST_COMO __COMO_VERSION__
#if (__COMO_VERSION__ <= 4245)
# if defined(_MSC_VER) && _MSC_VER <= 1300

View File

@ -89,6 +89,12 @@
# define BOOST_NO_EXCEPTIONS
#endif
//
// Identify cygwin environments
//
#if __CYGWIN__
# define BOOST_CYGWIN
#endif
//
// Threading support: Turn this on unconditionally here (except for

View File

@ -12,6 +12,8 @@
// Metrowerks C++ compiler setup:
#define BOOST_MWERKS __MWERKS__
// locale support is disabled when linking with the dynamic runtime
# ifdef _MSL_NO_LOCALE
# define BOOST_NO_STD_LOCALE

View File

@ -11,6 +11,10 @@
// Sun C++ compiler setup:
// Macro identifying the Sun compiler
#define BOOST_SUNCC __SUNPRO_CC
# if __SUNPRO_CC <= 0x500
# define BOOST_NO_MEMBER_TEMPLATES
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING

View File

@ -1,4 +1,5 @@
// (C) Copyright John Maddock 2001 - 2002.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -9,6 +10,13 @@
#define BOOST_PLATFORM "IBM Aix"
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
#define BOOST_TRADEMARK_NIX 1
//#define BOOST_FUNCTIONAL_NIX 1
#define BOOST_AIX 1
#define BOOST_HAS_UNISTD_H
#define BOOST_HAS_NL_TYPES_H
#define BOOST_HAS_NANOSLEEP

View File

@ -1,4 +1,5 @@
// (C) Copyright John Maddock 2002.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -7,6 +8,8 @@
#define BOOST_PLATFORM "AmigaOS"
#define BOOST_AMIGA 1
#define BOOST_DISABLE_THREADS
#define BOOST_NO_CWCHAR
#define BOOST_NO_STD_WSTRING

View File

@ -1,4 +1,5 @@
// (C) Copyright John Maddock 2001.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -9,6 +10,13 @@
#define BOOST_PLATFORM "BeOS"
#define BOOST_BEOS 1
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
//#define BOOST_TRADEMARK_NIX 1
#define BOOST_FUNCTIONAL_NIX 1
#define BOOST_NO_CWCHAR
#define BOOST_NO_CWCTYPE
#define BOOST_HAS_UNISTD_H

View File

@ -1,6 +1,7 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001.
// (C) Copyright Douglas Gregor 2002.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -9,18 +10,30 @@
// generic BSD config options:
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
#error "This platform is not BSD"
#if !defined(__FreeBSD__) && \
!defined(__NetBSD__) && \
!defined(__OpenBSD__) && \
!defined(__DragonFly__)
#error "This platform is not BSD"
#endif
#define BOOST_NIX 1
#define BOOST_GENETIC_NIX 1
//#define BOOST_TRADEMARK_NIX 1
//#define BOOST_FUNCTIONAL_NIX 1
#ifdef __FreeBSD__
#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
#define BOOST_FREEBSD __FreeBSD__
#elif defined(__NetBSD__)
#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
#define BOOST_NETBSD __NetBSD__
#elif defined(__OpenBSD__)
#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
#define BOOST_OPENBSD __OpenBSD__
#elif defined(__DragonFly__)
#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
#define BOOST_DFBSD __DragonFly__
#endif
//

View File

@ -1,52 +1,53 @@
// (C) Copyright John Maddock 2001 - 2003.
// Use, modification and distribution are subject to 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)
// (C) Copyright John Maddock 2001 - 2003
// (C) Copyright Bryce Lelbach 2010
//
// Use, modification and distribution are subject to 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.
// See http://www.boost.org for most recent version.
#define BOOST_PLATFORM "Cygwin" // Platform name.
#define BOOST_CYGWIN __CYGWIN__ // Boost platform ID macros.
// cygwin specific config options:
#define BOOST_PLATFORM "Cygwin"
#define BOOST_HAS_DIRENT_H
#define BOOST_HAS_LOG1P
#define BOOST_HAS_EXPM1
//
// Threading API:
// See if we have POSIX threads, if we do use them, otherwise
// revert to native Win threads.
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
//#define BOOST_TRADEMARK_NIX 1
#define BOOST_FUNCTIONAL_NIX 1
// See if we have POSIX threads, otherwise revert to native Win threads.
#define BOOST_HAS_UNISTD_H
#include <unistd.h>
#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
# define BOOST_HAS_PTHREADS
# define BOOST_HAS_SCHED_YIELD
# define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# define BOOST_HAS_SIGACTION
#if defined(_POSIX_THREADS) && (_POSIX_THREADS + 0 >= 0) && \
!defined(BOOST_HAS_WINTHREADS)
#define BOOST_HAS_PTHREADS
#define BOOST_HAS_SCHED_YIELD
#define BOOST_HAS_GETTIMEOFDAY
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#define BOOST_HAS_SIGACTION
#else
# if !defined(BOOST_HAS_WINTHREADS)
# define BOOST_HAS_WINTHREADS
# endif
# define BOOST_HAS_FTIME
#if !defined(BOOST_HAS_WINTHREADS)
#define BOOST_HAS_WINTHREADS
#endif
#define BOOST_HAS_FTIME
#endif
//
// find out if we have a stdint.h, there should be a better way to do this:
//
// Find out if we have a stdint.h, there should be a better way to do this.
#include <sys/types.h>
#ifdef _STDINT_H
#define BOOST_HAS_STDINT_H
#define BOOST_HAS_STDINT_H
#endif
// boilerplate code:
#include <boost/config/posix_features.hpp>
//
// Cygwin lies about XSI conformance, there is no nl_types.h:
//
// Cygwin lies about XSI conformance, there is no nl_types.h.
#ifdef BOOST_HAS_NL_TYPES_H
# undef BOOST_HAS_NL_TYPES_H
#undef BOOST_HAS_NL_TYPES_H
#endif

View File

@ -3,6 +3,7 @@
// (C) Copyright David Abrahams 2002.
// (C) Copyright Toon Knapen 2003.
// (C) Copyright Boris Gubenko 2006 - 2007.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -13,6 +14,13 @@
#define BOOST_PLATFORM "HP-UX"
#define BOOST_HPUX 1 // platform ID macro
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
#define BOOST_TRADEMARK_NIX 1
//#define BOOST_FUNCTIONAL_NIX 1
// In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>
// However, it has the following problem:
// Use of UINT32_C(0) results in "0u l" for the preprocessed source

View File

@ -1,5 +1,6 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2003.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -11,6 +12,11 @@
#define BOOST_PLATFORM "SGI Irix"
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
#define BOOST_TRADEMARK_NIX 1
//#define BOOST_FUNCTIONAL_NIX 1
#define BOOST_NO_SWPRINTF
//
// these are not auto detected by POSIX feature tests:

View File

@ -1,5 +1,6 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001 - 2003.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -13,6 +14,13 @@
// make sure we have __GLIBC_PREREQ if available at all
#include <cstdlib>
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
//#define BOOST_TRADEMARK_NIX 1
#define BOOST_FUNCTIONAL_NIX 1
#define BOOST_LINUX 1
//
// <stdint.h> added to glibc 2.1.1
// We can only test for 2.1 though:

View File

@ -1,6 +1,7 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001 - 2002.
// (C) Copyright Bill Kempf 2002.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -13,6 +14,11 @@
#if __MACH__ && !defined(_MSL_USING_MSL_C)
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
#define BOOST_TRADEMARK_NIX 1
//#define BOOST_FUNCTIONAL_NIX 1
// Using the Mac OS X system BSD-style C library.
# ifndef BOOST_HAS_UNISTD_H

View File

@ -1,4 +1,5 @@
// (C) Copyright Jim Douglas 2005.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -7,8 +8,15 @@
// QNX specific config options:
#define BOOST_QNX 1
#define BOOST_PLATFORM "QNX"
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
//#define BOOST_TRADEMARK_NIX 1
#define BOOST_FUNCTIONAL_NIX 1
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>

View File

@ -1,5 +1,6 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2003.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -10,6 +11,11 @@
#define BOOST_PLATFORM "Sun Solaris"
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
#define BOOST_TRADEMARK_NIX 1
//#define BOOST_FUNCTIONAL_NIX 1
#define BOOST_HAS_GETTIMEOFDAY
// boilerplate code:

View File

@ -1,6 +1,7 @@
// (C) Copyright Yuriy Krasnoschek 2009.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001 - 2003.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -9,13 +10,16 @@
// symbian specific config options:
#define BOOST_PLATFORM "Symbian"
#define BOOST_SYMBIAN 1
#if defined(__S60_3X__)
// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
// Open C / C++ plugin was introdused in this SDK, earlier versions don't have
// CRT / STL
# define BOOST_NIX 1
//# define BOOST_GENETIC_NIX 1
//# define BOOST_TRADEMARK_NIX 1
# define BOOST_FUNCTIONAL_NIX 1
# define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
// make sure we have __GLIBC_PREREQ if available at all
# include <cstdlib>

View File

@ -1,4 +1,5 @@
// (C) Copyright Dustin Spicuzza 2009.
// (C) Copyright Bryce Lelbach 2010
// Use, modification and distribution are subject to 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)
@ -23,6 +24,11 @@
#define _POSIX_TIMERS 1
#define _POSIX_THREADS 1
#define BOOST_NIX 1
//#define BOOST_GENETIC_NIX 1
#define BOOST_TRADEMARK_NIX 1
//#define BOOST_FUNCTIONAL_NIX 1
// vxworks doesn't work with asio serial ports
#define BOOST_ASIO_DISABLE_SERIAL_PORT

View File

@ -639,6 +639,10 @@ namespace std{ using ::typeinfo; }
# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \
|| defined(_POSIX_SOURCE)
# define BOOST_PLATFORM "Generic Unix"
# define BOOST_NIX 1
//# define BOOST_GENETIC_NIX 1
//# define BOOST_TRADEMARK_NIX 1
# define BOOST_FUNCTIONAL_NIX 1
# else
# define BOOST_PLATFORM "Unknown"
# endif