Add ppc64 support

This commit is contained in:
Orion Poplawski 2014-03-11 15:01:27 -06:00
parent a7f7b3909f
commit 82f2ac958b
2 changed files with 24 additions and 1 deletions

12
eigen3-ppc64.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up eigen-eigen-ffa86ffb5570/unsupported/test/mpreal/mpreal.h.ppc64 eigen-eigen-ffa86ffb5570/unsupported/test/mpreal/mpreal.h
--- eigen-eigen-ffa86ffb5570/unsupported/test/mpreal/mpreal.h.ppc64 2013-07-23 19:48:35.000000000 -0600
+++ eigen-eigen-ffa86ffb5570/unsupported/test/mpreal/mpreal.h 2014-02-13 10:18:48.290136534 -0700
@@ -97,7 +97,7 @@
#endif
#elif defined (__GNUC__) && defined(__linux__)
- #if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__ia64) || defined(__itanium__) || defined(_M_IA64)
+ #if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__ia64) || defined(__itanium__) || defined(_M_IA64) || defined (__PPC64__)
#undef MPREAL_HAVE_INT64_SUPPORT // Remove all shaman dances for x64 builds since
#undef MPFR_USE_INTMAX_T // GCC already supports x64 as of "long int" is 64-bit integer, nothing left to do
#else

View File

@ -8,7 +8,7 @@
Name: eigen3 Name: eigen3
Version: 3.2.1 Version: 3.2.1
Release: 3%{?dist} Release: 4%{?dist}
Summary: A lightweight C++ template library for vector and matrix math Summary: A lightweight C++ template library for vector and matrix math
Group: Development/Libraries Group: Development/Libraries
@ -17,6 +17,8 @@ URL: http://eigen.tuxfamily.org/index.php?title=Main_Page
# Source file is at: http://bitbucket.org/eigen/eigen/get/3.1.3.tar.bz2 # Source file is at: http://bitbucket.org/eigen/eigen/get/3.1.3.tar.bz2
# Renamed source file so it's not just a version number # Renamed source file so it's not just a version number
Source0: eigen-%{version}.tar.bz2 Source0: eigen-%{version}.tar.bz2
# Add ppc64 support
Patch0: eigen3-ppc64.patch
BuildRequires: atlas-devel BuildRequires: atlas-devel
BuildRequires: fftw-devel BuildRequires: fftw-devel
@ -58,10 +60,16 @@ Developer documentation for Eigen.
%prep %prep
%setup -q -n eigen-eigen-%{commit} %setup -q -n eigen-eigen-%{commit}
%patch0 -p1 -b .ppc64
%build %build
mkdir %{_target_platform} mkdir %{_target_platform}
pushd %{_target_platform} pushd %{_target_platform}
%ifarch ppc64
# Currently get a compiler ICE, work around it
# https://bugzilla.redhat.com/show_bug.cgi?id=1063999
export CXXFLAGS="%{optflags} -mno-vsx"
%endif
%cmake .. -DBLAS_LIBRARIES="cblas" -DSUPERLU_INCLUDES=%{_includedir}/SuperLU %cmake .. -DBLAS_LIBRARIES="cblas" -DSUPERLU_INCLUDES=%{_includedir}/SuperLU
popd popd
make -C %{_target_platform} %{?_smp_mflags} make -C %{_target_platform} %{?_smp_mflags}
@ -88,6 +96,9 @@ make -C %{_target_platform} %{?_smp_mflags} test ARGS="-V" || exit 0
%doc %{_target_platform}/doc/html %doc %{_target_platform}/doc/html
%changelog %changelog
* Tue Mar 11 2014 Orion Poplawski <orion@cora.nwra.com> - 3.2.1-4
- Add ppc64 support
* Thu Feb 27 2014 Sandro Mani <manisandro@gmail.com> - 3.2.1-3 * Thu Feb 27 2014 Sandro Mani <manisandro@gmail.com> - 3.2.1-3
- Make doc package noarch - Make doc package noarch