diff --git a/.cvsignore b/.cvsignore index e69de29..e0a9791 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1,2 @@ +atlas3.6.0.tar.bz2 +atlas3_3.6.0-19.diff.gz diff --git a/README.Fedora b/README.Fedora new file mode 100644 index 0000000..a8ca55d --- /dev/null +++ b/README.Fedora @@ -0,0 +1,73 @@ +Notes on the Fedora Extras version of ATLAS + +by Quentin Spencer +updated: September 12, 2005 + + +Because ATLAS relies on compile-time optimizations to obtain improved +performance over BLAS and LAPACK, the resulting binaries are closely +tied to the hardware on which they are compiled, and can likely result +in very poor performance on other hardware. For this reason, +including a package like ATLAS in Fedora requires some compromises. +Firstly, a binary ATLAS package must perform reasonably well on the +entire range of hardware on which it could potentially be installed. +Optimizing ATLAS for the most modern hardware can result in +significant performance penalties for users using the same package on +older hardware. Second, building from the same source package must +result in identical binaries for any computer of a particular +architecture. This is because the Fedora Extras build system has +multiple computers for building i386 packages, and it is not possible +to know the hardware specifications of the computer that will be +handling a given build request when it is submitted. + +The Debian project was probably the first to distribute precompiled +ATLAS libraries. Camm Maguire, the creator of the Debian ATLAS +package, has found a way of dealing with both of these challenges. +The system essentially consists of "recorded builds" where ATLAS is +compiled on particular hardware such that the resulting binary has +reasonable performance on a range of hardware. The build parameters +from the resulting optimization are stored in the source package and +"played back" when a binary package is built. This has the additional +advantage that builds using this method can be completed in minutes +rather than the hours required to complete the standard compile-time +empirical tests. + +A significant amount of research has been done to find the best +compile parameters for the Debian packages, so the most sensible +approach to making a package for Fedora is to make use of that +research by applying the Debian patches directly to the source and to +emulate the same build process. The spec file for this package does +exactly that. The result is a set of libraries that will not +necessarily achieve optimal performance on any given hardware but +should still offer significant performance gains over the reference +BLAS and LAPACK libraries on most hardware. The binary package +includes the atlas libraries as well as binary-compatible blas and +lapack libraries that should work as a drop-in replacement for the +standard ones (they are installed in /usr/lib/atlas rather than +/usr/lib). + +This package is designed to build RPMs that are identical regardless +of where they are compiled and that provide reasonable performance on +a wide range of hardware. For users who want optimal performance on +particular hardware, custom RPMs can be built from the source package +by setting the RPM macro "enable_custom_atlas" to a value of 1. This +can be done from the command line as in the following example: + +rpmbuild -D "enable_custom_atlas 1" --rebuild atlas-3.6.0-1.src.rpm + +This command will create an atlas package called atlas-custom, which +installs the optimized atlas libraries in /usr/lib/custom and the +blas-compatible libraries in /usr/lib/atlas/custom. It should also be +noted here that because custom compilation enables all compile-time +empirical tests instead of simply replaying a previous build, the +compilation time will be considerably longer, and can require several +hours to complete, depending on the hardware. + + +The 3.6.0 release of ATLAS will not compile shared libraries for the +i386 architecture extensions (sse, sse2, 3dnow) when using the gcc +4.0.x compiler included in Fedora Core 4. For this reason, the +package currently provides only base i386 shared libraries, but +provides static libraries for the extensions. It appears that the +problem will not be resolved until the 3.8.0 release of ATLAS, and +there is currently no indication of how soon that can be expected. diff --git a/atlas-3.6.0-gfortran.patch b/atlas-3.6.0-gfortran.patch new file mode 100644 index 0000000..2c39de9 --- /dev/null +++ b/atlas-3.6.0-gfortran.patch @@ -0,0 +1,20 @@ +--- debian/config.expect.orig 2005-08-15 13:22:40.000000000 -0500 ++++ debian/config.expect 2005-08-15 13:30:14.000000000 -0500 +@@ -4,6 +4,8 @@ + set timeout 180 + set i [spawn make] + expect -re "ready to continue?" {send "\n" ; exp_continue} \ ++ "Stop ATLAS install?" {send "n\n"; exp_continue} \ ++ "enter a different F77" {send "1\n"; exp_continue} \ + "Enter number at top left of screen" {send "\n" ; exp_continue} \ + "ENTER TO CONTINUE" {send "\n" ; exp_continue} \ + "enable Posix threads support?" {send "n\n" ; exp_continue} \ +@@ -20,7 +22,7 @@ + "Fortran77 interface to BLAS" {send "\n" ; exp_continue} \ + "3DNow! for computation?" {send "$env(TDNCOMP)\n" ; exp_continue} \ + "Level 1 BLAS" {send "\n" ; exp_continue} \ +- "f77 compiler" {send "\n" ; exp_continue} \ ++ "f77 compiler" {send "/usr/bin/gfortran\n" ; exp_continue} \ + "F77 Flags" {send "\n" ; exp_continue} \ + "F77 Linker" {send "\n" ; exp_continue} \ + "F77 Link Flags" {send "\n" ; exp_continue} \ diff --git a/atlas.spec b/atlas.spec new file mode 100644 index 0000000..6ff38b9 --- /dev/null +++ b/atlas.spec @@ -0,0 +1,571 @@ +Name: atlas +Version: 3.6.0 +Release: 6 +Summary: Automatically Tuned Linear Algebra Software + +Group: System Environment/Libraries +License: BSD +URL: http://math-atlas.sourceforge.net/ +Source0: http://prdownloads.sourceforge.net/math-atlas/%{name}%{version}.tar.bz2 +Source1: README.Fedora +Patch0: http://ftp.debian.org/debian/pool/main/a/atlas3/%{name}3_%{version}-19.diff.gz +Patch1: %{name}-%{version}-gfortran.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Requires: /etc/ld.so.conf.d +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig +BuildRequires: gcc-gfortran lapack-devel expect sharutils gawk + +%define ver_major 3 +%define ver %{ver_major}.0 + +%description +The ATLAS (Automatically Tuned Linear Algebra Software) project is an +ongoing research effort focusing on applying empirical techniques in +order to provide portable performance. At present, it provides C and +Fortran77 interfaces to a portably efficient BLAS implementation, as +well as a few routines from LAPACK. + +The performance improvements in ATLAS are largely obtained via +compile-time optimizations and tend to be specific to a given hardware +configuration. In order to package ATLAS for Fedora some compromises +were necessary so that good performance can be obtained on a variety +of hardware. This set of ATLAS binary packages is therefore not +necessarily optimal for specific hardware. However, the source +package can be used to compile customized ATLAS packages--see the +documentation for information. + + + +%package devel +Summary: Development libraries for ATLAS +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +This package contains the static libraries and headers for development +with ATLAS (Automatically Tuned Linear Algebra Software). + + +############## Subpackages for architecture extensions ################# +# +# Because a set of ATLAS libraries is a ~5 MB package, separate packages +# are created for SSE, SSE2, and 3DNow extensions to ix86 and AltiVec +# extensions to PowerPC. +# +# The current version does not compile shared libraries for the extended +# architectures on gcc 4 (errors generated by assembly kernels), so +# some of these subpackages are currently disabled and will be enabled +# in the future when they compile properly (probably in the 3.8.0 release). +%ifarch i386 +%define archt i386 +%define types base sse sse2 3dnow + +%package sse +Summary: ATLAS libraries for SSE extensions +Group: System Environment/Libraries +%description sse +This package contains the ATLAS (Automatically Tuned Linear Algebra +Software) libraries compiled with optimizations for the SSE extensions +to the ix86 architecture. +%package sse-devel +Summary: Development libraries for ATLAS with SSE extensions +Group: Development/Libraries +#Requires: %{name}-sse = %{version}-%{release} +%description sse-devel +This package contains headers and static versions of the ATLAS +(Automatically Tuned Linear Algebra Software) libraries compiled with +optimizations for the SSE extensions to the ix86 architecture. + + +%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 ix86 architecture. +%package sse2-devel +Summary: Development libraries for ATLAS with SSE2 extensions +Group: Development/Libraries +#Requires: %{name}-sse2 = %{version}-%{release} +%description sse2-devel +This package contains headers and static versions of the ATLAS +(Automatically Tuned Linear Algebra Software) libraries compiled with +optimizations for the SSE2 extensions to the ix86 architecture. + + +%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 +extensions to the ix86 architecture. +%package 3dnow-devel +Summary: Development libraries for ATLAS with 3DNow extensions +Group: Development/Libraries +#Requires: %{name}-3dnow = %{version}-%{release} +%description 3dnow-devel +This package contains headers and static versions of the ATLAS +(Automatically Tuned Linear Algebra Software) libraries compiled with +optimizations for the 3DNow extensions to the ix86 architecture. + + +%endif +%ifarch ppc +%define archt powerpc +%define types base altivec + +%package altivec +Summary: ATLAS libraries for AltiVec extensions +Group: System Environment/Libraries +%description altivec +This package contains the ATLAS (Automatically Tuned Linear Algebra +Software) libraries compiled with optimizations for the AltiVec +extensions to the PowerPC architecture. +%package altivec-devel +Summary: Development libraries for ATLAS with AltiVec extensions +Group: Development/Libraries +#Requires: %{name}-altivec = %{version}-%{release} +%description altivec-devel +This package contains headers and static versions of the ATLAS +(Automatically Tuned Linear Algebra Software) libraries compiled with +optimizations for the AltiVec extensions to the PowerPC architecture. + +%endif +%ifarch x86_64 +%define archt amd64 +%define types base +%define bit 2 +%else +%define bit 1 +%endif + +%if "%{?enable_custom_atlas}" == "1" +# This flag enables building customized ATLAS libraries with all +# compile-time optimizations. Note that compilation will take a very +# long time, and that the resulting binaries are not guaranteed to +# work well or even at all on other hardware. + +%define archt %{_arch} +%define types custom + +%package custom +Summary: Custom-compiled ATLAS libraries +Group: System Environment/Libraries +%description custom +This package contains the ATLAS (Automatically Tuned Linear Algebra +Software) libraries compiled with all compile-time optimizations enabled. +%package custom-devel +Summary: Development libraries for ATLAS with AltiVec extensions +Group: Development/Libraries +#Requires: %{name}-custom = %{version}-%{release} +%description custom-devel +This package contains headers and static versions of the ATLAS +(Automatically Tuned Linear Algebra Software) libraries compiled with +all compile-time optimizations enabled. +%endif + + +%prep +%setup -q -n ATLAS +%patch0 -p1 +%patch1 -p0 +cp %{SOURCE1} doc + + +%build +# The following build procedure is more or less copied from the Debian +# sources, where the output of a previously recorded build is +# replayed, so as to bypass the compile-time optimizations and produce +# predictable results independent of the hardware on which it is +# compiled. This forces builds to be sequential, so SMP builds are not +# supported. +chmod +x debian/config.expect debian/ab +sed -i debian/ab -e s/g77/gfortran/ + +########## Static Libraries ########################################## +for TYPE in %{types}; do + if [ "$TYPE" = "3dnow" ]; then + TDN=y + else + TDN=n + fi + BUILD_DIR=Linux_${TYPE}_static + ARCH_DIR=$BUILD_DIR CACHE_SIZE= BIT=%{bit} \ + DEFAULTS=y TDNCOMP=$TDN debian/config.expect + cat Make.$BUILD_DIR |\ + sed -e "s, TOPdir = \(.*\), TOPdir = `pwd`,1" \ + -e "s, FLAPACKlib = , FLAPACKlib = %{_libdir}/liblapack.a,1" >foo + mv foo Make.$BUILD_DIR + make killall arch=$BUILD_DIR + make startup arch=$BUILD_DIR + + if [ "$TYPE" = "custom" ]; then + BUILD_DATA_DIR=custom_%{archt} + if [ -a $BUILD_DATA_DIR.tgz ]; then + tar zxf $BUILD_DATA_DIR.tgz + else + make install arch=$BUILD_DIR >out 2>&1 & + pid=$! + echo Waiting on $pid + tail -f --pid $pid out & + wait $pid + rm -rf ${BUILD_DATA_DIR} + mkdir -p ${BUILD_DATA_DIR} + cat out | sed -e "s,`pwd`,TOPDIR,g" -e "s,$BUILD_DIR,CARCH,g" | \ + gzip -9 | uuencode - >${BUILD_DATA_DIR}/build.uu + rm -f out + mkdir -p ${BUILD_DATA_DIR}/include + cp include/$BUILD_DIR/* ${BUILD_DATA_DIR}/include + mkdir -p ${BUILD_DATA_DIR}/mm + cp tune/blas/gemm/$BUILD_DIR/res/* ${BUILD_DATA_DIR}/mm + mkdir -p ${BUILD_DATA_DIR}/mv + cp tune/blas/gemv/$BUILD_DIR/res/* ${BUILD_DATA_DIR}/mv + mkdir -p ${BUILD_DATA_DIR}/r1 + cp tune/blas/ger/$BUILD_DIR/res/* ${BUILD_DATA_DIR}/r1 + mkdir -p ${BUILD_DATA_DIR}/l1 + cp tune/blas/level1/$BUILD_DIR/res/* ${BUILD_DATA_DIR}/l1 + tar zcf ${BUILD_DATA_DIR}.tgz ${BUILD_DATA_DIR} + fi + else + BUILD_DATA_DIR=debian/%{archt}/${TYPE} + fi + + cp ${BUILD_DATA_DIR}/mm/* tune/blas/gemm/$BUILD_DIR/res + cp ${BUILD_DATA_DIR}/mv/* tune/blas/gemv/$BUILD_DIR/res + cp ${BUILD_DATA_DIR}/r1/* tune/blas/ger/$BUILD_DIR/res + cp ${BUILD_DATA_DIR}/l1/* tune/blas/level1/$BUILD_DIR/res + cp ${BUILD_DATA_DIR}/include/* include/$BUILD_DIR + + cat ${BUILD_DATA_DIR}/build.uu | uudecode | zcat - | \ + sed -e s/g77/gfortran/ -e s/-DAdd__/-DAdd_/ | debian/ab topdir=`pwd` \ + carch=$BUILD_DIR debug= | bash -x -e + mv lib/$BUILD_DIR/liblapack.a lib/$BUILD_DIR/liblapack_atlas.a + + # Create replacement for BLAS and LAPACK Libraries + mkdir tmp + pushd tmp + ar x ../lib/$BUILD_DIR/libatlas.a + ar x ../lib/$BUILD_DIR/libf77blas.a + ar x ../lib/$BUILD_DIR/libcblas.a + popd + rm -f lib/$BUILD_DIR/libblas.a + ar r lib/$BUILD_DIR/libblas.a tmp/*.o + rm -rf tmp + + mkdir tmp + pushd tmp + ar x %{_libdir}/liblapack.a + ar x ../lib/$BUILD_DIR/liblapack_atlas.a + ar x ../lib/$BUILD_DIR/libcblas.a + popd + rm -f lib/$BUILD_DIR/liblapack.a + ar r lib/$BUILD_DIR/liblapack.a tmp/*.o + rm -rf tmp + + + ## Shared libs are currently broken for SIMD extensions with gcc 4. + ## Until this is fixed, the following is only performed for "base". + if [ "$TYPE" = "base" ] ; then + ########## Shared Libraries ########################################## + BUILD_DIR=Linux_${TYPE}_shared + ARCH_DIR=$BUILD_DIR CACHE_SIZE= BIT=%{bit} \ + DEFAULTS=y TDNCOMP=$TDN debian/config.expect + cat Make.$BUILD_DIR |\ + sed -e "s, TOPdir = \(.*\), TOPdir = `pwd`,1" \ + -e "s, FLAPACKlib = , FLAPACKlib = %{_libdir}/liblapack.a,1" \ + -e "s, F77FLAGS = \(.*\), F77FLAGS = \1 -fPIC,1" \ + -e "s, CCFLAGS = \(.*\), CCFLAGS = \1 -fPIC,1" \ + -e "s, MMFLAGS = \(.*\), MMFLAGS = \1 -fPIC,1" \ + -e "s, XCCFLAGS = \(.*\), XCCFLAGS = \1 -fPIC,1" >foo + mv foo Make.$BUILD_DIR + make killall arch=$BUILD_DIR + make startup arch=$BUILD_DIR + + cp ${BUILD_DATA_DIR}/mm/* tune/blas/gemm/$BUILD_DIR/res + cp ${BUILD_DATA_DIR}/mv/* tune/blas/gemv/$BUILD_DIR/res + cp ${BUILD_DATA_DIR}/r1/* tune/blas/ger/$BUILD_DIR/res + cp ${BUILD_DATA_DIR}/l1/* tune/blas/level1/$BUILD_DIR/res + cp ${BUILD_DATA_DIR}/include/* include/$BUILD_DIR + + cat ${BUILD_DATA_DIR}/build.uu | uudecode | zcat - | \ + sed -e s/g77/gfortran/ -e s/-DAdd__/-DAdd_/ | debian/ab topdir=`pwd` \ + carch=$BUILD_DIR fpic="-fPIC" debug= | bash -x -e + mv lib/$BUILD_DIR/liblapack.a lib/$BUILD_DIR/liblapack_atlas.a + + mkdir tmp + pushd tmp + ar x ../lib/$BUILD_DIR/libatlas.a + rm -f ilaenv.o + popd + cc -shared -Wl,-soname=libatlas.so.%{ver_major} \ + -o lib/$BUILD_DIR/libatlas.so.%{ver} tmp/*.o -lm + ln -s libatlas.so.%{ver} lib/$BUILD_DIR/libatlas.so.%{ver_major} + ln -s libatlas.so.%{ver} lib/$BUILD_DIR/libatlas.so + rm -rf tmp + + mkdir tmp + pushd tmp + ar x ../lib/$BUILD_DIR/libcblas.a + rm -f ilaenv.o + popd + cc -shared -Wl,-soname=libcblas.so.%{ver_major} \ + -o lib/$BUILD_DIR/libcblas.so.%{ver} tmp/*.o -L lib/$BUILD_DIR -latlas + ln -s libcblas.so.%{ver} lib/$BUILD_DIR/libcblas.so.%{ver_major} + ln -s libcblas.so.%{ver} lib/$BUILD_DIR/libcblas.so + rm -rf tmp + + mkdir tmp + pushd tmp + ar x ../lib/$BUILD_DIR/libf77blas.a + rm -f ilaenv.o + popd + cc -shared -Wl,-soname=libf77blas.so.%{ver_major} \ + -o lib/$BUILD_DIR/libf77blas.so.%{ver} tmp/*.o \ + -L lib/$BUILD_DIR -latlas -lgfortran + ln -s libf77blas.so.%{ver} lib/$BUILD_DIR/libf77blas.so.%{ver_major} + ln -s libf77blas.so.%{ver} lib/$BUILD_DIR/libf77blas.so + rm -rf tmp + + mkdir tmp + pushd tmp + ar x ../lib/$BUILD_DIR/liblapack_atlas.a + rm -f ilaenv.o + popd + cc -shared -Wl,-soname=liblapack_atlas.so.%{ver_major} \ + -o lib/$BUILD_DIR/liblapack_atlas.so.%{ver} tmp/*.o \ + -L lib/$BUILD_DIR -lcblas -lf77blas + ln -s liblapack_atlas.so.%{ver} lib/$BUILD_DIR/liblapack_atlas.so.%{ver_major} + ln -s liblapack_atlas.so.%{ver} lib/$BUILD_DIR/liblapack_atlas.so + rm -rf tmp + + # Create replacement for BLAS and LAPACK Libraries + mkdir tmp + pushd tmp + ar x ../lib/$BUILD_DIR/libatlas.a + ar x ../lib/$BUILD_DIR/libf77blas.a + ar x ../lib/$BUILD_DIR/libcblas.a + popd + cc -shared -Wl,-soname=libblas.so.%{ver_major} \ + -o lib/$BUILD_DIR/libblas.so.%{ver} tmp/*.o -lgfortran + ln -s libblas.so.%{ver} lib/$BUILD_DIR/libblas.so.%{ver_major} + ln -s libblas.so.%{ver} lib/$BUILD_DIR/libblas.so + rm -rf tmp + + mkdir tmp + pushd tmp + ar x %{_libdir}/liblapack_pic.a + ar x ../lib/$BUILD_DIR/liblapack_atlas.a + ar x ../lib/$BUILD_DIR/libcblas.a + popd + cc -shared -Wl,-soname=liblapack.so.%{ver_major} \ + -o lib/$BUILD_DIR/liblapack.so.%{ver} tmp/*.o \ + -L lib/$BUILD_DIR -lblas -lgfortran + ln -s liblapack.so.%{ver} lib/$BUILD_DIR/liblapack.so.%{ver_major} + ln -s liblapack.so.%{ver} lib/$BUILD_DIR/liblapack.so + rm -rf tmp + fi +done + + +%install +rm -rf $RPM_BUILD_ROOT +for TYPE in %{types}; do + EXTDIR=$TYPE + if [ "$TYPE" = "base" ]; then + EXTDIR="" + fi + + mkdir -p $RPM_BUILD_ROOT%{_libdir}/${EXTDIR} + mkdir -p $RPM_BUILD_ROOT%{_libdir}/atlas/${EXTDIR} + for LIB in libblas liblapack; do + if [ "$TYPE" = "base" ]; then + LIBS="lib/Linux_${TYPE}_static/$LIB.a lib/Linux_${TYPE}_shared/$LIB.so*" + else + LIBS="lib/Linux_${TYPE}_static/$LIB.a" + fi + cp -a $LIBS ${RPM_BUILD_ROOT}%{_libdir}/atlas/${EXTDIR} + done + for LIB in libatlas libcblas libf77blas liblapack_atlas; do + if [ "$TYPE" = "base" ]; then + LIBS="lib/Linux_${TYPE}_static/$LIB.a lib/Linux_${TYPE}_shared/$LIB.so*" + else + LIBS="lib/Linux_${TYPE}_static/$LIB.a" + fi + cp -a $LIBS ${RPM_BUILD_ROOT}%{_libdir}/${EXTDIR} + done +done + +mkdir -p $RPM_BUILD_ROOT%{_includedir}/atlas +cp -a include/*.h $RPM_BUILD_ROOT%{_includedir}/atlas + +mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d +echo "%{_libdir}/atlas" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/atlas-%{_arch}.conf + + + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%if "%{?enable_custom_atlas}" == "1" + +#%files custom +#%defattr(-,root,root,-) +#%doc debian/copyright doc/README.Fedora +#%dir %{_libdir}/custom +#%dir %{_libdir}/atlas/custom +#%{_libdir}/custom/*.so.* +#%{_libdir}/atlas/custom/*.so.* +#%config(noreplace) /etc/ld.so.conf.d/atlas-custom-%{_arch}.conf + +%files custom-devel +%defattr(-,root,root,-) +%doc debian/copyright doc +%dir %{_libdir}/custom +%dir %{_libdir}/atlas/custom +#%{_libdir}/custom/*.{a,so} +%{_libdir}/custom/*.a +#%{_libdir}/atlas/custom/*.{a,so} +%{_libdir}/atlas/custom/*.a +%{_includedir}/atlas +%exclude /etc/ld.so.conf.d/* + +%else + + +%files +%defattr(-,root,root,-) +%doc debian/copyright doc/README.Fedora +%dir %{_libdir}/atlas +%{_libdir}/*.so.* +%{_libdir}/*/*.so.* +#%{_libdir}/atlas/*/*.so.* +%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}.conf + +%files devel +%defattr(-,root,root,-) +%doc debian/copyright doc +%{_libdir}/*.a +%{_libdir}/*.so +%{_libdir}/atlas/*.a +%{_libdir}/atlas/*.so +%{_includedir}/atlas + +%ifarch i386 + +#%files sse +#%defattr(-,root,root,-) +#%doc debian/copyright doc/README.Fedora +#%dir %{_libdir}/sse +#%dir %{_libdir}/atlas/sse +#%{_libdir}/sse/*.so.* +#%{_libdir}/atlas/sse/*.so.* +#%config(noreplace) /etc/ld.so.conf.d/atlas-sse-%{_arch}.conf + +%files sse-devel +%defattr(-,root,root,-) +%doc debian/copyright doc +%dir %{_libdir}/sse +%dir %{_libdir}/atlas/sse +#%{_libdir}/sse/*.so +%{_libdir}/sse/*.a +#%{_libdir}/atlas/sse/*.so +%{_libdir}/atlas/sse/*.a +%{_includedir}/atlas + + +#%files sse2 +#%defattr(-,root,root,-) +#%doc debian/copyright doc/README.Fedora +#%dir %{_libdir}/sse2 +#%dir %{_libdir}/atlas/sse2 +#%{_libdir}/sse2/*.so.* +#%{_libdir}/atlas/sse2/*.so.* +#%config(noreplace) /etc/ld.so.conf.d/atlas-sse2-%{_arch}.conf + +%files sse2-devel +%defattr(-,root,root,-) +%doc debian/copyright doc +%dir %{_libdir}/sse2 +%dir %{_libdir}/atlas/sse2 +#%{_libdir}/sse2/*.so +%{_libdir}/sse2/*.a +#%{_libdir}/atlas/sse2/*.so +%{_libdir}/atlas/sse2/*.a +%{_includedir}/atlas + + +#%files 3dnow +#%defattr(-,root,root,-) +#%doc debian/copyright doc/README.Fedora +#%dir %{_libdir}/3dnow +#%dir %{_libdir}/atlas/3dnow +#%{_libdir}/3dnow/*.so.* +#%{_libdir}/atlas/3dnow/*.so.* +#%config(noreplace) /etc/ld.so.conf.d/atlas-3dnow-%{_arch}.conf + +%files 3dnow-devel +%defattr(-,root,root,-) +%doc debian/copyright doc +%dir %{_libdir}/3dnow +%dir %{_libdir}/atlas/3dnow +#%{_libdir}/3dnow/*.so +%{_libdir}/3dnow/*.a +#%{_libdir}/atlas/3dnow/*.so +%{_libdir}/atlas/3dnow/*.a +%{_includedir}/atlas + +%endif +%ifarch ppc + +#%files altivec +#%defattr(-,root,root,-) +#%doc debian/copyright doc/README.Fedora +#%dir %{_libdir}/altivec +#%dir %{_libdir}/atlas/altivec +#%{_libdir}/altivec/*.so.* +#%{_libdir}/atlas/altivec/*.so.* +#%config(noreplace) /etc/ld.so.conf.d/atlas-altivec-%{_arch}.conf + +%files altivec-devel +%defattr(-,root,root,-) +%doc debian/copyright doc +%dir %{_libdir}/altivec +%dir %{_libdir}/atlas/altivec +#%{_libdir}/altivec/*.so +%{_libdir}/altivec/*.a +#%{_libdir}/atlas/altivec/*.so +%{_libdir}/atlas/altivec/*.a +%{_includedir}/atlas + +%endif + +%endif + +%changelog +* Tue Oct 04 2005 Quentin Spencer 3.6.0-6 +- Fix buildroot, minor updates to description. + +* Wed Sep 28 2005 Quentin Spencer 3.6.0-5 +- fix files lists. + +* Mon Sep 26 2005 Quentin Spencer 3.6.0-4 +- generate library symlinks earlier for the benefit of later linking steps. + +* Wed Sep 14 2005 Quentin Spencer 3.6.0-3 +- Change lapack dependency to lapack-devel, and use lapack_pic.a for + building liblapack.so. + +* Wed Sep 14 2005 Quentin Spencer 3.6.0-2 +- Add "bit" macro to correctly build on x86_64. + +* Tue Aug 16 2005 Quentin Spencer 3.6.0-1 +- Initial version. diff --git a/sources b/sources index e69de29..4e642c9 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +df2ee2eb65d1c08ee93d04370172c262 atlas3.6.0.tar.bz2 +2c83d06ccba8495ecfcb3d277044c7bd atlas3_3.6.0-19.diff.gz