From f0d6bc483014c88b679f6cd834c9b0f9aa514e19 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Tue, 4 Jul 2017 02:06:38 +0200 Subject: [PATCH] build 64-bit ILP64 version (#1294201) --- arpack.spec | 62 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 56 insertions(+), 6 deletions(-) diff --git a/arpack.spec b/arpack.spec index 7c80d92..de72b1d 100644 --- a/arpack.spec +++ b/arpack.spec @@ -1,10 +1,15 @@ %global commit b0f7a6008f37f913e97f67c826fc37fa9758f626 %global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global build64 0 %if 0%{?fedora} >= 26 %{!?openblas_arches:%global openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64} %ifnarch %{openblas_arches} # matches openblas ExclusiveArch %bcond_without atlas +%else +%if 0%{?__isa_bits} == 64 +%global build64 1 +%endif %endif %endif @@ -75,8 +80,14 @@ library and so links used for building arpack based applications. %prep -%autosetup -n arpack-ng-%{version} -p 1 +%autosetup -c +mv arpack-ng-%{version} src +pushd src autoreconf -vif +popd +%if %{build64} +cp -pr src src64 +%endif %build @@ -89,20 +100,48 @@ autoreconf -vif %else %global blaslib -lopenblasp %endif +pushd src %configure --enable-shared --enable-static \ --with-blas="%{blaslib}" \ --with-lapack="%{blaslib}" %make_build +popd +%if %{build64} +pushd src64 +%configure --enable-shared --enable-static \ + LIBSUFFIX=64_ \ + SYMBOLSUFFIX=_64 \ + INTERFACE64=1 \ + --with-blas=%{blaslib}64_ \ + --with-lapack=%{blaslib}64_ +%make_build +popd +%endif %install +pushd src +%make_install +popd +%if %{build64} +pushd src64 %make_install +popd +%endif # Get rid of .la files rm -r %{buildroot}%{_libdir}/*.la %check +pushd src +%make_build check +pushd EXAMPLES ; make clean ; popd +popd +%if %{build64} +pushd src64 %make_build check pushd EXAMPLES ; make clean ; popd +popd +%endif %post -p /sbin/ldconfig @@ -110,30 +149,41 @@ pushd EXAMPLES ; make clean ; popd %files -%doc CHANGES README -%license COPYING +%doc src/CHANGES src/README +%license src/COPYING %{_libdir}/libarpack.so.* +%if %{build64} +%{_libdir}/libarpack64_.so.* +%endif %files devel %{_libdir}/pkgconfig/arpack.pc %{_libdir}/libarpack.so +%if %{build64} +%{_libdir}/pkgconfig/arpack64_.pc +%{_libdir}/libarpack64_.so +%endif %files doc -%doc EXAMPLES/ DOCUMENTS/ -%doc CHANGES README -%license COPYING +%doc src/EXAMPLES/ src/DOCUMENTS/ +%doc src/CHANGES src/README +%license src/COPYING %files static %{_libdir}/libarpack.a +%if %{build64} +%{_libdir}/libarpack64_.a +%endif %changelog * Mon Jul 03 2017 Dominik Mierzejewski - 3.5.0-2 - build against openblas on supported arches - generating configure for 3.4.0+ requires new libtool +- build 64-bit ILP64 version (#1294201) * Sat May 20 2017 Björn Esser - 3.5.0-1 - Update to 3.5.0 (#1451525)