From 53718a58e083f1235c458c546d0882c40aed5511 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 2 Jan 2014 21:17:55 -0600 Subject: [PATCH 01/17] Add files required for boost --- .gitattributes | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++ index.html | 14 ++++++++ 2 files changed, 110 insertions(+) create mode 100644 .gitattributes create mode 100644 index.html diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3e84d7c --- /dev/null +++ b/.gitattributes @@ -0,0 +1,96 @@ +* text=auto !eol svneol=native#text/plain +*.gitattributes text svneol=native#text/plain + +# Scriptish formats +*.bat text svneol=native#text/plain +*.bsh text svneol=native#text/x-beanshell +*.cgi text svneol=native#text/plain +*.cmd text svneol=native#text/plain +*.js text svneol=native#text/javascript +*.php text svneol=native#text/x-php +*.pl text svneol=native#text/x-perl +*.pm text svneol=native#text/x-perl +*.py text svneol=native#text/x-python +*.sh eol=lf svneol=LF#text/x-sh +configure eol=lf svneol=LF#text/x-sh + +# Image formats +*.bmp binary svneol=unset#image/bmp +*.gif binary svneol=unset#image/gif +*.ico binary svneol=unset#image/ico +*.jpeg binary svneol=unset#image/jpeg +*.jpg binary svneol=unset#image/jpeg +*.png binary svneol=unset#image/png +*.tif binary svneol=unset#image/tiff +*.tiff binary svneol=unset#image/tiff +*.svg text svneol=native#image/svg%2Bxml + +# Data formats +*.pdf binary svneol=unset#application/pdf +*.avi binary svneol=unset#video/avi +*.doc binary svneol=unset#application/msword +*.dsp text svneol=crlf#text/plain +*.dsw text svneol=crlf#text/plain +*.eps binary svneol=unset#application/postscript +*.gz binary svneol=unset#application/gzip +*.mov binary svneol=unset#video/quicktime +*.mp3 binary svneol=unset#audio/mpeg +*.ppt binary svneol=unset#application/vnd.ms-powerpoint +*.ps binary svneol=unset#application/postscript +*.psd binary svneol=unset#application/photoshop +*.rdf binary svneol=unset#text/rdf +*.rss text svneol=unset#text/xml +*.rtf binary svneol=unset#text/rtf +*.sln text svneol=native#text/plain +*.swf binary svneol=unset#application/x-shockwave-flash +*.tgz binary svneol=unset#application/gzip +*.vcproj text svneol=native#text/xml +*.vcxproj text svneol=native#text/xml +*.vsprops text svneol=native#text/xml +*.wav binary svneol=unset#audio/wav +*.xls binary svneol=unset#application/vnd.ms-excel +*.zip binary svneol=unset#application/zip + +# Text formats +.htaccess text svneol=native#text/plain +*.bbk text svneol=native#text/xml +*.cmake text svneol=native#text/plain +*.css text svneol=native#text/css +*.dtd text svneol=native#text/xml +*.htm text svneol=native#text/html +*.html text svneol=native#text/html +*.ini text svneol=native#text/plain +*.log text svneol=native#text/plain +*.mak text svneol=native#text/plain +*.qbk text svneol=native#text/plain +*.rst text svneol=native#text/plain +*.sql text svneol=native#text/x-sql +*.txt text svneol=native#text/plain +*.xhtml text svneol=native#text/xhtml%2Bxml +*.xml text svneol=native#text/xml +*.xsd text svneol=native#text/xml +*.xsl text svneol=native#text/xml +*.xslt text svneol=native#text/xml +*.xul text svneol=native#text/xul +*.yml text svneol=native#text/plain +boost-no-inspect text svneol=native#text/plain +CHANGES text svneol=native#text/plain +COPYING text svneol=native#text/plain +INSTALL text svneol=native#text/plain +Jamfile text svneol=native#text/plain +Jamroot text svneol=native#text/plain +Jamfile.v2 text svneol=native#text/plain +Jamrules text svneol=native#text/plain +Makefile* text svneol=native#text/plain +README text svneol=native#text/plain +TODO text svneol=native#text/plain + +# Code formats +*.c text svneol=native#text/plain +*.cpp text svneol=native#text/plain +*.h text svneol=native#text/plain +*.hpp text svneol=native#text/plain +*.ipp text svneol=native#text/plain +*.tpp text svneol=native#text/plain +*.jam text svneol=native#text/plain +*.java text svneol=native#text/plain diff --git a/index.html b/index.html new file mode 100644 index 0000000..399a1eb --- /dev/null +++ b/index.html @@ -0,0 +1,14 @@ + + + + + +Automatic redirection failed, please go to +./doc/html/index.html +

Copyright Redshift Software Inc 2013

+

Distributed under the Boost Software License, Version 1.0. (See accompanying file +LICENSE_1_0.txt or copy at +www.boost.org/LICENSE_1_0.txt). +

+ + From 0ddbe8c3a7292f1ed8dc2ecfdf4c0c38d78582d4 Mon Sep 17 00:00:00 2001 From: Caleb Epstein Date: Tue, 14 Jun 2005 22:19:20 +0000 Subject: [PATCH 02/17] Machine endianness detection taken from [SVN r29573] --- include/boost/detail/endian.hpp | 56 +++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 include/boost/detail/endian.hpp diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp new file mode 100644 index 0000000..9017e76 --- /dev/null +++ b/include/boost/detail/endian.hpp @@ -0,0 +1,56 @@ +/* + * Copyright (c) 1997 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +/* + * Copyright notice reproduced from , from + * which this code was originally taken. + * + * Modified by Caleb Epstein to use with GNU libc and to + * defined the BOOST_ENDIAN macro. + */ + +#ifndef BOOST_DETAIL_ENDIAN_HPP +#define BOOST_DETAIL_ENDIAN_HPP + +// GNU libc offers the helpful header which defines +// __BYTE_ORDER + +#if defined (__GLIBC__) +# include +# if (__BYTE_ORDER == __LITTLE_ENDIAN) +# define BOOST_LITTLE_ENDIAN +# elif (__BYTE_ORDER == __BIG_ENDIAN) +# define BOOST_BIG_ENDIAN +# elif (__BYTE_ORDER == __PDP_ENDIAN) +# define BOOST_PDP_ENDIAN +# else +# error Unknown machine endianness detected. +# endif +# define BOOST_BYTE_ORDER __BYTE_ORDER +#elif defined(__sparc) || defined(__sparc__) \ + || defined(_POWER) || defined(__powerpc__) \ + || defined(__ppc__) || defined(__hppa) \ + || defined(_MIPSEB) || defined(_POWER) \ + || defined(__s390__) +# define BOOST_BIG_ENDIAN +# define BOOST_BYTE_ORDER 4321 +#elif defined(__i386__) || defined(__alpha__) \ + || defined(__ia64) || defined(__ia64__) +# define BOOST_LITTLE_ENDIAN +# define BOOST_BYTE_ORDER 1234 +#else +# error The file boost/detail/endian.hpp needs to be set up for your CPU type. +#endif + + +#endif From fd2f919926f71e16589fb4166ce6b338dbbcbee3 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 19 Jul 2005 23:44:52 +0000 Subject: [PATCH 03/17] Add detection for macros used by VC: _M_IX86; little-endian. _M_IA64; little-endian, as this is the default on I64 and AMD64 is only little endian. _M_ALPHA; little-endian, as again it's the default and Windows doesn't run on big-endian Alpha anyway AFAIK. [SVN r30185] --- include/boost/detail/endian.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 9017e76..5f12fbe 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -45,7 +45,9 @@ # define BOOST_BIG_ENDIAN # define BOOST_BYTE_ORDER 4321 #elif defined(__i386__) || defined(__alpha__) \ - || defined(__ia64) || defined(__ia64__) + || defined(__ia64) || defined(__ia64__) \ + || defined(_M_IX86) || defined(_M_IA64) \ + || defined(_M_ALPHA) # define BOOST_LITTLE_ENDIAN # define BOOST_BYTE_ORDER 1234 #else From 1a594321aaf047941fb7f0619abb8d46b96c3217 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 13 Oct 2006 12:40:40 +0000 Subject: [PATCH 04/17] Added 64-bit Intel processor support. [SVN r35587] --- include/boost/detail/endian.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 5f12fbe..a41f5f2 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -47,7 +47,11 @@ #elif defined(__i386__) || defined(__alpha__) \ || defined(__ia64) || defined(__ia64__) \ || defined(_M_IX86) || defined(_M_IA64) \ - || defined(_M_ALPHA) + || defined(_M_ALPHA) || defined(__amd64) \ + || defined(__amd64__) || defined(_M_AMD64) \ + || defined(__x86_64) || defined(__x86_64__) \ + || defined(_M_X64) + # define BOOST_LITTLE_ENDIAN # define BOOST_BYTE_ORDER 1234 #else From 4009514a0d126246919ee4675244f66705c891c4 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 13 Oct 2006 17:08:47 +0000 Subject: [PATCH 05/17] Fix for HP-UX on Itanium. [SVN r35591] --- include/boost/detail/endian.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index a41f5f2..3d85740 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -39,7 +39,7 @@ # define BOOST_BYTE_ORDER __BYTE_ORDER #elif defined(__sparc) || defined(__sparc__) \ || defined(_POWER) || defined(__powerpc__) \ - || defined(__ppc__) || defined(__hppa) \ + || defined(__ppc__) || defined(__hpux) \ || defined(_MIPSEB) || defined(_POWER) \ || defined(__s390__) # define BOOST_BIG_ENDIAN From d01035df48d8778d4274863fbcaf730ccdaa4186 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 20 Oct 2006 10:08:21 +0000 Subject: [PATCH 06/17] Updated patch from Boris Gubenko. [SVN r35672] --- include/boost/detail/endian.hpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 3d85740..524435d 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -37,6 +37,12 @@ # error Unknown machine endianness detected. # endif # define BOOST_BYTE_ORDER __BYTE_ORDER +#elif defined(_BIG_ENDIAN) +# define BOOST_BIG_ENDIAN +# define BOOST_BYTE_ORDER 4321 +#elif defined(_LITTLE_ENDIAN) +# define BOOST_LITTLE_ENDIAN +# define BOOST_BYTE_ORDER 1234 #elif defined(__sparc) || defined(__sparc__) \ || defined(_POWER) || defined(__powerpc__) \ || defined(__ppc__) || defined(__hpux) \ From 698eab3d184a6085e92edb8b020762ca27d1bd25 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Fri, 1 Dec 2006 11:34:43 +0000 Subject: [PATCH 07/17] Merged L & C issue fixes from trunk to branch. [SVN r36225] --- include/boost/detail/endian.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 524435d..4cc81ad 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -1,3 +1,7 @@ +// (c) Copyright John Maddock 2001 +// Distributed under the Boost Software License, Version 1.0. (See accompany- +// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + /* * Copyright (c) 1997 * Silicon Graphics Computer Systems, Inc. From aa54727b2f6363dee4eb3b3d320c183a8bf66ccf Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Fri, 1 Dec 2006 14:28:43 +0000 Subject: [PATCH 08/17] Merged a copyright addition from trunk to branch. [SVN r36231] --- include/boost/detail/endian.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 4cc81ad..01a7689 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -1,4 +1,5 @@ -// (c) Copyright John Maddock 2001 +// (c) Copyright Caleb Epstein 2005 +// (c) Copyright John Maddock 2006 // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) From 2aabae1e4bc6050c15321ace14b8304cad925ae0 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Sat, 2 Dec 2006 10:04:37 +0000 Subject: [PATCH 09/17] Corrected wrong order in copyright notices. [SVN r36240] --- include/boost/detail/endian.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 01a7689..6936dba 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -1,5 +1,5 @@ -// (c) Copyright Caleb Epstein 2005 -// (c) Copyright John Maddock 2006 +// Copyright 2005 Caleb Epstein +// Copyright 2006 John Maddock // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) From b168e09aa3de3cb6146ec3228087b5dccfb2daa6 Mon Sep 17 00:00:00 2001 From: Beman Dawes Date: Mon, 19 Jan 2009 18:56:42 +0000 Subject: [PATCH 10/17] Merge from trunk [SVN r50676] --- include/boost/detail/endian.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 6936dba..803d7e2 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -42,10 +42,10 @@ # error Unknown machine endianness detected. # endif # define BOOST_BYTE_ORDER __BYTE_ORDER -#elif defined(_BIG_ENDIAN) +#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) # define BOOST_BIG_ENDIAN # define BOOST_BYTE_ORDER 4321 -#elif defined(_LITTLE_ENDIAN) +#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) # define BOOST_LITTLE_ENDIAN # define BOOST_BYTE_ORDER 1234 #elif defined(__sparc) || defined(__sparc__) \ @@ -61,7 +61,7 @@ || defined(_M_ALPHA) || defined(__amd64) \ || defined(__amd64__) || defined(_M_AMD64) \ || defined(__x86_64) || defined(__x86_64__) \ - || defined(_M_X64) + || defined(_M_X64) || defined(__bfin__) # define BOOST_LITTLE_ENDIAN # define BOOST_BYTE_ORDER 1234 From 1460f69de6fb3b12cb5df868ee8bd0fe94b88770 Mon Sep 17 00:00:00 2001 From: "Troy D. Straszheim" Date: Wed, 21 Oct 2009 18:07:45 +0000 Subject: [PATCH 11/17] Merge to release, fix for fix in r35591: sometimes __hppa is on PA-RISC but __hpux isn't (e.g. on linux) Fixes ticket #3537 [SVN r57049] --- include/boost/detail/endian.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 803d7e2..36ddb7e 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -50,7 +50,7 @@ # define BOOST_BYTE_ORDER 1234 #elif defined(__sparc) || defined(__sparc__) \ || defined(_POWER) || defined(__powerpc__) \ - || defined(__ppc__) || defined(__hpux) \ + || defined(__ppc__) || defined(__hpux) || defined(__hppa) \ || defined(_MIPSEB) || defined(_POWER) \ || defined(__s390__) # define BOOST_BIG_ENDIAN From 1e24fd2fc740528fd9d043545f5d3c61006d6fdc Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 27 May 2010 14:12:42 +0000 Subject: [PATCH 12/17] Merge fix for #2762 from trunk. [SVN r62260] --- include/boost/detail/endian.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 36ddb7e..5f9b90e 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -1,5 +1,6 @@ // Copyright 2005 Caleb Epstein // Copyright 2006 John Maddock +// Copyright 2010 Rene Rivera // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -42,10 +43,12 @@ # error Unknown machine endianness detected. # endif # define BOOST_BYTE_ORDER __BYTE_ORDER -#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) +#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) || \ + defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) # define BOOST_BIG_ENDIAN # define BOOST_BYTE_ORDER 4321 -#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) +#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) || \ + defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) # define BOOST_LITTLE_ENDIAN # define BOOST_BYTE_ORDER 1234 #elif defined(__sparc) || defined(__sparc__) \ From 380b7c8890a5af0aec905bfeef636ec4726892ca Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 13 Jan 2011 11:28:34 +0000 Subject: [PATCH 13/17] Merge STLPort endian detection to release. [SVN r68091] --- include/boost/detail/endian.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 5f9b90e..98c870c 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -44,11 +44,13 @@ # endif # define BOOST_BYTE_ORDER __BYTE_ORDER #elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) || \ - defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) + defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) || \ + defined(_STLP_BIG_ENDIAN) && !defined(_STLP_LITTLE_ENDIAN) # define BOOST_BIG_ENDIAN # define BOOST_BYTE_ORDER 4321 #elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) || \ - defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) + defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) || \ + defined(_STLP_LITTLE_ENDIAN) && !defined(_STLP_BIG_ENDIAN) # define BOOST_LITTLE_ENDIAN # define BOOST_BYTE_ORDER 1234 #elif defined(__sparc) || defined(__sparc__) \ From 16e8970091955b281eb04a23ba758b806c9fd4cd Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sun, 24 Feb 2013 19:07:59 +0000 Subject: [PATCH 14/17] Merge changes from Trunk. Fixes #6013. Fixes #7151. Fixes #7359. Fixes #7389. Fixes #7452. Fixes #7528. Fixes #7703. Fixes #7841. Fixes #7898. Fixes #7938. Fixes #8048. [SVN r83139] --- include/boost/detail/endian.hpp | 56 ++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 98c870c..3236808 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -28,10 +28,12 @@ #ifndef BOOST_DETAIL_ENDIAN_HPP #define BOOST_DETAIL_ENDIAN_HPP +// +// Special cases come first: +// +#if defined (__GLIBC__) // GNU libc offers the helpful header which defines // __BYTE_ORDER - -#if defined (__GLIBC__) # include # if (__BYTE_ORDER == __LITTLE_ENDIAN) # define BOOST_LITTLE_ENDIAN @@ -43,13 +45,56 @@ # error Unknown machine endianness detected. # endif # define BOOST_BYTE_ORDER __BYTE_ORDER + +#elif defined(__NetBSD__) || defined(__FreeBSD__) || \ + defined(__OpenBSD__) || (__DragonFly__) +// +// BSD has endian.h, see https://svn.boost.org/trac/boost/ticket/6013 +# if defined(__OpenBSD__) +# include +# else +# include +# endif +# if (_BYTE_ORDER == _LITTLE_ENDIAN) +# define BOOST_LITTLE_ENDIAN +# elif (_BYTE_ORDER == _BIG_ENDIAN) +# define BOOST_BIG_ENDIAN +# elif (_BYTE_ORDER == _PDP_ENDIAN) +# define BOOST_PDP_ENDIAN +# else +# error Unknown machine endianness detected. +# endif +# define BOOST_BYTE_ORDER _BYTE_ORDER + +#elif defined( __ANDROID__ ) +// Adroid specific code, see: https://svn.boost.org/trac/boost/ticket/7528 +// Here we can use machine/_types.h, see: +// http://stackoverflow.com/questions/6212951/endianness-of-android-ndk +# include "machine/_types.h" +# ifdef __ARMEB__ +# define BOOST_BIG_ENDIAN +# define BOOST_BYTE_ORDER 4321 +# else +# define BOOST_LITTLE_ENDIAN +# define BOOST_BYTE_ORDER 1234 +# endif // __ARMEB__ + +#elif defined( _XBOX ) +// +// XBox is always big endian?? +// +# define BOOST_BIG_ENDIAN +# define BOOST_BYTE_ORDER 4321 + #elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) || \ defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) || \ + defined(__BIGENDIAN__) && !defined(__LITTLEENDIAN__) || \ defined(_STLP_BIG_ENDIAN) && !defined(_STLP_LITTLE_ENDIAN) # define BOOST_BIG_ENDIAN # define BOOST_BYTE_ORDER 4321 #elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) || \ defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) || \ + defined(__LITTLEENDIAN__) && !defined(__BIGENDIAN__) || \ defined(_STLP_LITTLE_ENDIAN) && !defined(_STLP_BIG_ENDIAN) # define BOOST_LITTLE_ENDIAN # define BOOST_BYTE_ORDER 1234 @@ -57,7 +102,7 @@ || defined(_POWER) || defined(__powerpc__) \ || defined(__ppc__) || defined(__hpux) || defined(__hppa) \ || defined(_MIPSEB) || defined(_POWER) \ - || defined(__s390__) + || defined(__s390__) || defined(__ARMEB__) # define BOOST_BIG_ENDIAN # define BOOST_BYTE_ORDER 4321 #elif defined(__i386__) || defined(__alpha__) \ @@ -66,7 +111,9 @@ || defined(_M_ALPHA) || defined(__amd64) \ || defined(__amd64__) || defined(_M_AMD64) \ || defined(__x86_64) || defined(__x86_64__) \ - || defined(_M_X64) || defined(__bfin__) + || defined(_M_X64) || defined(__bfin__) \ + || defined(__ARMEL__) \ + || (defined(_WIN32) && defined(__ARM__) && defined(_MSC_VER)) // ARM Windows CE don't define anything reasonably unique, but there are no big-endian Windows versions # define BOOST_LITTLE_ENDIAN # define BOOST_BYTE_ORDER 1234 @@ -76,3 +123,4 @@ #endif + From 4dd9dc75dcb12211468c351f08b862a322e9f6a2 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 9 Sep 2013 04:06:52 +0000 Subject: [PATCH 15/17] Merge Predef library to release. [SVN r85618] --- include/boost/detail/endian.hpp | 121 +------------------------------- 1 file changed, 3 insertions(+), 118 deletions(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 3236808..3e37db9 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -1,126 +1,11 @@ -// Copyright 2005 Caleb Epstein -// Copyright 2006 John Maddock -// Copyright 2010 Rene Rivera +// Copyright 2013 Redshift Software Inc // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -/* - * Copyright (c) 1997 - * Silicon Graphics Computer Systems, Inc. - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Silicon Graphics makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - */ - -/* - * Copyright notice reproduced from , from - * which this code was originally taken. - * - * Modified by Caleb Epstein to use with GNU libc and to - * defined the BOOST_ENDIAN macro. - */ - #ifndef BOOST_DETAIL_ENDIAN_HPP #define BOOST_DETAIL_ENDIAN_HPP -// -// Special cases come first: -// -#if defined (__GLIBC__) -// GNU libc offers the helpful header which defines -// __BYTE_ORDER -# include -# if (__BYTE_ORDER == __LITTLE_ENDIAN) -# define BOOST_LITTLE_ENDIAN -# elif (__BYTE_ORDER == __BIG_ENDIAN) -# define BOOST_BIG_ENDIAN -# elif (__BYTE_ORDER == __PDP_ENDIAN) -# define BOOST_PDP_ENDIAN -# else -# error Unknown machine endianness detected. -# endif -# define BOOST_BYTE_ORDER __BYTE_ORDER - -#elif defined(__NetBSD__) || defined(__FreeBSD__) || \ - defined(__OpenBSD__) || (__DragonFly__) -// -// BSD has endian.h, see https://svn.boost.org/trac/boost/ticket/6013 -# if defined(__OpenBSD__) -# include -# else -# include -# endif -# if (_BYTE_ORDER == _LITTLE_ENDIAN) -# define BOOST_LITTLE_ENDIAN -# elif (_BYTE_ORDER == _BIG_ENDIAN) -# define BOOST_BIG_ENDIAN -# elif (_BYTE_ORDER == _PDP_ENDIAN) -# define BOOST_PDP_ENDIAN -# else -# error Unknown machine endianness detected. -# endif -# define BOOST_BYTE_ORDER _BYTE_ORDER - -#elif defined( __ANDROID__ ) -// Adroid specific code, see: https://svn.boost.org/trac/boost/ticket/7528 -// Here we can use machine/_types.h, see: -// http://stackoverflow.com/questions/6212951/endianness-of-android-ndk -# include "machine/_types.h" -# ifdef __ARMEB__ -# define BOOST_BIG_ENDIAN -# define BOOST_BYTE_ORDER 4321 -# else -# define BOOST_LITTLE_ENDIAN -# define BOOST_BYTE_ORDER 1234 -# endif // __ARMEB__ - -#elif defined( _XBOX ) -// -// XBox is always big endian?? -// -# define BOOST_BIG_ENDIAN -# define BOOST_BYTE_ORDER 4321 - -#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) || \ - defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) || \ - defined(__BIGENDIAN__) && !defined(__LITTLEENDIAN__) || \ - defined(_STLP_BIG_ENDIAN) && !defined(_STLP_LITTLE_ENDIAN) -# define BOOST_BIG_ENDIAN -# define BOOST_BYTE_ORDER 4321 -#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) || \ - defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) || \ - defined(__LITTLEENDIAN__) && !defined(__BIGENDIAN__) || \ - defined(_STLP_LITTLE_ENDIAN) && !defined(_STLP_BIG_ENDIAN) -# define BOOST_LITTLE_ENDIAN -# define BOOST_BYTE_ORDER 1234 -#elif defined(__sparc) || defined(__sparc__) \ - || defined(_POWER) || defined(__powerpc__) \ - || defined(__ppc__) || defined(__hpux) || defined(__hppa) \ - || defined(_MIPSEB) || defined(_POWER) \ - || defined(__s390__) || defined(__ARMEB__) -# define BOOST_BIG_ENDIAN -# define BOOST_BYTE_ORDER 4321 -#elif defined(__i386__) || defined(__alpha__) \ - || defined(__ia64) || defined(__ia64__) \ - || defined(_M_IX86) || defined(_M_IA64) \ - || defined(_M_ALPHA) || defined(__amd64) \ - || defined(__amd64__) || defined(_M_AMD64) \ - || defined(__x86_64) || defined(__x86_64__) \ - || defined(_M_X64) || defined(__bfin__) \ - || defined(__ARMEL__) \ - || (defined(_WIN32) && defined(__ARM__) && defined(_MSC_VER)) // ARM Windows CE don't define anything reasonably unique, but there are no big-endian Windows versions - -# define BOOST_LITTLE_ENDIAN -# define BOOST_BYTE_ORDER 1234 -#else -# error The file boost/detail/endian.hpp needs to be set up for your CPU type. -#endif - +// Use the Predef library for the detection of endianess. +#include #endif - From bcdaa18a31801da366cb0ade481aaf2d2c3331c2 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 5 Jun 2014 10:18:20 -0500 Subject: [PATCH 16/17] Reverting (c) to human author. --- include/boost/detail/endian.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/detail/endian.hpp b/include/boost/detail/endian.hpp index 3e37db9..f576c26 100644 --- a/include/boost/detail/endian.hpp +++ b/include/boost/detail/endian.hpp @@ -1,4 +1,4 @@ -// Copyright 2013 Redshift Software Inc +// Copyright 2013 Rene Rivera // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) From 0eb222dbc5e108112182754c5ee8e0a1a16fdad6 Mon Sep 17 00:00:00 2001 From: Steve Gates Date: Tue, 10 Jun 2014 15:44:03 -0700 Subject: [PATCH 17/17] Updating BOOST_PLAT_WINDOWS_* predef check to make sure macro WINAPI_FAMILY exists before comparing. --- include/boost/predef/platform/windows_phone.h | 2 +- include/boost/predef/platform/windows_runtime.h | 2 +- include/boost/predef/platform/windows_store.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/boost/predef/platform/windows_phone.h b/include/boost/predef/platform/windows_phone.h index 90ea5ed..38a4a73 100644 --- a/include/boost/predef/platform/windows_phone.h +++ b/include/boost/predef/platform/windows_phone.h @@ -24,7 +24,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define BOOST_PLAT_WINDOWS_PHONE BOOST_VERSION_NUMBER_NOT_AVAILABLE -#if BOOST_OS_WINDOWS && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP +#if BOOST_OS_WINDOWS && defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP # undef BOOST_PLAT_WINDOWS_PHONE # define BOOST_PLAT_WINDOWS_PHONE BOOST_VERSION_NUMBER_AVAILABLE #endif diff --git a/include/boost/predef/platform/windows_runtime.h b/include/boost/predef/platform/windows_runtime.h index 1440fe3..7481133 100644 --- a/include/boost/predef/platform/windows_runtime.h +++ b/include/boost/predef/platform/windows_runtime.h @@ -25,7 +25,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define BOOST_PLAT_WINDOWS_RUNTIME BOOST_VERSION_NUMBER_NOT_AVAILABLE -#if BOOST_OS_WINDOWS && \ +#if BOOST_OS_WINDOWS && defined(WINAPI_FAMILY) && \ ( WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP ) # undef BOOST_PLAT_WINDOWS_RUNTIME # define BOOST_PLAT_WINDOWS_RUNTIME BOOST_VERSION_NUMBER_AVAILABLE diff --git a/include/boost/predef/platform/windows_store.h b/include/boost/predef/platform/windows_store.h index 641c7b9..e8484e4 100644 --- a/include/boost/predef/platform/windows_store.h +++ b/include/boost/predef/platform/windows_store.h @@ -24,7 +24,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define BOOST_PLAT_WINDOWS_STORE BOOST_VERSION_NUMBER_NOT_AVAILABLE -#if BOOST_OS_WINDOWS && WINAPI_FAMILY == WINAPI_FAMILY_APP +#if BOOST_OS_WINDOWS && defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_APP # undef BOOST_PLAT_WINDOWS_STORE # define BOOST_PLAT_WINDOWS_STORE BOOST_VERSION_NUMBER_AVAILABLE #endif