Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37568093
en ru br
Репозитории ALT
5.1: 3.7.11-alt6
4.1: 3.7.11-alt5
4.0: 3.7.11-alt5
www.altlinux.org/Changes

Группа :: Система/Библиотеки
Пакет: atlas

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Name: atlas
Version: 3.7.11
Release: alt5

Summary: Automatically Tuned Linear Algebra Software (the BLAS library)
License: BSD
Group: System/Libraries

URL: http://math-atlas.sourceforge.net
Source: %name-%version.tar
Patch: %name-%version-%release.patch

ExclusiveArch: %ix86 amd64 x86_64

# Automatically added by buildreq on Fri Dec 08 2006

BuildRequires: gcc-fortran

%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.

%prep
%setup -q -n ATLAS
%patch -p1
ln -s atlas.mk Make.Linux_i586
ln -s atlas.mk Make.Linux_sse2
ln -s atlas.mk Make.Linux_amd64
chmod +x atlas-run.sh
ln -s ../atlas-run.sh CONFIG/ATLrun.Linux_i586
ln -s ../atlas-run.sh CONFIG/ATLrun.Linux_sse2
ln -s ../atlas-run.sh CONFIG/ATLrun.Linux_amd64

%build
%add_optflags -fPIC -falign-loops=4
%add_optflags -mfpmath=387
%define soffix .so.3
shared()
{
lib=$1; shift
${linker:-gcc} -shared -Wl,--whole-archive $lib.a -Wl,--no-whole-archive \
-o $lib%soffix -Wl,-soname=$lib%soffix "$ at " -lm -Wl,-z,defs
}
all_shared()
{
cd $1
linker=gcc shared libatlas
linker=gcc shared libcblas ./libatlas%soffix
linker=g77 shared libblas ./libatlas%soffix
linker=g77 shared liblapack_atlas ./libatlas%soffix ./libblas%soffix ./libcblas%soffix
cd -
}

%ifarch %ix86
make killall startup arch=Linux_i586
make install sanity_test arch=Linux_i586 ARCHDEFS='-DATL_OS_Linux -DATL_GAS_x8632' \
MMDEF=$PWD/CONFIG/ARCHS/PII/gcc/gemm ARCHDEF=$PWD/CONFIG/ARCHS/PII/gcc/misc
all_shared lib/Linux_i586
make killall startup arch=Linux_sse2
make install sanity_test arch=Linux_sse2 ARCHDEFS='-DATL_OS_Linux -DATL_GAS_x8632 -DATL_ARCH_HAMMER32 -DATL_SSE1 -DATL_SSE2' \
MMDEF=$PWD/CONFIG/ARCHS/HAMMER32SSE2/gcc/gemm ARCHDEF=$PWD/CONFIG/ARCHS/HAMMER32SSE2/gcc/misc
all_shared lib/Linux_sse2
%else
make killall startup arch=Linux_amd64
make install sanity_test arch=Linux_amd64 ARCHDEFS='-DATL_OS_Linux -DATL_GAS_x8664 -DATL_ARCH_HAMMER64 -DATL_SSE1 -DATL_SSE2 -DATL_USE64BITS' \
MMDEF=$PWD/CONFIG/ARCHS/HAMMER64SSE2/gcc/gemm ARCHDEF=$PWD/CONFIG/ARCHS/HAMMER64SSE2/gcc/misc
all_shared lib/Linux_amd64
%endif

%install
mkdir -p %buildroot%_libdir %buildroot%_includedir/atlas
cp -p include/*.h %buildroot%_includedir/atlas/
ln -s atlas/cblas.h %buildroot%_includedir/cblas.h
ln -s atlas/clapack.h %buildroot%_includedir/clapack.h

%ifarch %ix86
cp -p include/Linux_i586/atlas*.h %buildroot%_includedir/atlas/
cp -p lib/Linux_i586/lib*%soffix %buildroot%_libdir/
cp -p lib/Linux_i586/lib*.a %buildroot%_libdir/
mkdir %buildroot%_libdir/sse2
cp -p lib/Linux_sse2/libatlas%soffix %buildroot%_libdir/sse2/
%else
cp -p include/Linux_amd64/atlas*.h %buildroot%_includedir/atlas/
cp -p lib/Linux_amd64/lib*%soffix %buildroot%_libdir/
cp -p lib/Linux_amd64/lib*.a %buildroot%_libdir/
%endif

ln -s libatlas%soffix %buildroot%_libdir/libatlas.so
ln -s libcblas%soffix %buildroot%_libdir/libcblas.so
ln -s libblas%soffix %buildroot%_libdir/libblas.so
ln -s libblas%soffix %buildroot%_libdir/libf77blas.so
ln -s liblapack_atlas%soffix %buildroot%_libdir/liblapack_atlas.so

mv %buildroot%_libdir/libatlas{,_}.a
echo 'GROUP(%_libdir/libatlas_.a -lm)' >%buildroot%_libdir/libatlas.a
mv %buildroot%_libdir/libcblas{,_}.a
echo 'GROUP(%_libdir/libcblas_.a %_libdir/libatlas.a)' >%buildroot%_libdir/libcblas.a
mv %buildroot%_libdir/libblas{,_}.a
echo 'GROUP(%_libdir/libblas_.a %_libdir/libatlas.a -lgfortran)' >%buildroot%_libdir/libblas.a
ln -s libblas.a %buildroot%_libdir/libf77blas.a
mv %buildroot%_libdir/liblapack_atlas{,_}.a
echo 'GROUP(%_libdir/liblapack_atlas_.a %_libdir/libcblas.a %_libdir/libblas.a)' >%buildroot%_libdir/liblapack_atlas.a

%define pkgdocdir %_docdir/atlas-3.7
mkdir -p %buildroot%pkgdocdir
cp -p README.ALT %buildroot%pkgdocdir/
cp -p doc/AtlasCredits.txt doc/ChangeLog doc/LibReadme.txt %buildroot%pkgdocdir/
cp -p doc/atlas_{contrib,devel,over}.ps doc/cblas.ps %buildroot%pkgdocdir/
gzip -9nf %buildroot%pkgdocdir/*.ps
%ifarch %ix86
cp -p bin/Linux_i586/INSTALL_LOG/SUMMARY.LOG %buildroot%pkgdocdir/SUMMARY.LOG
cp -p bin/Linux_sse2/INSTALL_LOG/SUMMARY.LOG %buildroot%pkgdocdir/SUMMARY.LOG.SSE2
%else
cp -p bin/Linux_amd64/INSTALL_LOG/SUMMARY.LOG %buildroot%pkgdocdir/SUMMARY.LOG
%endif

%package -n libatlas
Summary: Automatically Tuned Linear Algebra Software (the BLAS library)
Group: System/Libraries
Conflicts: liblapack < 1:3.0-alt3

%description -n libatlas
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.

%files -n libatlas
%_libdir/lib*%soffix
%ifarch %ix86
%dir %_libdir/sse2
%_libdir/sse2/libatlas%soffix
%endif
%dir %pkgdocdir
%pkgdocdir/README.ALT
%pkgdocdir/*.txt
%pkgdocdir/ChangeLog
%pkgdocdir/SUMMARY.LOG*

%post -n libatlas -p %post_ldconfig
%postun -n libatlas -p %post_ldconfig

%package -n libatlas-devel
Summary: Automatically Tuned Linear Algebra Software (the BLAS library)
Group: Development/Other
Requires: libatlas = %version-%release

%description -n libatlas-devel
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.

%files -n libatlas-devel
%_libdir/*.so
%_includedir/cblas.h
%_includedir/clapack.h
%dir %_includedir/atlas
%_includedir/atlas/*.h

%package -n libatlas-devel-static
Summary: Automatically Tuned Linear Algebra Software (the BLAS library)
Group: Development/Other
Requires: libatlas-devel = %version-%release
Requires: libgfortran-devel-static

%description -n libatlas-devel-static
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.

%files -n libatlas-devel-static
%_libdir/lib*.a
%exclude %_libdir/libtstatlas.a

%package doc
Summary: Automatically Tuned Linear Algebra Software (the BLAS library)
Group: Development/Other
Requires: libatlas = %version-%release

%description doc
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.

%files doc
%dir %pkgdocdir
%pkgdocdir/*.ps.gz

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin