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