Blob Blame History Raw

--- boost_1_66_0/boost/predef/architecture.h	2017-12-14 00:56:47.000000000 +0100
+++ boost_1_66_0-git/boost/predef/architecture.h	2020-03-23 11:37:30.289735409 +0100
@@ -21,6 +21,7 @@ http://www.boost.org/LICENSE_1_0.txt)
 #include <boost/predef/architecture/ppc.h>
 #include <boost/predef/architecture/pyramid.h>
 #include <boost/predef/architecture/rs6k.h>
+#include <boost/predef/architecture/s390x.h>
 #include <boost/predef/architecture/sparc.h>
 #include <boost/predef/architecture/superh.h>
 #include <boost/predef/architecture/sys370.h>
--- boost_1_66_0/boost/predef/architecture/s390x.h	1970-01-01 01:00:00.000000000 +0100
+++ boost_1_66_0-git/boost/predef/architecture/s390x.h	2020-03-23 11:37:48.519735409 +0100
@@ -0,0 +1,42 @@
+/*
+Copyright Andreas Krebbel 2020
+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_ARCHITECTURE_S390X_H
+#define BOOST_PREDEF_ARCHITECTURE_S390X_H
+
+#include <boost/predef/version_number.h>
+#include <boost/predef/make.h>
+
+/*`
+[heading `BOOST_ARCH_S390X`]
+
+[@http://en.wikipedia.org/wiki/System/390 System/390] architecture.
+
+[table
+    [[__predef_symbol__] [__predef_version__]]
+
+    [[`__s390x__`] [__predef_detection__]]
+    ]
+ */
+
+#define BOOST_ARCH_S390X BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if defined(__s390x__)
+#   undef BOOST_ARCH_S390X
+#   define BOOST_ARCH_S390X BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_ARCH_S390X
+#   define BOOST_ARCH_S390X_AVAILABLE
+#endif
+
+#define BOOST_ARCH_S390X_NAME "IBM Z"
+
+#endif
+
+#include <boost/predef/detail/test.h>
+BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_S390X,BOOST_ARCH_S390X_NAME)
--- boost_1_66_0/boostcpp.jam	2017-12-14 00:56:35.000000000 +0100
+++ boost_1_66_0-git/boostcpp.jam	2020-03-23 11:37:35.829735409 +0100
@@ -678,7 +678,7 @@ rule address-model ( )
     return <conditional>@boostcpp.deduce-address-model ;
 }
 
-local deducable-architectures = arm mips1 power sparc x86 combined ;
+local deducable-architectures = arm mips1 power s390x sparc x86 combined ;
 feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ;
 for a in $(deducable-architectures)
 {
@@ -701,6 +701,10 @@ rule deduce-architecture ( properties *
     {
         result = power ;
     }
+    else if [ configure.builds /boost/architecture//s390x : $(filtered) : s390x ]
+    {
+        result = s390x ;
+    }
     else if [ configure.builds /boost/architecture//sparc : $(filtered) : sparc ]
     {
         result = sparc ;
--- boost_1_66_0/libs/config/checks/architecture/Jamroot.jam	2017-12-14 00:56:42.000000000 +0100
+++ boost_1_66_0-git/libs/config/checks/architecture/Jamroot.jam	2020-03-23 11:37:35.829735409 +0100
@@ -19,5 +19,6 @@ obj arm      : arm.cpp ;
 obj combined : combined.cpp ;
 obj mips1    : mips1.cpp ;
 obj power    : power.cpp ;
+obj s390x    : s390x.cpp ;
 obj sparc    : sparc.cpp ;
 obj x86      : x86.cpp ;
--- boost_1_66_0/libs/config/checks/architecture/s390x.cpp	1970-01-01 01:00:00.000000000 +0100
+++ boost_1_66_0-git/libs/config/checks/architecture/s390x.cpp	2020-03-23 11:37:35.829735409 +0100
@@ -0,0 +1,11 @@
+// s390x.cpp
+//
+// Copyright (c) 2020 Andreas Krebbel
+//
+// 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)
+
+#if !defined(__s390x__)
+#error "Not IBM Z"
+#endif
--- boost_1_66_0/tools/build/src/tools/builtin.py	2017-12-14 00:56:50.000000000 +0100
+++ boost_1_66_0-git/tools/build/src/tools/builtin.py	2020-03-23 11:37:35.829735409 +0100
@@ -250,6 +250,9 @@ def register_globals ():
         # ia64
         'ia64',
 
+        # IBM Z
+        's390x',
+
         # Sparc
         'sparc',
 
--- boost_1_66_0/tools/build/src/tools/features/architecture-feature.jam	2017-12-14 00:56:50.000000000 +0100
+++ boost_1_66_0-git/tools/build/src/tools/features/architecture-feature.jam	2020-03-23 11:37:35.829735409 +0100
@@ -15,6 +15,9 @@ feature.feature architecture
         # ia64
         ia64
 
+	# IBM Z
+	s390x
+
         # Sparc
         sparc