Update of /cvsroot/fink/experimental/jfmertens/main/finkinfo/sci
In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv858
Added Files:
atlas.info
Log Message:
fixes for uniprocessor machines and for some 64-bit machines
--- NEW FILE: atlas.info ---
Package: atlas
Version: 3.8.0
Revision: 4
Description: Portably optimal linear algebra software
DescDetail: <<
The current version provides a complete BLAS and LAPACK API.
For many operations, ATLAS achieves performance on par
with machine-specific tuned libraries.
Installs also LAPACK's docs and manpages.
Headers: cblas.h clapack.h, plus the atlas headers
Libraries installed:
liblapack.a : The LAPACK routines provided by ATLAS,
plus the rest of LAPACK from netlib.org.
libcblas.a : The ANSI C interface to the BLAS.
libf77blas.a : The Fortran77 interface to the BLAS.
libatlas.a : The main ATLAS library,
providing low-level routines for all interface libs.
Plus the threaded variants libptcblas.a and libptf77blas.a,
and an all-encompassing libatlas.dylib
<<
DescPort: <<
The optimized subset of LAPACK provided by ATLAS is merged
with the full LAPACK from http://www.netlib.org/lapack.
<<
DescUsage: <<
Order is important when linking! Use:
-L%p/lib -llapack -lcblas -lf77blas -latlas
<<
Source: mirror:sourceforge:math-atlas/%n%v.tar.bz2
Source-MD5: fd42a00f36243bf4815d035b226ec305
Source2: http://www.netlib.org/lapack/lapack-3.1.1.tgz
Source2-MD5: 00b21551a899bcfbaa7b8443e1faeef9
SourceDirectory: ATLAS
License: BSD
# since we're experimenting with building a dylib :
BuildDependsOnly: true
BuildDepends: gcc42, fink (>= 0.27.9)
## validator would like "fink (>= 0.27.99)", but then users complain.. Just
trying to get past the validator..
Depends: gcc42-shlibs
PatchScript: <<
#!/bin/sh -ev
## some users have problems with "rm -f" on dirs ...
# sed -i.bak -e '/rm -f \*\.o x\* config?\.out \*core\*/d' CONFIG/src/Makefile
###
# -ftree-loop-linear causes problems with xconfig.
# -fgcse-after-reload -fsched-interblock -freorder-blocks also _ though they're
implied by -O3 !
cd ..; ln -s lapack-3.1.1 LAPACK
cd LAPACK
sed -e 's|g77|gfortran|g' < INSTALL/make.inc.LINUX > make.inc
perl -pi -e 's,\.\./\.\./blas\$\(PLAT\)\.a,%b/../bld/lib/libptf77blas.a
%b/../bld/lib/libptcblas.a %b/../bld/lib/libatlas.a,' \
make.inc
<<
CompileScript: <<
#!/bin/sh -ev
if [ %m = 'i386' ]; then mflags="-mfpmath=sse -msse -msse2 -msse3 -m32";
iflags="-mfpmath=387"; else mflags=''; iflags=''; fi
lflags="-O3 -fomit-frame-pointer -fgcse-sm -fgcse-las -ftree-loop-linear
$mflags"
iflags="-O3 -fomit-frame-pointer $iflags"
cd ../LAPACK
sed -i.bak -e "s;\(-funroll-all-loops\) -O3;\1 $lflags;" -e
's,^TIMER,\#TIMER,' -e '/INT_ETIME/s,^\# *,,' make.inc
make lapacklib
# atlas 'forgets' scabs1 (not dcabs1 !), so we get it here..
cd BLAS/SRC; make scabs1.o; cd -
mkdir -p ../bld/lib
ar cr ../bld/lib/libf77blas.a BLAS/SRC/scabs1.o; ar cr
../bld/lib/libptf77blas.a BLAS/SRC/scabs1.o
cd ../bld
../ATLAS/configure -v 2 --prefix=%p
--with-netlib-lapack=%b/../LAPACK/lapack_LINUX.a -b 32 \
-C sk gcc-4 -C dk gcc-4 -C sm gcc-4 -C dm gcc-4 -C xc gcc-4 -C ic gcc-4
-F ic "$iflags" -F if "$iflags"
make
<<
InfoTest: <<
TestScript: <<
#!/bin/sh -ev
cd ../LAPACK
mv lapack_LINUX.a lapack_LINUX.a~; ln -s ../bld/lib/liblapack.a lapack_LINUX.a
make lapack_testing blas_testing
# to get timing uncluttered by compilation times, we'll repeat the tests at
the end of the log:
rm {BLAS,TESTING}/*.out
cd ../bld
make test pttest time
cd ../LAPACK
time { make blas_testing; cd TESTING; make ; }
# here: real 3m10.903s; user 2m55.622s; sys 0m15.570s (average of 3)
<<
<<
InstallScript: <<
#!/bin/sh -ev
mkdir -p %i/share/doc/%n/LAPACK
cp doc/* README %i/share/doc/%n
head -n29 bin/atlas_tee.c > %i/share/doc/%n/LICENSE
cp -pPR ../LAPACK/manpages/{blas/,}man %i/share
cp -pPR ../LAPACK/{html,COPYING,README} %i/share/doc/%n/LAPACK
ln -s html/index.html %i/share/doc/%n/LAPACK
cd ../bld/lib
# Apparently on some machines some of the threaded libs are not made;
# we first make atlas 'look the same' to all other pkgs, independently of the
machine
if test -f libptcblas.a
then for C in c f77; do
mv lib${C}blas.a lib${C}blas_unthreaded.a
ln -s libpt${C}blas.a lib${C}blas.a
done
else rm libptf77blas.a
for C in c f77; do ln -s lib${C}blas.a lib${C}blas_unthreaded.a;
done
fi
# we first make a shared lib; easier to just write the command here than to
fix lib/Makefile ...
# put this here to make sure it is after the testscript, else dylib might
affect timings.
# dylib just made to experiment; not sure this should stay.
# The '-m' flag at the end is dirty trick to get around an "undefined symbol"
for _MAIN__, from -lgfortranbegin;
# _ it swallows the immediately following -lgfortranbegin in the command
transmitted to /usr/bin/libtool ...
# There are no undefined symbols w/o "from ..." in the resulting dylib.
# Is it the -all_load flag that causes the symbol "_main" from
libgfortranbegin.a to be loaded ?
###
# for now, we make an exported symbols list out of the external symbols of
liblapack, libptcblas and libptf77blas
nm -mfg liblapack.a libf77blas.a libcblas.a|fgrep ' (__TEXT,__text) external
'|cut -f4 -d' ' > lst
gfortran -dynamiclib -single_module -all_load -install_name
%p/lib/liblapack_atlas.dylib -o liblapack_atlas.dylib \
liblapack.a libf77blas.a libcblas.a libatlas.a -Wl,-x -dead_strip
-exported_symbols_list lst -m
# lib still has %p/lib/gcc4.2/lib/libgcc_s.1.dylib unnecessarily among its
load commands _
# don't know yet how to remove that cleanly (except by issuing the ld command
myself ..)
#### changed the dylib's name from libatlas to something un-recognisable,
#### to prevent octave linking with it, and becoming a different pkg
cd ..
make install DESTDIR=%i
ranlib %i/lib/*.a
cp -p lib/*.dylib %i/lib
chmod -R a+rX %i/share
<<
Shlibs: !%p/lib/liblapack_%n.dylib
SplitOff: <<
Package: %N-doc
Files: share/man share/doc/%N/LAPACK
InstallScript: mkdir -p %i/share/doc; ln -s %N %i/share/doc/%n
<<
Homepage: http://math-atlas.sourceforge.net
Maintainer: Jeffrey Whitaker <[EMAIL PROTECTED]>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Fink-commits mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.cvs