From b8f24eb63314b20d2b195f5f732b56bd7dae9651 Mon Sep 17 00:00:00 2001 From: Deji Akingunola Date: Sep 27 2009 21:14:22 +0000 Subject: - Use the new arch. default for Pentium PRO (Fedora bug #510498) - (Re-)Introduce 3dNow subpackage - Revert the last change, it doesn't solve the problem. --- diff --git a/.cvsignore b/.cvsignore index bc90df4..b57deec 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,3 @@ atlas3.8.3.tar.bz2 +PPRO32.tgz +K7323DNow.tgz diff --git a/atlas.spec b/atlas.spec index 6b08e56..555530f 100644 --- a/atlas.spec +++ b/atlas.spec @@ -2,14 +2,16 @@ Name: atlas Version: 3.8.3 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Automatically Tuned Linear Algebra Software Group: System Environment/Libraries License: BSD URL: http://math-atlas.sourceforge.net/ Source0: http://downloads.sourceforge.net/math-atlas/%{name}%{version}.tar.bz2 -Source1: README.Fedora +Source1: PPRO32.tgz +Source2: K7323DNow.tgz +Source3: README.Fedora Patch0: atlas-fedora_shared.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -35,36 +37,44 @@ see the documentation for information. Summary: Development libraries for ATLAS Group: Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: %name-header = %version-%release +Obsoletes: %name-header = %version-%release %description devel -This package contains the shared and static libraries for development +This package contains the static libraries and headers for development with ATLAS (Automatically Tuned Linear Algebra Software). -%package header -Summary: atlas header files -Group: Development/Libraries -BuildArch: noarch - -%description header -This package contains the header files for for development with ATLAS. - %define types base %if "%{?enable_native_atlas}" == "0" ############## Subpackages for architecture extensions ################# # -# Because a set of ATLAS libraries is a ~5 MB package, separate packages -# are created for SSE, SSE2, and SSE3 extensions to ix86. - %ifarch %{ix86} -%define types sse sse2 sse3 +%define types base 3dnow sse sse2 sse3 + +%package 3dnow +Summary: ATLAS libraries for 3DNow extensions +Group: System Environment/Libraries + +%description 3dnow +This package contains the ATLAS (Automatically Tuned Linear Algebra +Software) libraries compiled with optimizations for the 3DNow extension +to the ix86 architecture. Fedora also produces ATLAS build with SSE, SSE2 +and SSE3 extensions. + +%package 3dnow-devel +Summary: Development libraries for ATLAS with 3DNow extensions +Group: Development/Libraries +Requires: %{name}-3dnow = %{version}-%{release} +Obsoletes: %name-header = %version-%release + +%description 3dnow-devel +This package contains headers and shared and static versions of the ATLAS +(Automatically Tuned Linear Algebra Software) libraries compiled with +optimizations for the 3DNow extensions to the ix86 architecture. %package sse Summary: ATLAS libraries for SSE extensions Group: System Environment/Libraries -Obsoletes: %{name}-3dnow < 3.7 -Provides: %{name}-3dnow = %{version}-%{release} %description sse This package contains the ATLAS (Automatically Tuned Linear Algebra @@ -76,20 +86,16 @@ extensions. Summary: Development libraries for ATLAS with SSE extensions Group: Development/Libraries Requires: %{name}-sse = %{version}-%{release} -Requires: %name-header = %version-%release -Obsoletes: %{name}-3dnow-devel < 3.7 -Provides: %{name}-3dnow-devel = %{version}-%{release} +Obsoletes: %name-header = %version-%release %description sse-devel -This package contains shared and static versions of the ATLAS +This package contains headers and shared and static versions of the ATLAS (Automatically Tuned Linear Algebra Software) libraries compiled with optimizations for the SSE(1) extensions to the ix86 architecture. %package sse2 Summary: ATLAS libraries for SSE2 extensions Group: System Environment/Libraries -Obsoletes: %{name} < 3.7 -Provides: %{name} = %{version}-%{release} %description sse2 This package contains the ATLAS (Automatically Tuned Linear Algebra @@ -101,9 +107,7 @@ SSE(1) and SSE3 extensions. Summary: Development libraries for ATLAS with SSE2 extensions Group: Development/Libraries Requires: %{name}-sse2 = %{version}-%{release} -Requires: %name-header = %version-%release -Obsoletes: %{name}-devel < 3.7 -Provides: %{name}-devel = %{version}-%{release} +Obsoletes: %name-header = %version-%release %description sse2-devel This package contains shared and static versions of the ATLAS @@ -123,7 +127,7 @@ Fedora also produces ATLAS build with SSE(1) and SSE2 extensions. Summary: Development libraries for ATLAS with 3DNow extensions Group: Development/Libraries Requires: %{name}-sse3 = %{version}-%{release} -Requires: %name-header = %version-%release +Obsoletes: %name-header = %version-%release %description sse3-devel This package contains shared and static versions of the ATLAS @@ -142,7 +146,9 @@ optimizations for the sse3 extensions to the ix86 architecture. %prep %setup -q -n ATLAS %patch0 -p0 -b .shared -cp %{SOURCE1} doc +cp %{SOURCE1} CONFIG/ARCHS/ +cp %{SOURCE2} CONFIG/ARCHS/ +cp %{SOURCE3} doc %build for type in %{types}; do @@ -159,7 +165,16 @@ for type in %{types}; do --libdir=%{buildroot}%{_libdir}/${libname} \ --with-netlib-lapack=%{_libdir}/liblapack_pic.a - if [ "$type" = "sse" ]; then +%ifarch %{ix86} + if [ "$type" = "base" ]; then + sed -i 's#ARCH =.*#ARCH = PPRO32#' Make.inc + sed -i 's#-DATL_SSE3 -DATL_SSE2 -DATL_SSE1##' Make.inc + sed -i 's#-mfpmath=sse -msse3#-mfpmath=387#' Make.inc + elif [ "$type" = "3dnow" ]; then + sed -i 's#ARCH =.*#ARCH = K7323DNow#' Make.inc + sed -i 's#-DATL_SSE3 -DATL_SSE2 -DATL_SSE1##' Make.inc + sed -i 's#-mfpmath=sse -msse3#-mfpmath=387#' Make.inc + elif [ "$type" = "sse" ]; then sed -i 's#ARCH =.*#ARCH = PIII32SSE1#' Make.inc sed -i 's#-DATL_SSE3 -DATL_SSE2##' Make.inc sed -i 's#-msse3#-msse#' Make.inc @@ -170,6 +185,7 @@ for type in %{types}; do elif [ "$type" = "sse3" ]; then sed -i 's#ARCH =.*#ARCH = P4E32SSE3#' Make.inc fi +%endif make build cd lib make shared @@ -198,20 +214,34 @@ for type in %{types}; do > %{buildroot}/etc/ld.so.conf.d/atlas-${type}.conf fi done -%ifarch %{ix86} && %if "%{?enable_native_atlas}" == "0" -cp -pr %{buildroot}%{_libdir}/atlas-sse2 %{buildroot}%{_libdir}/atlas -echo "%{_libdir}/atlas" >> %{buildroot}/etc/ld.so.conf.d/atlas-sse2.conf -%endif %clean rm -rf %{buildroot} -%ifnarch %{ix86} || %if "%{?enable_native_atlas}" == "1" - %post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%ifarch %{ix86} && %if "%{?enable_native_atlas}" == "0" + +%post -n atlas-3dnow -p /sbin/ldconfig + +%postun -n atlas-3dnow -p /sbin/ldconfig + +%post -n atlas-sse -p /sbin/ldconfig + +%postun -n atlas-sse -p /sbin/ldconfig + +%post -n atlas-sse2 -p /sbin/ldconfig + +%postun -n atlas-sse2 -p /sbin/ldconfig + +%post -n atlas-sse3 -p /sbin/ldconfig + +%postun -n atlas-sse3 -p /sbin/ldconfig + +%endif + %files %defattr(-,root,root,-) %doc doc/README.Fedora @@ -224,20 +254,25 @@ rm -rf %{buildroot} %doc doc %{_libdir}/atlas/*.so %{_libdir}/atlas/*.a +%{_includedir}/atlas +%{_includedir}/*.h -%else - -%post -n atlas-sse -p /sbin/ldconfig - -%postun -n atlas-sse -p /sbin/ldconfig - -%post -n atlas-sse2 -p /sbin/ldconfig - -%postun -n atlas-sse2 -p /sbin/ldconfig +%ifarch %{ix86} && %if "%{?enable_native_atlas}" == "0" -%post -n atlas-sse3 -p /sbin/ldconfig +%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 -%postun -n atlas-sse3 -p /sbin/ldconfig +%files 3dnow-devel +%defattr(-,root,root,-) +%doc doc +%{_libdir}/atlas-3dnow/*.so +%{_libdir}/atlas-3dnow/*.a +%{_includedir}/atlas +%{_includedir}/*.h %files sse %defattr(-,root,root,-) @@ -251,14 +286,14 @@ rm -rf %{buildroot} %doc doc %{_libdir}/atlas-sse/*.so %{_libdir}/atlas-sse/*.a +%{_includedir}/atlas +%{_includedir}/*.h %files sse2 %defattr(-,root,root,-) %doc doc/README.Fedora %dir %{_libdir}/atlas-sse2 -%dir %{_libdir}/atlas %{_libdir}/atlas-sse2/*.so.* -%{_libdir}/atlas/*.so.* %config(noreplace) /etc/ld.so.conf.d/atlas-sse2.conf %files sse2-devel @@ -266,8 +301,8 @@ rm -rf %{buildroot} %doc doc %{_libdir}/atlas-sse2/*.so %{_libdir}/atlas-sse2/*.a -%{_libdir}/atlas/*.so -%{_libdir}/atlas/*.a +%{_includedir}/atlas +%{_includedir}/*.h %files sse3 %defattr(-,root,root,-) @@ -281,15 +316,17 @@ rm -rf %{buildroot} %doc doc %{_libdir}/atlas-sse3/*.so %{_libdir}/atlas-sse3/*.a - -%endif - -%files header -%defattr(-,root,root,-) %{_includedir}/atlas %{_includedir}/*.h +%endif + %changelog +* Sat Sep 26 2009 Deji Akingunola - 3.8.3-8 +- Use the new arch. default for Pentium PRO (Fedora bug #510498) +- (Re-)Introduce 3dNow subpackage +- Revert the last change, it doesn't solve the problem. + * Tue Aug 04 2009 Deji Akingunola - 3.8.3-7 - Create a -header subpackage to avoid multilib conflicts (BZ#508565). diff --git a/sources b/sources index ab4b6e7..b719f7e 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ 6c13be94a87178e7582111c08e9503bc atlas3.8.3.tar.bz2 +676548252837b1e458181111443f340f PPRO32.tgz +3f174cdcb4c964843f27dbfc4ad4b1c8 K7323DNow.tgz