diff --git a/_service b/_service
index 4e417a6..0072ba9 100644
--- a/_service
+++ b/_service
@@ -1,14 +1,14 @@
-
+
git
git://github.com/openucx/ucx
- 6cb0d7189bd53534575a992a2bdb27dd1cb66e22
- 20bf38e8c57df29815c512aa19fb194cf0527f3d
- 0~git@TAG_OFFSET@
+ master
+ 9f8e93fc392a456cc86a60b55f02ef3086a6c616
+ 1.3+git@TAG_OFFSET@
-
+
*.tar
xz
-
+
diff --git a/openucx-s390x-support.patch b/openucx-s390x-support.patch
new file mode 100644
index 0000000..7e14881
--- /dev/null
+++ b/openucx-s390x-support.patch
@@ -0,0 +1,147 @@
+diff --git src/ucs/Makefile.am src/ucs/Makefile.am
+index ba869dbf..c588cd9d 100644
+--- src/ucs/Makefile.am
++++ src/ucs/Makefile.am
+@@ -25,6 +25,8 @@ nobase_dist_libucs_la_HEADERS = \
+ arch/generic/cpu.h \
+ arch/ppc64/bitops.h \
+ arch/ppc64/cpu.h \
++ arch/s390x/bitops.h \
++ arch/s390x/cpu.h \
+ arch/x86_64/atomic.h \
+ arch/x86_64/bitops.h \
+ arch/x86_64/cpu.h \
+diff --git src/ucs/arch/atomic.h src/ucs/arch/atomic.h
+index 7649971b..7bb2bc36 100644
+--- src/ucs/arch/atomic.h
++++ src/ucs/arch/atomic.h
+@@ -15,6 +15,8 @@
+ # include "generic/atomic.h"
+ #elif defined(__aarch64__)
+ # include "generic/atomic.h"
++#elif defined(__s390x__)
++# include "generic/atomic.h"
+ #else
+ # error "Unsupported architecture"
+ #endif
+diff --git src/ucs/arch/bitops.h src/ucs/arch/bitops.h
+index f4dd3ab4..de53bde0 100644
+--- src/ucs/arch/bitops.h
++++ src/ucs/arch/bitops.h
+@@ -14,6 +14,8 @@
+ # include "ppc64/bitops.h"
+ #elif defined(__aarch64__)
+ # include "aarch64/bitops.h"
++#elif defined(__s390x__)
++# include "s390x/bitops.h"
+ #else
+ # error "Unsupported architecture"
+ #endif
+diff --git src/ucs/arch/cpu.h src/ucs/arch/cpu.h
+index d5127b3d..817ac0d2 100644
+--- src/ucs/arch/cpu.h
++++ src/ucs/arch/cpu.h
+@@ -52,6 +52,8 @@ typedef enum ucs_cpu_flag {
+ # include "ppc64/cpu.h"
+ #elif defined(__aarch64__)
+ # include "aarch64/cpu.h"
++#elif defined(__s390x__)
++# include "s390x/cpu.h"
+ #else
+ # error "Unsupported architecture"
+ #endif
+diff --git src/ucs/arch/s390x/bitops.h src/ucs/arch/s390x/bitops.h
+new file mode 100644
+index 00000000..39ad1251
+--- /dev/null
++++ src/ucs/arch/s390x/bitops.h
+@@ -0,0 +1,32 @@
++/**
++* Copyright (C) Mellanox Technologies Ltd. 2001-2015. ALL RIGHTS RESERVED.
++*
++* See file LICENSE for terms.
++*/
++
++#ifndef UCS_S390X_BITOPS_H_
++#define UCS_S390X_BITOPS_H_
++
++#include
++
++
++static inline unsigned __ucs_ilog2_u32(uint32_t n)
++{
++ if (!n)
++ return 0;
++ return 31 - __builtin_clz(n);
++}
++
++static inline unsigned __ucs_ilog2_u64(uint64_t n)
++{
++ if (!n)
++ return 0;
++ return 63 - __builtin_clz(n);
++}
++
++static inline unsigned ucs_ffs64(uint64_t n)
++{
++ return __ucs_ilog2_u64(n & -n);
++}
++
++#endif
+diff --git src/ucs/arch/s390x/cpu.h src/ucs/arch/s390x/cpu.h
+new file mode 100644
+index 00000000..f5131ea3
+--- /dev/null
++++ src/ucs/arch/s390x/cpu.h
+@@ -0,0 +1,51 @@
++/**
++* Copyright (C) Mellanox Technologies Ltd. 2001-2013. ALL RIGHTS RESERVED.
++* Copyright (C) ARM Ltd. 2016-2017. ALL RIGHTS RESERVED.
++*
++* See file LICENSE for terms.
++*/
++
++
++#ifndef UCS_S390X_CPU_H_
++#define UCS_S390X_CPU_H_
++
++#include
++#include
++#include
++
++
++#define UCS_ARCH_CACHE_LINE_SIZE 256
++
++/* Assume the worst - weak memory ordering */
++#define ucs_memory_bus_fence() asm volatile (""::: "memory")
++#define ucs_memory_bus_store_fence() ucs_memory_bus_fence()
++#define ucs_memory_bus_load_fence() ucs_memory_bus_fence()
++#define ucs_memory_cpu_fence() ucs_memory_bus_fence()
++#define ucs_memory_cpu_store_fence() ucs_memory_bus_fence()
++#define ucs_memory_cpu_load_fence() ucs_memory_bus_fence()
++
++
++static inline uint64_t ucs_arch_read_hres_clock()
++{
++ unsigned long clk;
++ asm volatile("stck %0" : "=Q" (clk) : : "cc");
++ return clk >> 2;
++}
++#define ucs_arch_get_clocks_per_sec ucs_arch_generic_get_clocks_per_sec
++
++
++static inline ucs_cpu_model_t ucs_arch_get_cpu_model()
++{
++ return UCS_CPU_MODEL_UNKNOWN;
++}
++
++static inline int ucs_arch_get_cpu_flag()
++{
++ return UCS_CPU_FLAG_UNKNOWN;
++}
++
++double ucs_arch_get_clocks_per_sec();
++
++#define ucs_arch_wait_mem ucs_arch_generic_wait_mem
++
++#endif
diff --git a/openucx.changes b/openucx.changes
index 6e15b66..43a23a7 100644
--- a/openucx.changes
+++ b/openucx.changes
@@ -1,3 +1,27 @@
+-------------------------------------------------------------------
+Fri Jun 30 09:30:58 UTC 2017 - nmoreychaisemartin@suse.com
+
+- Disable avx at configure level
+
+-------------------------------------------------------------------
+Wed Jun 28 16:46:31 UTC 2017 - nmoreychaisemartin@suse.com
+
+- Add openucx-s390x-support.patch to fix compilation on s390x
+- Compile openucx on s390x
+
+-------------------------------------------------------------------
+Thu Jun 8 12:12:59 UTC 2017 - nmoreychaisemartin@suse.com
+
+- Fix compilation on ppc
+
+-------------------------------------------------------------------
+Fri May 26 08:29:51 UTC 2017 - jengelh@inai.de
+
+- Update to snapshot 1.3+git44
+ * No changelog was found
+- Add -Wno-error and disable AVX/SSE as it is not guaranteed
+ to exist.
+
-------------------------------------------------------------------
Sat Jun 18 07:36:59 UTC 2016 - jengelh@inai.de
diff --git a/openucx.spec b/openucx.spec
index 5ce2179..e45cc81 100644
--- a/openucx.spec
+++ b/openucx.spec
@@ -1,7 +1,7 @@
#
# spec file for package openucx
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,29 +16,32 @@
#
-%define version_unconverted 0~git1727
+%define version_unconverted 1.3+git44
Name: openucx
Summary: Unifieid Communication X
License: BSD-3-Clause
Group: Development/Libraries/C and C++
-Version: 0~git1727
+Version: 1.3+git44
Release: 0
Url: http://openucx.org/
#Git-Clone: git://github.com/openucx/ucx
#Git-Web: https://github.com/openucx/ucx
Source: ucx-%version.tar.xz
+Patch0: openucx-s390x-support.patch
BuildRequires: autoconf >= 2.63
BuildRequires: automake >= 1.10
+BuildRequires: binutils-devel
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: libibverbs-devel
+BuildRequires: libnuma-devel
BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: zlib-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: aarch64 %power64 x86_64
+ExclusiveArch: aarch64 %power64 x86_64 s390x
%description
UCX is a communication library implementing high-performance
@@ -73,52 +76,52 @@ Requires: libucm0 = %version
libucm is a standalone non-unloadable library which installs hooks
for virtual memory changes in the current process.
-%package -n libucp2
+%package -n libucp0
Summary: Infiniband Unified Communication Protocols
Group: System/Libraries
-%description -n libucp2
+%description -n libucp0
High-level API uses UCT framework to construct protocols commonly
found in applications (MPI, OpenSHMEM, PGAS, etc.)
%package -n libucp-devel
Summary: Development files for Unified Communication Protocols (UC-P)
Group: Development/Libraries/C and C++
-Requires: libucp2 = %version
+Requires: libucp0 = %version
%description -n libucp-devel
High-level API uses UCT framework to construct protocols commonly
found in applications (MPI, OpenSHMEM, PGAS, etc.)
-%package -n libucs2
+%package -n libucs0
Summary: Infiniband Unicified Communication Services
Group: System/Libraries
-%description -n libucs2
+%description -n libucs0
This framework provides basic infrastructure for component based
programming, memory management, and useful system utilities.
%package -n libucs-devel
Summary: Development files for Unified Communication Services (UC-S)
Group: Development/Libraries/C and C++
-Requires: libucs2 = %version
+Requires: libucs0 = %version
%description -n libucs-devel
This framework provides basic infrastructure for component based
programming, memory management, and useful system utilities.
-%package -n libuct2
+%package -n libuct0
Summary: Infiniband Unified Communication Transport
Group: System/Libraries
-%description -n libuct2
+%description -n libuct0
Low-level API that expose basic network operations supported by
underlying hardware.
%package -n libuct-devel
Summary: Development files for Unified Communication Transport (UC-T)
Group: Development/Libraries/C and C++
-Requires: libuct2 = %version
+Requires: libuct0 = %version
%description -n libuct-devel
Low-level API that expose basic network operations supported by
@@ -126,18 +129,26 @@ underlying hardware.
%prep
%setup -qn ucx-%version
+%patch0
%build
autoreconf -fi
-%configure --disable-static
-make %{?_smp_mflags}
+export UCX_CFLAGS="%optflags -Wno-error"
+%ifarch x86_64
+export UCX_CFLAGS="$UCX_CFLAGS -mno-avx"
+%endif
+%ifarch %ix86
+export UCX_CFLAGS="$UCX_CFLAGS -mno-sse -mno-sse2"
+%endif
+%configure --disable-static --without-avx
+make %{?_smp_mflags} V=1
-%post -n libucp2 -p /sbin/ldconfig
-%postun -n libucp2 -p /sbin/ldconfig
-%post -n libucs2 -p /sbin/ldconfig
-%postun -n libucs2 -p /sbin/ldconfig
-%post -n libuct2 -p /sbin/ldconfig
-%postun -n libuct2 -p /sbin/ldconfig
+%post -n libucp0 -p /sbin/ldconfig
+%postun -n libucp0 -p /sbin/ldconfig
+%post -n libucs0 -p /sbin/ldconfig
+%postun -n libucs0 -p /sbin/ldconfig
+%post -n libuct0 -p /sbin/ldconfig
+%postun -n libuct0 -p /sbin/ldconfig
%post -n libucm0 -p /sbin/ldconfig
%postun -n libucm0 -p /sbin/ldconfig
@@ -149,6 +160,7 @@ rm -fv "%buildroot/%_libdir"/*.la
%defattr(-,root,root)
%_bindir/ucx_*
%_datadir/ucx/
+%_libdir/pkgconfig/ucx.pc
%doc LICENSE
%files -n libucm0
@@ -160,7 +172,7 @@ rm -fv "%buildroot/%_libdir"/*.la
%_includedir/ucm/
%_libdir/libucm.so
-%files -n libucp2
+%files -n libucp0
%defattr(-,root,root)
%_libdir/libucp.so.*
@@ -169,7 +181,7 @@ rm -fv "%buildroot/%_libdir"/*.la
%_includedir/ucp/
%_libdir/libucp.so
-%files -n libucs2
+%files -n libucs0
%defattr(-,root,root)
%_libdir/libucs.so.*
@@ -178,7 +190,7 @@ rm -fv "%buildroot/%_libdir"/*.la
%_includedir/ucs/
%_libdir/libucs.so
-%files -n libuct2
+%files -n libuct0
%defattr(-,root,root)
%_libdir/libuct.so.*
diff --git a/ucx-0~git1727.tar.xz b/ucx-0~git1727.tar.xz
deleted file mode 100644
index 9961dfc..0000000
--- a/ucx-0~git1727.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:35dbef55532035054c4621ce94b23ec27cd4e7efd615a31c3d7afab2e9714eff
-size 828800
diff --git a/ucx-1.3+git44.tar.xz b/ucx-1.3+git44.tar.xz
new file mode 100644
index 0000000..77a9b24
--- /dev/null
+++ b/ucx-1.3+git44.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:20ddc629f9e7d6b9b681fda25b4b4d79f834c97a03b429d7ec017a5c5a5ca55f
+size 1000964