rpms/atlas/devel atlas-fedora_shared.patch, NONE, 1.1 .cvsignore, 1.3, 1.4 README.Fedora, 1.2, 1.3 atlas.spec, 1.11, 1.12 sources, 1.3, 1.4 atlas-3.6.0-gfortran.patch, 1.1, NONE atlas-3.6.0-ia64-configure.patch, 1.1, NONE
Deji Akingunola
deji at fedoraproject.org
Tue Dec 16 05:20:44 UTC 2008
- Previous message (by thread): rpms/cairo-dock/devel .cvsignore, 1.80, 1.81 cairo-dock.spec, 1.101, 1.102 sources, 1.80, 1.81
- Next message (by thread): rpms/suitesparse/devel .cvsignore, 1.3, 1.4 sources, 1.3, 1.4 suitesparse.spec, 1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: deji
Update of /cvs/pkgs/rpms/atlas/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5040
Modified Files:
.cvsignore README.Fedora atlas.spec sources
Added Files:
atlas-fedora_shared.patch
Removed Files:
atlas-3.6.0-gfortran.patch atlas-3.6.0-ia64-configure.patch
Log Message:
Update to 3.8.2
atlas-fedora_shared.patch:
--- NEW FILE atlas-fedora_shared.patch ---
--- makes/Make.lib 2008-06-06 20:57:46.000000000 -0400
+++ makes/Make.lib.new 2008-09-01 11:12:11.000000000 -0400
@@ -3,6 +3,8 @@
#
# override with libatlas.so only when atlas is built to one lib
#
+so_ver_major=3
+so_ver = $(so_ver_major).0
DYNlibs = liblapack.so libf77blas.so libcblas.so libatlas.so
PTDYNlibs = liblapack.so libptf77blas.so libptcblas.so libatlas.so
CDYNlibs = liblapack.so libcblas.so libatlas.so
@@ -32,38 +34,63 @@
mv $(tarnam).tar.gz $(tarnam).tgz
ptshared :
- - rm -f libatlas.so liblapack.so
+ - rm -f libatlas.so* liblapack.so* \
+ lib*blas.so* libclapack.so*
$(MAKE) libatlas.so liblapack.so libptf77blas.so libf77blas.so \
- libptcblas.so libcblas.so liblapack.so
+ libptcblas.so libcblas.so libclapack.so
shared :
- - rm -f libatlas.so liblapack.so
- $(MAKE) libatlas.so liblapack.so libf77blas.so libcblas.so liblapack.so
+ - rm -f libatlas.so liblapack.so \
+ libatlas.so.$(so_ver) liblapack.so.$(so_ver)
+ $(MAKE) libatlas.so liblapack.so libf77blas.so libcblas.so libclapack.so
cptshared :
- - rm -f libatlas.so libclapack.so
+ - rm -f libatlas.so libclapack.so \
+ libatlas.so.$(so_ver) libclapack.so.$(so_ver)
$(MAKE) libatlas.so libclapack.so libptcblas.so libcblas.so
cshared :
- - rm -f libatlas.so libclapack.so
+ - rm -f libatlas.so libclapack.so \
+ libatlas.so.$(so_ver) libclapack.so.$(so_ver)
$(MAKE) libatlas.so libclapack.so libcblas.so
libatlas.so : libatlas.a
- ld $(LDFLAGS) -shared -soname libatlas.so -o libatlas.so \
+ ld $(LDFLAGS) --build-id -shared -soname libatlas.so.$(so_ver_major) \
+ -o libatlas.so.$(so_ver) \
--whole-archive libatlas.a --no-whole-archive -lc $(LIBS)
+ ln -s ./libatlas.so.$(so_ver) libatlas.so.$(so_ver_major)
+ ln -s ./libatlas.so.$(so_ver) libatlas.so
liblapack.so : liblapack.a
- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive \
+ ld $(LDFLAGS) --build-id -shared -soname liblapack.so.$(so_ver_major) \
+ -o liblapack.so.$(so_ver) --whole-archive \
liblapack.a --no-whole-archive $(F77SYSLIB)
+ ln -s ./liblapack.so.$(so_ver) liblapack.so.$(so_ver_major)
+ ln -s ./liblapack.so.$(so_ver) liblapack.so
libclapack.so : libclapack.a
- ld $(LDFLAGS) -shared -soname liblapack.so -o liblapack.so \
+ ld $(LDFLAGS) --build-id -shared -soname libclapack.so.$(so_ver_major) \
+ -o libclapack.so.$(so_ver) \
--whole-archive libclapack.a
+ ln -s ./libclapack.so.$(so_ver) libclapack.so.$(so_ver_major)
+ ln -s ./libclapack.so.$(so_ver) libclapack.so
libptf77blas.so : libptf77blas.a
- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libptf77blas.a \
+ ld $(LDFLAGS) --build-id -shared -soname libptf77blas.so.$(so_ver_major) \
+ -o libptf77blas.so.$(so_ver) --whole-archive libptf77blas.a \
--no-whole-archive $(F77SYSLIB)
+ ln -s ./libptf77blas.so.$(so_ver) libptf77blas.so.$(so_ver_major)
+ ln -s ./libptf77blas.so.$(so_ver) libptf77blas.so
libf77blas.so : libf77blas.a
- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libf77blas.a \
+ ld $(LDFLAGS) --build-id -shared -soname libf77blas.so.$(so_ver_major) \
+ -o libf77blas.so.$(so_ver) --whole-archive libf77blas.a \
--no-whole-archive $(F77SYSLIB)
+ ln -s ./libf77blas.so.$(so_ver) libf77blas.so.$(so_ver_major)
+ ln -s ./libf77blas.so.$(so_ver) libf77blas.so
libptcblas.so : libptcblas.a
- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libptcblas.a
+ ld $(LDFLAGS) --build-id -shared -soname libptcblas.so.$(so_ver_major) \
+ -o libptcblas.so.$(so_ver) --whole-archive libptcblas.a
+ ln -s ./libptcblas.so.$(so_ver) libptcblas.so.$(so_ver_major)
+ ln -s ./libptcblas.so.$(so_ver) libptcblas.so
libcblas.so : libcblas.a
- ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libcblas.a
+ ld $(LDFLAGS) --build-id -shared -soname libcblas.so.$(so_ver_major) \
+ -o libcblas.so.$(so_ver) --whole-archive libcblas.a
+ ln -s ./libcblas.so.$(so_ver) libcblas.so.$(so_ver_major)
+ ln -s ./libcblas.so.$(so_ver) libcblas.so
#
# Builds one shared lib from all ATLAS files
#
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/atlas/devel/.cvsignore,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- .cvsignore 5 Oct 2005 17:31:36 -0000 1.3
+++ .cvsignore 16 Dec 2008 05:20:14 -0000 1.4
@@ -1,2 +1 @@
-atlas3.6.0.tar.bz2
-atlas3_3.6.0-20.diff.gz
+atlas3.8.2.tar.bz2
Index: README.Fedora
===================================================================
RCS file: /cvs/pkgs/rpms/atlas/devel/README.Fedora,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- README.Fedora 5 Oct 2005 17:09:24 -0000 1.2
+++ README.Fedora 16 Dec 2008 05:20:14 -0000 1.3
@@ -1,8 +1,10 @@
-Notes on the Fedora Extras version of ATLAS
+Notes on the Fedora version of ATLAS
by Quentin Spencer
updated: October 4, 2005
+updated by Deji Akingunola
+October 15, 2008
Because ATLAS relies on compile-time optimizations to obtain improved
performance over BLAS and LAPACK, the resulting binaries are closely
@@ -21,45 +23,33 @@
quite possibly different from other available hardware in the build
system.
-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
+As of version 3.8.2 (in Fedora), ATLAS builds uses achitectural defaults,
+are partial results of past searches when the compiler and architecture
+are known, to discover the appropriate kernels used to build all the required
+libraries. They make install time quicker and also ensure that good results are
+obtained, since they typically represent several searches and/or user
+intervention into the usual search so that maximum performance is found.
+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).
+standard ones (they are installed in /usr/lib{64}/atlas* rather than
+/usr/lib{64}).
+
+For i386 systems, 3 ATLAS subpackages are built for SSE1, SSE2, and SSE3 ix86
+extensions, using architectural defaults obtained from PIII, Pentium 4 with
+SSE2 extension and PENTIUM 4 with SSE3 extensions respectively.
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
+by setting the RPM macro "enable_native_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
+rpmbuild -D "enable_native_atlas 1" --rebuild atlas-3.8.2-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.
+This will cause the ATLAS build to use the achitectural default most
+appropriate for the system on which the package is to be built.
Index: atlas.spec
===================================================================
RCS file: /cvs/pkgs/rpms/atlas/devel/atlas.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- atlas.spec 6 May 2008 20:44:34 -0000 1.11
+++ atlas.spec 16 Dec 2008 05:20:14 -0000 1.12
@@ -1,6 +1,8 @@
+%define enable_native_atlas 0
+
Name: atlas
-Version: 3.6.0
-Release: 15%{?dist}
+Version: 3.8.2
+Release: 2%{?dist}
Summary: Automatically Tuned Linear Algebra Software
Group: System Environment/Libraries
@@ -8,18 +10,10 @@
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}-20.diff.gz
-Patch1: %{name}-%{version}-gfortran.patch
-Patch2: %{name}-%{version}-ia64-configure.patch
+Patch0: atlas-fedora_shared.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
+BuildRequires: gcc-gfortran lapack-devel
%description
The ATLAS (Automatically Tuned Linear Algebra Software) project is an
@@ -37,8 +31,6 @@
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
@@ -48,465 +40,249 @@
This package contains the static libraries and headers for development
with ATLAS (Automatically Tuned Linear Algebra Software).
+%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 3DNow extensions to ix86 and AltiVec
-# extensions to PowerPC.
+# are created for SSE, SSE2, and SSE3 extensions to ix86.
%ifarch i386
-%define archt i386
-%define types base sse sse2 3dnow
+%define types sse sse2 sse3
%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
-Software) libraries compiled with optimizations for the SSE extensions
-to the ix86 architecture.
+Software) libraries compiled with optimizations for the SSE(1) extensions
+to the ix86 architecture. Fedora also produces ATLAS build with SSE2 and SSE3
+extensions.
+
%package sse-devel
Summary: Development libraries for ATLAS with SSE extensions
Group: Development/Libraries
Requires: %{name}-sse = %{version}-%{release}
+Obsoletes: %{name}-3dnow-devel < 3.7
+Provides: %{name}-3dnow-devel = %{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.
-
+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
Software) libraries compiled with optimizations for the SSE2
-extensions to the ix86 architecture.
+extensions to the ix86 architecture. Fedora also produces ATLAS build with
+SSE(1) and SSE3 extensions.
+
%package sse2-devel
Summary: Development libraries for ATLAS with SSE2 extensions
Group: Development/Libraries
Requires: %{name}-sse2 = %{version}-%{release}
+Obsoletes: %{name}-devel < 3.7
+Provides: %{name}-devel = %{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
+%package sse3
Summary: ATLAS libraries for 3DNow extensions
Group: System Environment/Libraries
-%description 3dnow
+
+%description sse3
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
+Software) libraries compiled with optimizations for the SSE3.
+Fedora also produces ATLAS build with SSE(1) and SSE2 extensions.
+
+%package sse3-devel
Summary: Development libraries for ATLAS with 3DNow extensions
Group: Development/Libraries
-Requires: %{name}-3dnow = %{version}-%{release}
-%description 3dnow-devel
+Requires: %{name}-sse3 = %{version}-%{release}
+
+%description sse3-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.
-
+optimizations for the sse3 extensions to the ix86 architecture.
%endif
-%ifarch ppc ppc64
-%define archt powerpc
-%define types base
-
-%endif
-%ifarch x86_64
-%define archt amd64
-%define types base
-%define bit 2
-%else
-%define bit 1
%endif
-%ifarch alpha
-%define archt alpha
-%define types base
-%endif
-
-%ifarch alphaev6
-%define archt alpha
-%define types ev6
-%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.
+%ifarch x86_64 ppc64
+%define mode 64
+%else
+%define mode 32
%endif
-
%prep
%setup -q -n ATLAS
-%patch0 -p1
-%patch1 -p0
-%patch2 -p1
+%patch0 -p0 -b .shared
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=atlas-$TYPE-%{archt}
- if [ -a %{_sourcedir}/$BUILD_DATA_DIR.tgz ]; then
- tar zxf %{_sourcedir}/$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 %{_sourcedir}/${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 fpic="-Wa,--noexecstack" 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 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_pic.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="-Wa,--noexecstack -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
+for type in %{types}; do
+ if [ "$type" = "base" ]; then
+ libname=atlas
+ else
+ libname=atlas-${type}
+ fi
+ mkdir -p %{_arch}_${type}
+ pushd %{_arch}_${type}
+ ../configure -b %{mode} -D c -DWALL -Fa alg '-Wa,--noexecstack -fPIC'\
+ --prefix=%{buildroot}%{_prefix} \
+ --incdir=%{buildroot}%{_includedir} \
+ --libdir=%{buildroot}%{_libdir}/${libname} \
+ --with-netlib-lapack=%{_libdir}/liblapack_pic.a
+
+ if [ "$type" = "sse" ]; then
+ sed -i 's#ARCH =.*#ARCH = PIII32SSE1#' Make.inc
+ sed -i 's#-DATL_SSE3 -DATL_SSE2##' Make.inc
+ elif [ "$type" = "sse2" ]; then
+ sed -i 's#ARCH =.*#ARCH = P432SSE2#' Make.inc
+ sed -i 's#-DATL_SSE3##' Make.inc
+ elif [ "$type" = "sse3" ]; then
+ sed -i 's#ARCH =.*#ARCH = P4E32SSE3#' Make.inc
+ fi
+ make build
+ cd lib
+ make shared
+ make ptshared
+ popd
done
-
%install
-rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
-mkdir -p $RPM_BUILD_ROOT%{_includedir}/atlas
-cp -a include/*.h $RPM_BUILD_ROOT%{_includedir}/atlas
-
-LIBNAMES="libatlas libcblas libf77blas liblapack_atlas libblas liblapack"
-for TYPE in %{types}; do
- if [ "$TYPE" = "base" ]; then
- EXTDIR="atlas"
- echo "%{_libdir}/atlas" \
- > $RPM_BUILD_ROOT/etc/ld.so.conf.d/atlas-%{_arch}.conf
- elif [ "$TYPE" = "custom" ]; then
- EXTDIR="atlas-custom"
- echo "%{_libdir}/atlas-custom" \
- > $RPM_BUILD_ROOT/etc/ld.so.conf.d/atlas-custom-%{_arch}.conf
- else
- EXTDIR=$TYPE
- if [ "$TYPE" != "sse2" ]; then
- echo "/usr/lib/$TYPE" \
- > $RPM_BUILD_ROOT/etc/ld.so.conf.d/atlas-$TYPE.conf
- fi
- fi
-
- mkdir -p $RPM_BUILD_ROOT%{_libdir}/${EXTDIR}
- for LIB in $LIBNAMES; do
- LIBS="lib/Linux_${TYPE}_static/$LIB.a lib/Linux_${TYPE}_shared/$LIB.so*"
- cp -a $LIBS ${RPM_BUILD_ROOT}%{_libdir}/${EXTDIR}
- done
+rm -rf %{buildroot}
+for type in %{types}; do
+ pushd %{_arch}_${type}
+ make DESTDIR=%{buildroot} install
+ if [ "$type" = "base" ]; then
+ cp -pr lib/*.so* %{buildroot}%{_libdir}/atlas/
+ else
+ cp -pr lib/*.so* %{buildroot}%{_libdir}/atlas-${type}/
+ fi
+ popd
+
+ mkdir -p %{buildroot}/etc/ld.so.conf.d
+ if [ "$type" = "base" ]; then
+ echo "%{_libdir}/atlas" \
+ > %{buildroot}/etc/ld.so.conf.d/atlas-%{_arch}.conf
+ else
+ echo "%{_libdir}/atlas-${type}" \
+ > %{buildroot}/etc/ld.so.conf.d/atlas-${type}.conf
+ fi
done
-
-
+%ifarch i386 && %if "%{?enable_native_atlas}" == "0"
+pushd %{buildroot}%{_libdir}
+ ln -s ./atlas-sse2 atlas
+popd
+%endif
%clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
+
+%ifnarch i386 || %if "%{?enable_native_atlas}" == "1"
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%ifarch i386
-
-%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-3dnow -p /sbin/ldconfig
-
-%postun -n atlas-3dnow -p /sbin/ldconfig
-
-%endif
-%if "%{?enable_custom_atlas}" == "1"
-
-%post -n atlas-custom -p /sbin/ldconfig
-
-%postun -n atlas-custom -p /sbin/ldconfig
-
-%files custom
-%defattr(-,root,root,-)
-%doc debian/copyright doc/README.Fedora
-%dir %{_libdir}/atlas-custom
-%{_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}/atlas-custom
-%{_libdir}/atlas-custom/*.so
-%{_libdir}/atlas-custom/*.a
-%{_includedir}/atlas
-
-%else
-
-
%files
%defattr(-,root,root,-)
-%doc debian/copyright doc/README.Fedora
+%doc doc/README.Fedora
%dir %{_libdir}/atlas
%{_libdir}/atlas/*.so.*
%config(noreplace) /etc/ld.so.conf.d/atlas-%{_arch}.conf
%files devel
%defattr(-,root,root,-)
-%doc debian/copyright doc
+%doc doc
%{_libdir}/atlas/*.so
%{_libdir}/atlas/*.a
%{_includedir}/atlas
+%{_includedir}/*.h
-%ifarch i386
+%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
+
+%post -n atlas-sse3 -p /sbin/ldconfig
+
+%postun -n atlas-sse3 -p /sbin/ldconfig
%files sse
%defattr(-,root,root,-)
-%doc debian/copyright doc/README.Fedora
-%dir %{_libdir}/sse
-%{_libdir}/sse/*.so.*
+%doc doc/README.Fedora
+%dir %{_libdir}/atlas-sse
+%{_libdir}/atlas-sse/*.so.*
%config(noreplace) /etc/ld.so.conf.d/atlas-sse.conf
%files sse-devel
%defattr(-,root,root,-)
-%doc debian/copyright doc
-%dir %{_libdir}/sse
-%{_libdir}/sse/*.so
-%{_libdir}/sse/*.a
+%doc doc
+%{_libdir}/atlas-sse/*.so
+%{_libdir}/atlas-sse/*.a
%{_includedir}/atlas
-
+%{_includedir}/*.h
%files sse2
%defattr(-,root,root,-)
-%doc debian/copyright doc/README.Fedora
-%dir %{_libdir}/sse2
-%{_libdir}/sse2/*.so.*
+%doc doc/README.Fedora
+%dir %{_libdir}/atlas-sse2
+%dir %{_libdir}/atlas
+%{_libdir}/atlas-sse2/*.so.*
+%config(noreplace) /etc/ld.so.conf.d/atlas-sse2.conf
%files sse2-devel
%defattr(-,root,root,-)
-%doc debian/copyright doc
-%dir %{_libdir}/sse2
-%{_libdir}/sse2/*.so
-%{_libdir}/sse2/*.a
+%doc doc
+%{_libdir}/atlas-sse2/*.so
+%{_libdir}/atlas-sse2/*.a
%{_includedir}/atlas
+%{_includedir}/*.h
-
-%files 3dnow
+%files sse3
%defattr(-,root,root,-)
-%doc debian/copyright doc/README.Fedora
-%dir %{_libdir}/3dnow
-%{_libdir}/3dnow/*.so.*
-%config(noreplace) /etc/ld.so.conf.d/atlas-3dnow.conf
+%doc doc/README.Fedora
+%dir %{_libdir}/atlas-sse3
+%{_libdir}/atlas-sse3/*.so.*
+%config(noreplace) /etc/ld.so.conf.d/atlas-sse3.conf
-%files 3dnow-devel
+%files sse3-devel
%defattr(-,root,root,-)
-%doc debian/copyright doc
-%dir %{_libdir}/3dnow
-%{_libdir}/3dnow/*.so
-%{_libdir}/3dnow/*.a
+%doc doc
+%{_libdir}/atlas-sse3/*.so
+%{_libdir}/atlas-sse3/*.a
%{_includedir}/atlas
+%{_includedir}/*.h
%endif
-%ifarch ppc ppc64
-%endif
+%changelog
+* Sat Dec 13 2008 Deji Akingunola <dakingun at gmail.com> - 3.8.2-2
+- Properly obsolete/provide older subpackages that are no longer packaged.
-%endif
+* Mon Sep 01 2008 Deji Akingunola <dakingun at gmail.com> - 3.8.2-1
+- Upgrade to ver 3.8.2 with refined build procedures.
-%changelog
* Thu Feb 28 2008 Quentin Spencer <qspencer at users.sourceforge.net> 3.6.0-15
- Disable altivec package--it is causing illegal instructions during build.
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/atlas/devel/sources,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- sources 5 Oct 2005 17:31:36 -0000 1.3
+++ sources 16 Dec 2008 05:20:14 -0000 1.4
@@ -1,2 +1 @@
-df2ee2eb65d1c08ee93d04370172c262 atlas3.6.0.tar.bz2
-5e9d32bfba9f936cd538266b15f87a40 atlas3_3.6.0-20.diff.gz
+dd888f5d066c1fafeaaf2ae6b37e0b85 atlas3.8.2.tar.bz2
--- atlas-3.6.0-gfortran.patch DELETED ---
--- atlas-3.6.0-ia64-configure.patch DELETED ---
- Previous message (by thread): rpms/cairo-dock/devel .cvsignore, 1.80, 1.81 cairo-dock.spec, 1.101, 1.102 sources, 1.80, 1.81
- Next message (by thread): rpms/suitesparse/devel .cvsignore, 1.3, 1.4 sources, 1.3, 1.4 suitesparse.spec, 1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list