From b10e3490ecb91d3f39ceb642839b518ebc9efee1 Mon Sep 17 00:00:00 2001
From: Rene Rivera Last revised: March 20, 2013 at 04:42:44 GMT Last revised: April 03, 2013 at 02:20:25 GMTBOOST_COMP
compiler macrosBOOST_LANG
language standards macrosBOOST_LIB
library macrosBOOST_OS_
operating system macrosBOOST_OS
operating system macros
@@ -57,7 +59,7 @@
-
+
diff --git a/doc/html/predef/adding_new_predefs.html b/doc/html/predef/adding_new_predefs.html
index 1e678c3..31ca571 100644
--- a/doc/html/predef/adding_new_predefs.html
+++ b/doc/html/predef/adding_new_predefs.html
@@ -48,6 +48,13 @@
*_AVAILABLE
+ macros.
+
#if (condition_a) - #undef BOOST_category_tag - #if (condition_b) - #define BOOST_category_tag BOOST_VERSION_NUMBER(major,minor,patch) - #else - #define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,1) - #endif +# undef BOOST_category_tag +# if (condition_b) +# define BOOST_category_tag BOOST_VERSION_NUMBER(major,minor,patch) +# else +# define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,1) +# endif #endif+
+ We also need to provide the *_AVAILABLE
versions of the predef. And for
+ convenience we also want to provide a *_NAME
macro:
+
#if BOOST_category_tag +# define BOOST_category_tag_AVAILABLE +#endif + +#define BOOST_catagory_tag_NAME "Name" +
The testing of the predef macros is automated to generate checks for all the defined predefs, whether detected or not. To do this we need to declare the @@ -142,7 +159,7 @@ Documentation about what is detected. the test programs they expand out specially to create informational output:
#include <boost/predef/detail/test.h> -BOOST_PREDEF_DECLARE_TEST(BOOST_category_tag,"Name") +BOOST_PREDEF_DECLARE_TEST(BOOST_category_tag,BOOST_category_tag_NAME)
And, of course, we last need to close out the include guard: @@ -164,7 +181,7 @@ Documentation about what is detected. by compilers. For example the EDG compiler uses a simple 3-digit version macro (M,N,P). It can be decomesed and defined as:
-#define BOOST_CXX_EDG BOOST_PREDEF_MAKE_N_N_N(__EDG_VERSION__) +#define BOOST_CCOMP_EDG BOOST_PREDEF_MAKE_N_N_N(__EDG_VERSION__)The decomposition macros are split into three types: decimal decomposition, diff --git a/doc/html/predef/introduction.html b/doc/html/predef/introduction.html index 9d0d64a..fbbea03 100644 --- a/doc/html/predef/introduction.html +++ b/doc/html/predef/introduction.html @@ -18,12 +18,12 @@ Introduction
- This library defines a set of compiler, architecture, operating system, and - library version numbers from the information it can gather of C++ predefined - macros or those defined in generally available headers. The idea for this library - grew out of a proposal to extend the Boost Config library to provide more, - and consistent, information than the feature definitions it supports. What - follows is an edited version of that brief proposal. + This library defines a set of compiler, architecture, operating system, library, + and other version numbers from the information it can gather of C, C++, Objective + C, and Objective C++ predefined macros or those defined in generally available + headers. The idea for this library grew out of a proposal to extend the Boost + Config library to provide more, and consistent, information than the feature + definitions it supports. What follows is an edited version of that brief proposal.
@@ -63,18 +63,27 @@
The current Predef library is now, both an independent library, and expanded in scope. It includes detection and definition of architectures, compilers, - languages, libraries, and operating systems. The key benefits are: + languages, libraries, operating systems, and endianness. The key benefits are:
diff --git a/doc/html/predef/reference/boost_arch_architecture_macros.html b/doc/html/predef/reference/boost_arch_architecture_macros.html index 177033e..5b36c61 100644 --- a/doc/html/predef/reference/boost_arch_architecture_macros.html +++ b/doc/html/predef/reference/boost_arch_architecture_macros.html @@ -19,9 +19,11 @@
- Version numbers that are always defined so that one doesn't have to guard with
+#ifdef
.- + Guard macros that can be used for
#ifdef
+ checks. +- All possible definitions are included with the single
+#include <boost/predef.h>
so that it's friendly to precompiled header usage.- + Specific definitions can be included, ex.
#include + <boost/predef/os/windows.h>
+ for single checks. +- Predefs can be directly used in both preprocessor and compiler expressions for comparison to other similarly defined values. @@ -155,7 +164,9 @@
- Along with the above, it might be good to add some user control as to which - headers are included with the top-level header. + headers are included with the top-level header. Although in the current + form of the library this is less of an issue as one can include the specific + headers one needs.
- Additionally, even if there is no auto-configure style option.. It would diff --git a/doc/html/predef/reference.html b/doc/html/predef/reference.html index 495ea06..8358df5 100644 --- a/doc/html/predef/reference.html +++ b/doc/html/predef/reference.html @@ -22,7 +22,8 @@
BOOST_COMP
compiler macrosBOOST_LANG
language standards macros- -
BOOST_LIB
library macros- +
BOOST_OS_
operating system macros- +
BOOST_OS
operating system macros- Other macros
- Version definition macros
-
+BOOST_ARCH_ALPHA
, DEC - Alpha +BOOST_ARCH_ALPHA
+ DEC Alpha architecture. +
@@ -116,91 +118,6 @@ -
-BOOST_ARCH_AMD64
, Advanced - Micro Devices AMD 64 architecture. ---
- -- - - - -- -- Symbol -
-- -- Version -
-- -- --
-__amd64__
-- -- detection -
-- -- --
-__amd64
-- -- detection -
-- -- --
-__x86_64__
-- -- detection -
-- -- --
-__x86_64
-- -- detection -
-- - -- --
-_M_X64
-- -- detection -
--
BOOST_ARCH_ARM
@@ -299,6 +216,81 @@
+ +
+BOOST_ARCH_BLACKFIN
++ Blackfin Processors from Analog Devices. +
+++
+ ++ + + + ++ ++ Symbol +
++ ++ Version +
++ ++ ++
+__bfin__
++ ++ detection +
++ ++ ++
+__BFIN__
++ ++ detection +
++ ++ ++
+bfin
++ ++ detection +
++ + ++ ++
+BFIN
++ ++ detection +
+@@ -400,105 +392,6 @@
BOOST_ARCH_CONVEX
-
-BOOST_ARCH_IA64
-- Intel IA-64 architecture. -
---
- -- - - - -- -- Symbol -
-- -- Version -
-- -- --
-__ia64__
-- -- detection -
-- -- --
-_IA64
-- -- detection -
-- -- --
-__IA64__
-- -- detection -
-- -- --
-__ia64
-- -- detection -
-- -- --
-_M_IA64
-- -- detection -
-- - -- --
-__itanium__
-- -- detection -
--
BOOST_ARCH_M68K
@@ -765,7 +658,7 @@
- +
BOOST_ARCH_MIPS
@@ -949,7 +842,7 @@
- +
BOOST_ARCH_PARISK
@@ -1109,7 +1002,7 @@
- +
BOOST_ARCH_PPC
@@ -1316,7 +1209,7 @@
- +
BOOST_ARCH_PYRAMID
@@ -1353,7 +1246,7 @@
- +
BOOST_ARCH_RS6000
@@ -1440,7 +1333,7 @@
- +
BOOST_ARCH_SPARC
@@ -1515,7 +1408,7 @@
- +
BOOST_ARCH_SH
@@ -1627,7 +1520,7 @@
- +
BOOST_ARCH_SYS370
@@ -1678,7 +1571,7 @@
- +
BOOST_ARCH_SYS390
@@ -1729,9 +1622,56 @@
- +
+BOOST_ARCH_X86
+ Intel x86 architecture. + This is a category to indicate that either
+BOOST_ARCH_X86_32
+ orBOOST_ARCH_X86_64
is detected. ++ +
+BOOST_ARCH_Z
++ z/Architecture + architecture. +
+++
+ ++ + + ++ ++ Symbol +
++ ++ Version +
++ ++ ++
+__SYSC_ZARCH__
++ ++ detection +
++ +
BOOST_ARCH_X86_32
+Intel x86 architecture: If available versions [3-6] are specifically detected. @@ -1961,12 +1901,11 @@
- -
BOOST_ARCH_Z
+ +BOOST_ARCH_X86_64
- z/Architecture - architecture. + Intel IA-64 architecture.
@@ -1985,10 +1924,11 @@ - + ++ + -
__SYSC_ZARCH__
+__x86_64
@@ -1996,7 +1936,128 @@ detection -+ ++ ++
+__x86_64__
++ ++ detection +
++ ++ ++
+__ia64__
++ ++ detection +
++ ++ ++
+_IA64
++ ++ detection +
++ ++ ++
+__IA64__
++ ++ detection +
++ ++ ++
+__ia64
++ ++ detection +
++ ++ ++
+_M_IA64
++ ++ detection +
++ ++ ++
+__itanium__
++ ++ detection +
++ ++ ++
+__amd64__
++ ++ detection +
++ ++ ++
+__amd64
++ ++ detection +
++ ++ ++
+_M_X64
++ ++ detection +
+
BOOST_COMP_MINGW
- - MinGW compiler. Version - number available as major, minor, and patch. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - V.R.0 - - |
-
-
- |
-
- - V.R.0 - - |
-
BOOST_COMP_MPW
@@ -1432,7 +1354,7 @@
BOOST_COMP_PALM
@@ -1483,7 +1405,7 @@
BOOST_COMP_PGI
@@ -1535,7 +1457,7 @@
BOOST_COMP_SGI
@@ -1611,7 +1533,7 @@
BOOST_COMP_SUNPRO
@@ -1687,7 +1609,7 @@
BOOST_COMP_TENDRA
@@ -1725,7 +1647,7 @@
BOOST_COMP_MSVC
@@ -1789,7 +1711,7 @@
BOOST_COMP_WATCOM
diff --git a/doc/html/predef/reference/boost_lib_library_macros.html b/doc/html/predef/reference/boost_lib_library_macros.html index 9950d44..ee1b929 100644 --- a/doc/html/predef/reference/boost_lib_library_macros.html +++ b/doc/html/predef/reference/boost_lib_library_macros.html @@ -7,7 +7,7 @@ - +
BOOST_OS_AIX
- - IBM AIX - operating system. Version number available as major, minor, and patch. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - 4.3.0 - - |
-
-
- |
-
- - 4.1.0 - - |
-
-
- |
-
- - 3.2.0 - - |
-
-
- |
-
- - 3.0.0 - - |
-
BOOST_OS_AMIGAOS
- - AmigaOS operating - system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
BOOST_OS_ANDROID
- - Android - operating system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
BOOST_OS_BEOS
- - BeOS operating system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
BOOST_OS_BSD_BSDI
@@ -1416,7 +1189,7 @@
BOOST_OS_BSD_DRAGONFLY
@@ -1454,7 +1227,7 @@
BOOST_OS_BSD_FREE
@@ -1506,7 +1279,7 @@
BOOST_OS_BSD_NET
@@ -1618,7 +1391,7 @@
BOOST_OS_BSD_OPEN
@@ -2017,912 +1790,6 @@ -
BOOST_OS_BSD
- - BSD - operating system. -
-- BSD has various branch operating systems possible and each detected individually. - This detects the following variations and sets a specific version number - macro to match: -
-BOOST_OS_BSD_DRAGONFLY
- DragonFly BSD
- BOOST_OS_BSD_FREE
FreeBSD
- BOOST_OS_BSD_BSDI
BSDi BSD/OS
- BOOST_OS_BSD_NET
NetBSD
- BOOST_OS_BSD_OPEN
OpenBSD
- ![]() |
-Note | -
---|---|
- The general |
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - 4.2.0 - - |
-
-
- |
-
- - 4.3.0 - - |
-
-
- |
-
- - 4.4.0 - - |
-
-
- |
-
- - V.R.0 - - |
-
BOOST_OS_CYGWIN
- - Cygwin evironment. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
BOOST_OS_HPUX
- - HP-UX operating system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
BOOST_OS_IRIX
- - IRIX operating system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
BOOST_OS_LINUX
- - Linux operating system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
BOOST_OS_MACOS
- - Mac OS operating - system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - 10.0.0 - - |
-
- - otherwise - - |
-
- - 9.0.0 - - |
-
BOOST_OS_OS400
- - IBM OS/400 operating - system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
BOOST_OS_QNX
- - QNX operating system. - Version number available as major, and minor if possible. And version 4 is - specifically detected. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - V.R.0 - - |
-
-
- |
-
- - 4.0.0 - - |
-
BOOST_OS_SOLARIS
- - Solaris - operating system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
BOOST_OS_UNIX
- - Unix Environment operating - system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
BOOST_OS_SVR4
- - SVR4 Environment - operating system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
BOOST_OS_VMS
- - VMS operating system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - V.R.P - - |
-
BOOST_OS_WINDOWS
- - Microsoft - Windows operating system. -
-
- - Symbol - - |
-
- - Version - - |
-
---|---|
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
-
- |
-
- - detection - - |
-
@@ -2934,7 +1801,7 @@ |