- Create a subpackage for SSE2 on x86_64

This commit is contained in:
Deji Akingunola 2010-07-28 02:00:32 +00:00
parent 811a0e671c
commit ef2314c550
1 changed files with 92 additions and 9 deletions

View File

@ -2,7 +2,7 @@
Name: atlas
Version: 3.8.3
Release: 17%{?dist}
Release: 18%{?dist}
Summary: Automatically Tuned Linear Algebra Software
Group: System Environment/Libraries
@ -54,6 +54,34 @@ with ATLAS (Automatically Tuned Linear Algebra Software).
%if "%{?enable_native_atlas}" == "0"
############## Subpackages for architecture extensions #################
#
%ifarch x86_64
%define types base sse2
%package sse2
Summary: ATLAS libraries for SSE2 extensions
Group: System Environment/Libraries
%description sse2
This package contains the ATLAS (Automatically Tuned Linear Algebra
Software) libraries compiled with optimizations for the SSE2
extensions to the x86_64 architecture. The base ATLAS builds in Fedora for the
x86_64 architecture are made fro the SSE3 extensions.
%package sse2-devel
Summary: Development libraries for ATLAS with SSE2 extensions
Group: Development/Libraries
Requires: %{name}-sse2 = %{version}-%{release}
Obsoletes: %name-header <= %version-%release
Requires(posttans): chkconfig
Requires(preun): chkconfig
%description sse2-devel
This package contains shared and static versions of the ATLAS
(Automatically Tuned Linear Algebra Software) libraries compiled with
optimizations for the SSE2 extensions to the x86_64 architecture.
%endif
%ifarch %{ix86}
%define types base 3dnow sse sse2 sse3
@ -175,7 +203,17 @@ for type in %{types}; do
--prefix=%{buildroot}%{_prefix} \
--incdir=%{buildroot}%{_includedir} \
--libdir=%{buildroot}%{_libdir}/${libname} \
--with-netlib-lapack=%{_libdir}/liblapack_pic.a
--with-netlib-lapack=%{_libdir}/liblapack_pic.a \
-Si cputhrchk 0
%ifarch x86_64
if [ "$type" = "sse2" ]; then
sed -i 's#ARCH =.*#ARCH = HAMMER64SSE2#' Make.inc
sed -i 's#-DATL_SSE3##' Make.inc
sed -i 's#-msse3#-msse2#' Make.inc
%define pr_sse2 %(echo $((%{__isa_bits}-1)))
fi
%endif
%ifarch %{ix86}
if [ "$type" = "base" ]; then
@ -230,7 +268,7 @@ for type in %{types}; do
> %{buildroot}/etc/ld.so.conf.d/atlas-%{_arch}.conf
else
echo "%{_libdir}/atlas-${type}" \
> %{buildroot}/etc/ld.so.conf.d/atlas-${type}.conf
> %{buildroot}/etc/ld.so.conf.d/atlas-%{_arch}-${type}.conf
fi
done
mkdir -p %{buildroot}%{_includedir}/atlas
@ -254,8 +292,27 @@ if [ $1 -ge 0 ] ; then
/usr/sbin/alternatives --remove atlas-inc %{_includedir}/atlas-%{_arch}-base
fi
%ifarch %{ix86} && %if "%{?enable_native_atlas}" == "0"
%if "%{?enable_native_atlas}" == "0"
%ifarch x86_64
%post -n atlas-sse2 -p /sbin/ldconfig
%postun -n atlas-sse2 -p /sbin/ldconfig
%posttrans sse2-devel
if [ $1 -eq 0 ] ; then
/usr/sbin/alternatives --install %{_includedir}/atlas atlas-inc \
%{_includedir}/atlas-%{_arch}-sse2 %{pr_sse2}
fi
%preun sse2-devel
if [ $1 -ge 0 ] ; then
/usr/sbin/alternatives --remove atlas-inc %{_includedir}/atlas-%{_arch}-sse2
fi
%endif
%ifarch %{ix86}
%post -n atlas-3dnow -p /sbin/ldconfig
%postun -n atlas-3dnow -p /sbin/ldconfig
@ -316,6 +373,7 @@ if [ $1 -ge 0 ] ; then
/usr/sbin/alternatives --remove atlas-inc %{_includedir}/atlas-%{_arch}-sse3
fi
%endif
%endif
%files
@ -333,14 +391,35 @@ fi
%{_includedir}/*.h
%ghost %{_includedir}/atlas
%ifarch %{ix86} && %if "%{?enable_native_atlas}" == "0"
%if "%{?enable_native_atlas}" == "0"
%ifarch x86_64
%files sse2
%defattr(-,root,root,-)
%doc doc/README.Fedora
%dir %{_libdir}/atlas-sse2
%{_libdir}/atlas-sse2/*.so.*
%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}-sse2.conf
%files sse2-devel
%defattr(-,root,root,-)
%doc doc
%{_libdir}/atlas-sse2/*.so
%{_includedir}/atlas-%{_arch}-sse2/
%{_includedir}/*.h
%ghost %{_includedir}/atlas
%endif
%ifarch %{ix86}
%files 3dnow
%defattr(-,root,root,-)
%doc doc/README.Fedora
%dir %{_libdir}/atlas-3dnow
%{_libdir}/atlas-3dnow/*.so.*
%config(noreplace) /etc/ld.so.conf.d/atlas-3dnow.conf
%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}-3dnow.conf
%files 3dnow-devel
%defattr(-,root,root,-)
@ -355,7 +434,7 @@ fi
%doc doc/README.Fedora
%dir %{_libdir}/atlas-sse
%{_libdir}/atlas-sse/*.so.*
%config(noreplace) /etc/ld.so.conf.d/atlas-sse.conf
%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}-sse.conf
%files sse-devel
%defattr(-,root,root,-)
@ -370,7 +449,7 @@ fi
%doc doc/README.Fedora
%dir %{_libdir}/atlas-sse2
%{_libdir}/atlas-sse2/*.so.*
%config(noreplace) /etc/ld.so.conf.d/atlas-sse2.conf
%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}-sse2.conf
%files sse2-devel
%defattr(-,root,root,-)
@ -385,7 +464,7 @@ fi
%doc doc/README.Fedora
%dir %{_libdir}/atlas-sse3
%{_libdir}/atlas-sse3/*.so.*
%config(noreplace) /etc/ld.so.conf.d/atlas-sse3.conf
%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}-sse3.conf
%files sse3-devel
%defattr(-,root,root,-)
@ -395,9 +474,13 @@ fi
%{_includedir}/*.h
%ghost %{_includedir}/atlas
%endif
%endif
%changelog
* Mon Jul 26 2010 Deji Akingunola <dakingun@gmail.com> - 3.8.3-18
- Create a subpackage for SSE2 on x86_64
* Sat Jul 17 2010 Dan Horák <dan[at]danny.cz> - 3.8.3-17
- rebuild against fixed lapack libraries