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

Reply via email to