diff options
Diffstat (limited to 'boost/predef')
-rw-r--r-- | boost/predef/architecture/parisc.h | 2 | ||||
-rw-r--r-- | boost/predef/library/c.h | 1 | ||||
-rw-r--r-- | boost/predef/library/c/cloudabi.h | 53 | ||||
-rw-r--r-- | boost/predef/make.h | 4 | ||||
-rw-r--r-- | boost/predef/os/android.h | 4 | ||||
-rw-r--r-- | boost/predef/os/bsd/free.h | 13 | ||||
-rw-r--r-- | boost/predef/os/bsd/open.h | 80 | ||||
-rw-r--r-- | boost/predef/platform.h | 10 | ||||
-rw-r--r-- | boost/predef/platform/cloudabi.h | 43 | ||||
-rw-r--r-- | boost/predef/platform/mingw.h | 4 | ||||
-rw-r--r-- | boost/predef/platform/mingw32.h | 63 | ||||
-rw-r--r-- | boost/predef/platform/mingw64.h | 63 | ||||
-rw-r--r-- | boost/predef/platform/windows_desktop.h | 12 | ||||
-rw-r--r-- | boost/predef/platform/windows_phone.h | 9 | ||||
-rw-r--r-- | boost/predef/platform/windows_runtime.h | 18 | ||||
-rw-r--r-- | boost/predef/platform/windows_server.h | 47 | ||||
-rw-r--r-- | boost/predef/platform/windows_store.h | 15 | ||||
-rw-r--r-- | boost/predef/platform/windows_system.h | 47 | ||||
-rw-r--r-- | boost/predef/platform/windows_uwp.h | 60 | ||||
-rw-r--r-- | boost/predef/version.h | 2 |
20 files changed, 525 insertions, 25 deletions
diff --git a/boost/predef/architecture/parisc.h b/boost/predef/architecture/parisc.h index 7c7625f912..c75a1f3889 100644 --- a/boost/predef/architecture/parisc.h +++ b/boost/predef/architecture/parisc.h @@ -12,7 +12,7 @@ http://www.boost.org/LICENSE_1_0.txt) #include <boost/predef/make.h> /*` -[heading `BOOST_ARCH_PARISK`] +[heading `BOOST_ARCH_PARISC`] [@http://en.wikipedia.org/wiki/PA-RISC_family HP/PA RISC] architecture. diff --git a/boost/predef/library/c.h b/boost/predef/library/c.h index fa8841e827..7ca84cc079 100644 --- a/boost/predef/library/c.h +++ b/boost/predef/library/c.h @@ -12,6 +12,7 @@ http://www.boost.org/LICENSE_1_0.txt) #include <boost/predef/library/c/_prefix.h> +#include <boost/predef/library/c/cloudabi.h> #include <boost/predef/library/c/gnu.h> #include <boost/predef/library/c/uc.h> #include <boost/predef/library/c/vms.h> diff --git a/boost/predef/library/c/cloudabi.h b/boost/predef/library/c/cloudabi.h new file mode 100644 index 0000000000..e6acaee65d --- /dev/null +++ b/boost/predef/library/c/cloudabi.h @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2017 James E. King III + * + * 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) + */ + +#ifndef BOOST_PREDEF_LIBRARY_C_CLOUDABI_H +#define BOOST_PREDEF_LIBRARY_C_CLOUDABI_H + +#include <boost/predef/version_number.h> +#include <boost/predef/make.h> + +#include <boost/predef/library/c/_prefix.h> + +#if defined(__CloudABI__) +#include <stddef.h> +#endif + +/*` +[heading `BOOST_LIB_C_CLOUDABI`] + +[@https://github.com/NuxiNL/cloudlibc cloudlibc] - CloudABI's standard C library. +Version number available as major, and minor. + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`__cloudlibc__`] [__predef_detection__]] + + [[`__cloudlibc_major__`, `__cloudlibc_minor__`] [V.R.0]] + ] + */ + +#define BOOST_LIB_C_CLOUDABI BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if defined(__cloudlibc__) +# undef BOOST_LIB_C_CLOUDABI +# define BOOST_LIB_C_CLOUDABI \ + BOOST_VERSION_NUMBER(__cloudlibc_major__,__cloudlibc_minor__,0) +#endif + +#if BOOST_LIB_C_CLOUDABI +# define BOOST_LIB_C_CLOUDABI_AVAILABLE +#endif + +#define BOOST_LIB_C_CLOUDABI_NAME "cloudlibc" + +#endif + +#include <boost/predef/detail/test.h> +BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_C_CLOUDABI,BOOST_LIB_C_CLOUDABI_NAME) diff --git a/boost/predef/make.h b/boost/predef/make.h index 4f2f9ee761..36b891aa33 100644 --- a/boost/predef/make.h +++ b/boost/predef/make.h @@ -50,6 +50,8 @@ Macros are: #define BOOST_PREDEF_MAKE_10_VRP(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,(V)%10) /*` `BOOST_PREDEF_MAKE_10_VRP000(V)` */ #define BOOST_PREDEF_MAKE_10_VRP000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,((V)/1000)%10) +/*` `BOOST_PREDEF_MAKE_10_VRPPPP(V)` */ +#define BOOST_PREDEF_MAKE_10_VRPPPP(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,(V)%10000) /*` `BOOST_PREDEF_MAKE_10_VRPP(V)` */ #define BOOST_PREDEF_MAKE_10_VRPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,((V)/100)%10,(V)%100) /*` `BOOST_PREDEF_MAKE_10_VRR(V)` */ @@ -64,6 +66,8 @@ Macros are: #define BOOST_PREDEF_MAKE_10_VVRR(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0) /*` `BOOST_PREDEF_MAKE_10_VVRRPP(V)` */ #define BOOST_PREDEF_MAKE_10_VVRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%100,((V)/100)%100,(V)%100) +/*` `BOOST_PREDEF_MAKE_10_VVRRPPP(V)` */ +#define BOOST_PREDEF_MAKE_10_VVRRPPP(V) BOOST_VERSION_NUMBER(((V)/100000)%100,((V)/1000)%100,(V)%1000) /*` `BOOST_PREDEF_MAKE_10_VVRR0PP00(V)` */ #define BOOST_PREDEF_MAKE_10_VVRR0PP00(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,((V)/100)%100) /*` `BOOST_PREDEF_MAKE_10_VVRR0PPPP(V)` */ diff --git a/boost/predef/os/android.h b/boost/predef/os/android.h index 00836e7fce..125dbded9e 100644 --- a/boost/predef/os/android.h +++ b/boost/predef/os/android.h @@ -5,8 +5,8 @@ Distributed under the Boost Software License, Version 1.0. http://www.boost.org/LICENSE_1_0.txt) */ -#ifndef BOOST_PREDEF_OS_ADROID_H -#define BOOST_PREDEF_OS_ADROID_H +#ifndef BOOST_PREDEF_OS_ANDROID_H +#define BOOST_PREDEF_OS_ANDROID_H #include <boost/predef/version_number.h> #include <boost/predef/make.h> diff --git a/boost/predef/os/bsd/free.h b/boost/predef/os/bsd/free.h index 248011ae7a..81c002109d 100644 --- a/boost/predef/os/bsd/free.h +++ b/boost/predef/os/bsd/free.h @@ -34,13 +34,20 @@ http://www.boost.org/LICENSE_1_0.txt) # define BOOST_OS_BSD_AVAILABLE # endif # undef BOOST_OS_BSD_FREE +# include <sys/param.h> # if defined(__FreeBSD_version) -# if __FreeBSD_version < 500000 +# if __FreeBSD_version == 491000 # define BOOST_OS_BSD_FREE \ - BOOST_PREDEF_MAKE_10_VRP000(__FreeBSD_version) + BOOST_VERSION_NUMBER(4, 10, 0) +# elif __FreeBSD_version == 492000 +# define BOOST_OS_BSD_FREE \ + BOOST_VERSION_NUMBER(4, 11, 0) +# elif __FreeBSD_version < 500000 +# define BOOST_OS_BSD_FREE \ + BOOST_PREDEF_MAKE_10_VRPPPP(__FreeBSD_version) # else # define BOOST_OS_BSD_FREE \ - BOOST_PREDEF_MAKE_10_VRR000(__FreeBSD_version) + BOOST_PREDEF_MAKE_10_VVRRPPP(__FreeBSD_version) # endif # else # define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_AVAILABLE diff --git a/boost/predef/os/bsd/open.h b/boost/predef/os/bsd/open.h index 423103ac5c..f6ccd24a9b 100644 --- a/boost/predef/os/bsd/open.h +++ b/boost/predef/os/bsd/open.h @@ -50,6 +50,26 @@ http://www.boost.org/LICENSE_1_0.txt) [[`OpenBSD4_7`] [4.7.0]] [[`OpenBSD4_8`] [4.8.0]] [[`OpenBSD4_9`] [4.9.0]] + [[`OpenBSD5_0`] [5.0.0]] + [[`OpenBSD5_1`] [5.1.0]] + [[`OpenBSD5_2`] [5.2.0]] + [[`OpenBSD5_3`] [5.3.0]] + [[`OpenBSD5_4`] [5.4.0]] + [[`OpenBSD5_5`] [5.5.0]] + [[`OpenBSD5_6`] [5.6.0]] + [[`OpenBSD5_7`] [5.7.0]] + [[`OpenBSD5_8`] [5.8.0]] + [[`OpenBSD5_9`] [5.9.0]] + [[`OpenBSD6_0`] [6.0.0]] + [[`OpenBSD6_1`] [6.1.0]] + [[`OpenBSD6_2`] [6.2.0]] + [[`OpenBSD6_3`] [6.3.0]] + [[`OpenBSD6_4`] [6.4.0]] + [[`OpenBSD6_5`] [6.5.0]] + [[`OpenBSD6_6`] [6.6.0]] + [[`OpenBSD6_7`] [6.7.0]] + [[`OpenBSD6_8`] [6.8.0]] + [[`OpenBSD6_9`] [6.9.0]] ] */ @@ -153,6 +173,66 @@ http://www.boost.org/LICENSE_1_0.txt) # if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_9) # define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,9,0) # endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_0) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,0,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_1) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,1,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_2) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,2,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_3) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,3,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_4) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,4,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_5) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,5,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_6) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,6,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_7) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,7,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_8) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,8,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD5_9) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(5,9,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_0) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,0,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_1) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,1,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_2) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,2,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_3) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,3,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_4) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,4,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_5) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,5,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_6) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,6,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_7) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,7,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_8) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,8,0) +# endif +# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD6_9) +# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(6,9,0) +# endif # if !defined(BOOST_OS_BSD_OPEN) # define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_AVAILABLE # endif diff --git a/boost/predef/platform.h b/boost/predef/platform.h index 7da697e63d..6c366d595c 100644 --- a/boost/predef/platform.h +++ b/boost/predef/platform.h @@ -11,11 +11,17 @@ http://www.boost.org/LICENSE_1_0.txt) #define BOOST_PREDEF_PLATFORM_H #endif +#include <boost/predef/platform/cloudabi.h> #include <boost/predef/platform/mingw.h> +#include <boost/predef/platform/mingw32.h> +#include <boost/predef/platform/mingw64.h> +#include <boost/predef/platform/windows_uwp.h> #include <boost/predef/platform/windows_desktop.h> -#include <boost/predef/platform/windows_store.h> #include <boost/predef/platform/windows_phone.h> -#include <boost/predef/platform/windows_runtime.h> +#include <boost/predef/platform/windows_server.h> +#include <boost/predef/platform/windows_store.h> +#include <boost/predef/platform/windows_system.h> +#include <boost/predef/platform/windows_runtime.h> // deprecated #include <boost/predef/platform/ios.h> /*#include <boost/predef/platform/.h>*/ diff --git a/boost/predef/platform/cloudabi.h b/boost/predef/platform/cloudabi.h new file mode 100644 index 0000000000..c44f689454 --- /dev/null +++ b/boost/predef/platform/cloudabi.h @@ -0,0 +1,43 @@ +/* + Copyright 2017 James E. King, III + 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) +*/ + +#ifndef BOOST_PREDEF_PLAT_CLOUDABI_H +#define BOOST_PREDEF_PLAT_CLOUDABI_H + +#include <boost/predef/version_number.h> +#include <boost/predef/make.h> + +/*` +[heading `BOOST_PLAT_CLOUDABI`] + +[@https://github.com/NuxiNL/cloudabi CloudABI] platform. + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`__CloudABI__`] [__predef_detection__]] + ] + */ + +#define BOOST_PLAT_CLOUDABI BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if defined(__CloudABI__) +# undef BOOST_PLAT_CLOUDABI +# define BOOST_PLAT_CLOUDABI BOOST_VERSION_NUMBER_AVAILABLE +#endif + +#if BOOST_PLAT_CLOUDABI +# define BOOST_PLAT_CLOUDABI_AVAILABLE +# include <boost/predef/detail/platform_detected.h> +#endif + +#define BOOST_PLAT_CLOUDABI_NAME "CloudABI" + +#endif + +#include <boost/predef/detail/test.h> +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_CLOUDABI,BOOST_PLAT_CLOUDABI_NAME) diff --git a/boost/predef/platform/mingw.h b/boost/predef/platform/mingw.h index 5a1334b47c..c52827d7d8 100644 --- a/boost/predef/platform/mingw.h +++ b/boost/predef/platform/mingw.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_PLAT_MINGW`] -[@http://en.wikipedia.org/wiki/MinGW MinGW] platform. +[@http://en.wikipedia.org/wiki/MinGW MinGW] platform, either variety. Version number available as major, minor, and patch. [table @@ -56,7 +56,7 @@ Version number available as major, minor, and patch. # include <boost/predef/detail/platform_detected.h> #endif -#define BOOST_PLAT_MINGW_NAME "MinGW" +#define BOOST_PLAT_MINGW_NAME "MinGW (any variety)" #endif diff --git a/boost/predef/platform/mingw32.h b/boost/predef/platform/mingw32.h new file mode 100644 index 0000000000..ff90038b4c --- /dev/null +++ b/boost/predef/platform/mingw32.h @@ -0,0 +1,63 @@ +/* +Copyright Rene Rivera 2008-2015 +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) +*/ + +#ifndef BOOST_PREDEF_PLAT_MINGW32_H +#define BOOST_PREDEF_PLAT_MINGW32_H + +#include <boost/predef/version_number.h> +#include <boost/predef/make.h> + +/*` +[heading `BOOST_PLAT_MINGW32`] + +[@http://www.mingw.org/ MinGW] platform. +Version number available as major, minor, and patch. + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`__MINGW32__`] [__predef_detection__]] + + [[`__MINGW32_VERSION_MAJOR`, `__MINGW32_VERSION_MINOR`] [V.R.0]] + ] + */ + +#define BOOST_PLAT_MINGW32 BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if defined(__MINGW32__) +# include <_mingw.h> +# if !defined(BOOST_PLAT_MINGW32_DETECTION) && (defined(__MINGW32_VERSION_MAJOR) && defined(__MINGW32_VERSION_MINOR)) +# define BOOST_PLAT_MINGW32_DETECTION \ + BOOST_VERSION_NUMBER(__MINGW32_VERSION_MAJOR,__MINGW32_VERSION_MINOR,0) +# endif +# if !defined(BOOST_PLAT_MINGW32_DETECTION) +# define BOOST_PLAT_MINGW32_DETECTION BOOST_VERSION_NUMBER_AVAILABLE +# endif +#endif + +#ifdef BOOST_PLAT_MINGW32_DETECTION +# define BOOST_PLAT_MINGW32_AVAILABLE +# if defined(BOOST_PREDEF_DETAIL_PLAT_DETECTED) +# define BOOST_PLAT_MINGW32_EMULATED BOOST_PLAT_MINGW32_DETECTION +# else +# undef BOOST_PLAT_MINGW32 +# define BOOST_PLAT_MINGW32 BOOST_PLAT_MINGW32_DETECTION +# endif +# include <boost/predef/detail/platform_detected.h> +#endif + +#define BOOST_PLAT_MINGW32_NAME "MinGW" + +#endif + +#include <boost/predef/detail/test.h> +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_MINGW32,BOOST_PLAT_MINGW32_NAME) + +#ifdef BOOST_PLAT_MINGW32_EMULATED +#include <boost/predef/detail/test.h> +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_MINGW32_EMULATED,BOOST_PLAT_MINGW32_NAME) +#endif diff --git a/boost/predef/platform/mingw64.h b/boost/predef/platform/mingw64.h new file mode 100644 index 0000000000..a35dd3e016 --- /dev/null +++ b/boost/predef/platform/mingw64.h @@ -0,0 +1,63 @@ +/* +Copyright Rene Rivera 2008-2015 +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) +*/ + +#ifndef BOOST_PREDEF_PLAT_MINGW64_H +#define BOOST_PREDEF_PLAT_MINGW64_H + +#include <boost/predef/version_number.h> +#include <boost/predef/make.h> + +/*` +[heading `BOOST_PLAT_MINGW64`] + +[@https://mingw-w64.org/ MinGW-w64] platform. +Version number available as major, minor, and patch. + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`__MINGW64__`] [__predef_detection__]] + + [[`__MINGW64_VERSION_MAJOR`, `__MINGW64_VERSION_MINOR`] [V.R.0]] + ] + */ + +#define BOOST_PLAT_MINGW64 BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if defined(__MINGW64__) +# include <_mingw.h> +# if !defined(BOOST_PLAT_MINGW64_DETECTION) && (defined(__MINGW64_VERSION_MAJOR) && defined(__MINGW64_VERSION_MINOR)) +# define BOOST_PLAT_MINGW64_DETECTION \ + BOOST_VERSION_NUMBER(__MINGW64_VERSION_MAJOR,__MINGW64_VERSION_MINOR,0) +# endif +# if !defined(BOOST_PLAT_MINGW64_DETECTION) +# define BOOST_PLAT_MINGW64_DETECTION BOOST_VERSION_NUMBER_AVAILABLE +# endif +#endif + +#ifdef BOOST_PLAT_MINGW64_DETECTION +# define BOOST_PLAT_MINGW64_AVAILABLE +# if defined(BOOST_PREDEF_DETAIL_PLAT_DETECTED) +# define BOOST_PLAT_MINGW64_EMULATED BOOST_PLAT_MINGW64_DETECTION +# else +# undef BOOST_PLAT_MINGW64 +# define BOOST_PLAT_MINGW64 BOOST_PLAT_MINGW64_DETECTION +# endif +# include <boost/predef/detail/platform_detected.h> +#endif + +#define BOOST_PLAT_MINGW64_NAME "MinGW-w64" + +#endif + +#include <boost/predef/detail/test.h> +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_MINGW64,BOOST_PLAT_MINGW64_NAME) + +#ifdef BOOST_PLAT_MINGW64_EMULATED +#include <boost/predef/detail/test.h> +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_MINGW64_EMULATED,BOOST_PLAT_MINGW64_NAME) +#endif diff --git a/boost/predef/platform/windows_desktop.h b/boost/predef/platform/windows_desktop.h index 62719b4299..afb39079a6 100644 --- a/boost/predef/platform/windows_desktop.h +++ b/boost/predef/platform/windows_desktop.h @@ -9,25 +9,31 @@ http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_PREDEF_PLAT_WINDOWS_DESKTOP_H #define BOOST_PREDEF_PLAT_WINDOWS_DESKTOP_H -#include <boost/predef/version_number.h> #include <boost/predef/make.h> #include <boost/predef/os/windows.h> +#include <boost/predef/platform/windows_uwp.h> +#include <boost/predef/version_number.h> /*` [heading `BOOST_PLAT_WINDOWS_DESKTOP`] +[@https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide UWP] +for Windows Desktop development. Also available if the Platform SDK is too +old to support UWP. + [table [[__predef_symbol__] [__predef_version__]] - [[`!WINAPI_FAMILY`] [__predef_detection__]] [[`WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP`] [__predef_detection__]] + [[`!BOOST_PLAT_WINDOWS_UWP`] [__predef_detection__]] ] */ #define BOOST_PLAT_WINDOWS_DESKTOP BOOST_VERSION_NUMBER_NOT_AVAILABLE #if BOOST_OS_WINDOWS && \ - ( !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) ) + ((defined(WINAPI_FAMILY_DESKTOP_APP) && WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) || \ + !BOOST_PLAT_WINDOWS_UWP) # undef BOOST_PLAT_WINDOWS_DESKTOP # define BOOST_PLAT_WINDOWS_DESKTOP BOOST_VERSION_NUMBER_AVAILABLE #endif diff --git a/boost/predef/platform/windows_phone.h b/boost/predef/platform/windows_phone.h index df583adc02..0ebc76d276 100644 --- a/boost/predef/platform/windows_phone.h +++ b/boost/predef/platform/windows_phone.h @@ -9,13 +9,17 @@ http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_PREDEF_PLAT_WINDOWS_PHONE_H #define BOOST_PREDEF_PLAT_WINDOWS_PHONE_H -#include <boost/predef/version_number.h> #include <boost/predef/make.h> #include <boost/predef/os/windows.h> +#include <boost/predef/platform/windows_uwp.h> +#include <boost/predef/version_number.h> /*` [heading `BOOST_PLAT_WINDOWS_PHONE`] +[@https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide UWP] +for Windows Phone development. + [table [[__predef_symbol__] [__predef_version__]] @@ -25,7 +29,8 @@ http://www.boost.org/LICENSE_1_0.txt) #define BOOST_PLAT_WINDOWS_PHONE BOOST_VERSION_NUMBER_NOT_AVAILABLE -#if BOOST_OS_WINDOWS && defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP +#if BOOST_OS_WINDOWS && \ + defined(WINAPI_FAMILY_PHONE_APP) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP # undef BOOST_PLAT_WINDOWS_PHONE # define BOOST_PLAT_WINDOWS_PHONE BOOST_VERSION_NUMBER_AVAILABLE #endif diff --git a/boost/predef/platform/windows_runtime.h b/boost/predef/platform/windows_runtime.h index 03be5140e9..e7978d7525 100644 --- a/boost/predef/platform/windows_runtime.h +++ b/boost/predef/platform/windows_runtime.h @@ -9,25 +9,33 @@ http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_PREDEF_PLAT_WINDOWS_RUNTIME_H #define BOOST_PREDEF_PLAT_WINDOWS_RUNTIME_H -#include <boost/predef/version_number.h> #include <boost/predef/make.h> #include <boost/predef/os/windows.h> +#include <boost/predef/platform/windows_phone.h> +#include <boost/predef/platform/windows_store.h> +#include <boost/predef/version_number.h> /*` [heading `BOOST_PLAT_WINDOWS_RUNTIME`] +Deprecated. + +[@https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide UWP] +for Windows Phone or Store development. This does not align to the existing development model for +UWP and is deprecated. Use one of the other `BOOST_PLAT_WINDOWS_*`definitions instead. + [table [[__predef_symbol__] [__predef_version__]] - [[`WINAPI_FAMILY == WINAPI_FAMILY_APP`] [__predef_detection__]] - [[`WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP`] [__predef_detection__]] + [[`BOOST_PLAT_WINDOWS_PHONE`] [__predef_detection__]] + [[`BOOST_PLAT_WINDOWS_STORE`] [__predef_detection__]] ] */ #define BOOST_PLAT_WINDOWS_RUNTIME BOOST_VERSION_NUMBER_NOT_AVAILABLE -#if BOOST_OS_WINDOWS && defined(WINAPI_FAMILY) && \ - ( WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP ) +#if BOOST_OS_WINDOWS && \ + (BOOST_PLAT_WINDOWS_STORE || BOOST_PLAT_WINDOWS_PHONE) # undef BOOST_PLAT_WINDOWS_RUNTIME # define BOOST_PLAT_WINDOWS_RUNTIME BOOST_VERSION_NUMBER_AVAILABLE #endif diff --git a/boost/predef/platform/windows_server.h b/boost/predef/platform/windows_server.h new file mode 100644 index 0000000000..7bd629da34 --- /dev/null +++ b/boost/predef/platform/windows_server.h @@ -0,0 +1,47 @@ +/* +Copyright James E. King III, 2017 +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) +*/ + +#ifndef BOOST_PREDEF_PLAT_WINDOWS_SERVER_H +#define BOOST_PREDEF_PLAT_WINDOWS_SERVER_H + +#include <boost/predef/make.h> +#include <boost/predef/os/windows.h> +#include <boost/predef/platform/windows_uwp.h> +#include <boost/predef/version_number.h> + +/*` +[heading `BOOST_PLAT_WINDOWS_SERVER`] + +[@https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide UWP] +for Windows Server development. + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`WINAPI_FAMILY == WINAPI_FAMILY_SERVER`] [__predef_detection__]] + ] + */ + +#define BOOST_PLAT_WINDOWS_SERVER BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if BOOST_OS_WINDOWS && \ + defined(WINAPI_FAMILY_SERVER) && WINAPI_FAMILY == WINAPI_FAMILY_SERVER +# undef BOOST_PLAT_WINDOWS_SERVER +# define BOOST_PLAT_WINDOWS_SERVER BOOST_VERSION_NUMBER_AVAILABLE +#endif + +#if BOOST_PLAT_WINDOWS_SERVER +# define BOOST_PLAT_WINDOWS_SERVER_AVAILABLE +# include <boost/predef/detail/platform_detected.h> +#endif + +#define BOOST_PLAT_WINDOWS_SERVER_NAME "Windows Server" + +#endif + +#include <boost/predef/detail/test.h> +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_WINDOWS_SERVER,BOOST_PLAT_WINDOWS_SERVER_NAME) diff --git a/boost/predef/platform/windows_store.h b/boost/predef/platform/windows_store.h index a34968b3dd..3a3fd8e982 100644 --- a/boost/predef/platform/windows_store.h +++ b/boost/predef/platform/windows_store.h @@ -9,23 +9,30 @@ http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_PREDEF_PLAT_WINDOWS_STORE_H #define BOOST_PREDEF_PLAT_WINDOWS_STORE_H -#include <boost/predef/version_number.h> #include <boost/predef/make.h> #include <boost/predef/os/windows.h> +#include <boost/predef/platform/windows_uwp.h> +#include <boost/predef/version_number.h> /*` [heading `BOOST_PLAT_WINDOWS_STORE`] +[@https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide UWP] +for Windows Store development. + [table [[__predef_symbol__] [__predef_version__]] - [[`WINAPI_FAMILY == WINAPI_FAMILY_APP`] [__predef_detection__]] - ] + [[`WINAPI_FAMILY == WINAPI_FAMILY_PC_APP`] [__predef_detection__]] + [[`WINAPI_FAMILY == WINAPI_FAMILY_APP` (deprecated)] [__predef_detection__]] +] */ #define BOOST_PLAT_WINDOWS_STORE BOOST_VERSION_NUMBER_NOT_AVAILABLE -#if BOOST_OS_WINDOWS && defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_APP +#if BOOST_OS_WINDOWS && \ + ((defined(WINAPI_FAMILY_PC_APP) && WINAPI_FAMILY == WINAPI_FAMILY_PC_APP) || \ + (defined(WINAPI_FAMILY_APP) && WINAPI_FAMILY == WINAPI_FAMILY_APP)) # undef BOOST_PLAT_WINDOWS_STORE # define BOOST_PLAT_WINDOWS_STORE BOOST_VERSION_NUMBER_AVAILABLE #endif diff --git a/boost/predef/platform/windows_system.h b/boost/predef/platform/windows_system.h new file mode 100644 index 0000000000..92f424fe7f --- /dev/null +++ b/boost/predef/platform/windows_system.h @@ -0,0 +1,47 @@ +/* +Copyright James E. King III, 2017 +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) +*/ + +#ifndef BOOST_PREDEF_PLAT_WINDOWS_SYSTEM_H +#define BOOST_PREDEF_PLAT_WINDOWS_SYSTEM_H + +#include <boost/predef/make.h> +#include <boost/predef/os/windows.h> +#include <boost/predef/platform/windows_uwp.h> +#include <boost/predef/version_number.h> + +/*` +[heading `BOOST_PLAT_WINDOWS_SYSTEM`] + +[@https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide UWP] +for Windows System development. + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`WINAPI_FAMILY == WINAPI_FAMILY_SYSTEM`] [__predef_detection__]] + ] + */ + +#define BOOST_PLAT_WINDOWS_SYSTEM BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if BOOST_OS_WINDOWS && \ + defined(WINAPI_FAMILY_SYSTEM) && WINAPI_FAMILY == WINAPI_FAMILY_SYSTEM +# undef BOOST_PLAT_WINDOWS_SYSTEM +# define BOOST_PLAT_WINDOWS_SYSTEM BOOST_VERSION_NUMBER_AVAILABLE +#endif + +#if BOOST_PLAT_WINDOWS_SYSTEM +# define BOOST_PLAT_WINDOWS_SYSTEM_AVAILABLE +# include <boost/predef/detail/platform_detected.h> +#endif + +#define BOOST_PLAT_WINDOWS_SYSTEM_NAME "Windows Drivers and Tools" + +#endif + +#include <boost/predef/detail/test.h> +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_WINDOWS_SYSTEM,BOOST_PLAT_WINDOWS_SYSTEM_NAME) diff --git a/boost/predef/platform/windows_uwp.h b/boost/predef/platform/windows_uwp.h new file mode 100644 index 0000000000..e4c6647f41 --- /dev/null +++ b/boost/predef/platform/windows_uwp.h @@ -0,0 +1,60 @@ +/* +Copyright James E. King III, 2017 +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) +*/ + +#ifndef BOOST_PREDEF_PLAT_WINDOWS_UWP_H +#define BOOST_PREDEF_PLAT_WINDOWS_UWP_H + +#include <boost/predef/make.h> +#include <boost/predef/os/windows.h> +#include <boost/predef/version_number.h> + +/*` +[heading `BOOST_PLAT_WINDOWS_UWP`] + +[@http://docs.microsoft.com/windows/uwp/ Universal Windows Platform] +is available if the current development environment is capable of targeting +UWP development. + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`__MINGW64_VERSION_MAJOR` from `_mingw.h`] [`>= 3`]] + [[`VER_PRODUCTBUILD` from `ntverp.h`] [`>= 9200`]] +] +*/ + +#define BOOST_PLAT_WINDOWS_UWP BOOST_VERSION_NUMBER_NOT_AVAILABLE +#define BOOST_PLAT_WINDOWS_SDK_VERSION BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if BOOST_OS_WINDOWS +// MinGW (32-bit) has no ntverp.h header +#if !defined(__MINGW32__) +# include <ntverp.h> +# undef BOOST_PLAT_WINDOWS_SDK_VERSION +# define BOOST_PLAT_WINDOWS_SDK_VERSION BOOST_VERSION_NUMBER(0, 0, VER_PRODUCTBUILD) +#endif + +// 9200 is Windows SDK 8.0 from ntverp.h which introduced family support +#if ((BOOST_PLAT_WINDOWS_SDK_VERSION >= BOOST_VERSION_NUMBER(0, 0, 9200)) || \ + (defined(__MINGW64__) && __MINGW64_VERSION_MAJOR >= 3)) +# undef BOOST_PLAT_WINDOWS_UWP +# define BOOST_PLAT_WINDOWS_UWP BOOST_VERSION_NUMBER_AVAILABLE +#endif +#endif + +#if BOOST_PLAT_WINDOWS_UWP +# define BOOST_PLAT_WINDOWS_UWP_AVAILABLE +# include <boost/predef/detail/platform_detected.h> +# include <winapifamily.h> // Windows SDK +#endif + +#define BOOST_PLAT_WINDOWS_UWP_NAME "Universal Windows Platform" + +#endif + +#include <boost/predef/detail/test.h> +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_WINDOWS_UWP, BOOST_PLAT_WINDOWS_UWP_NAME) diff --git a/boost/predef/version.h b/boost/predef/version.h index e03469f68d..bcf97adfc2 100644 --- a/boost/predef/version.h +++ b/boost/predef/version.h @@ -10,6 +10,6 @@ http://www.boost.org/LICENSE_1_0.txt) #include <boost/predef/version_number.h> -#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,6,0) +#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,7,0) #endif |