Update of /cvsroot/fink/experimental/jfmertens/main/finkinfo/sci
In directory sc8-pr-cvs17:/tmp/cvs-serv17018

Modified Files:
        atlas.info 
Removed Files:
        atlas.patch 
Log Message:
cleanup

--- atlas.patch DELETED ---

Index: atlas.info
===================================================================
RCS file: /cvsroot/fink/experimental/jfmertens/main/finkinfo/sci/atlas.info,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- atlas.info  30 Sep 2007 17:46:25 -0000      1.2
+++ atlas.info  9 Oct 2007 23:23:13 -0000       1.3
@@ -3,91 +3,103 @@
 Revision: 1
 Description: Portably optimal linear algebra software
 DescDetail: <<
-The current version provides a complete BLAS and LAPACK API. 
+The current version provides a complete BLAS and LAPACK API.
 For many operations, ATLAS achieves performance on par
 with machine-specific tuned libraries.
-Files installed:
-cblas.h       : The C header file for the C interface to the BLAS.
-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.
-When answering "yes" whether to enable threads, one gets also the threaded
-variants libptcblas.a and libptf77blas.a
+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. 
+with the full LAPACK from http://www.netlib.org/lapack.
 <<
 DescUsage: <<
-Order is important when linking!  Use:
--L%p/lib -llapack -lcblas -lf77blas -latlas 
-Must be run interactively (asks a lot of questions, use default answers
-unless you really know what you are doing). For "architecture" choose
-"UNKNOWN" if you have a G3.
+Order is important when linking! Use:
+-L%p/lib -llapack -lcblas -lf77blas -latlas
 <<
 Source: mirror:sourceforge:math-atlas/%n%v.tar.bz2
 Source-MD5: 5c3fb9a4c74e8426105558a23b2215ff
 Source2: http://www.netlib.org/lapack/lapack-3.1.1.tgz
 Source2-MD5: 00b21551a899bcfbaa7b8443e1faeef9
 License: BSD
-#Patch: %n.patch
+# since we're experimenting with building a dylib :
+BuildDependsOnly: true
 PatchScript: <<
-## perl -pi -e 's,faltivec,faltivec -save-temps,; s, \-j (2|%d),,' config.c
-## perl -pi -e 's, \-j (2|%d),,' config.c
-# perl -pi -e 's,ATL_(c|)prow2blkT\.c$,$& \-O2,' makes/Make.gpmm
-## no more config.c !
-# perl -pi -e 's|g77|gfortran|g' config.c
+#!/bin/sh -ev
 cd ..; ln -s lapack-3.1.1 LAPACK; cd -
 perl -pi -e 's|g77|gfortran|g' ../LAPACK/INSTALL/make.inc.LINUX
+perl -pi -e 's,\.\./\.\./blas\$\(PLAT\)\.a,%b/../bld/lib/libptf77blas.a 
%b/../bld/lib/libptcblas.a %b/../bld/lib/libatlas.a,' \
+       ../LAPACK/INSTALL/make.inc.LINUX
 <<
 BuildDepends: gcc42
 SourceDirectory: ATLAS
 CompileScript: <<
 #!/bin/sh -ev
- if [ %m = 'powerpc' ]; then n=`machine|sed -e 's,^ppc,,'`; cflags="-mcpu=$n 
-mtune=$n -faltivec"
-       elif [ %m = 'i386' ]; then cflags="-march=nocona"
-       else cflags=''
+ if [ %m = 'powerpc' ]; then n=`machine|sed -e 's,^ppc,,'`; mflags="-mcpu=$n 
-mtune=$n -faltivec -m32"
+       elif [ %m = 'i386' ]; then mflags="-march=nocona -mfpmath=sse,387 -msse 
-msse2 -msse3 -mmmx -m32"
+       else mflags=''
  fi
+ flags="-O3 -fomit-frame-pointer -fstrict-aliasing -freorder-blocks 
-fsched-interblock -fgcse-sm -fgcse-las -fgcse-after-reload $mflags"
  cd ../LAPACK
- sed -e "s|-funroll-all-loops -O3|-funroll-all-loops -O3 -fomit-frame-pointer 
-fstrict-aliasing $cflags|g" \
- -e 's,^TIMER,\#TIMER,' -e '/INT_ETIME/s,^\# *,,' < INSTALL/make.inc.LINUX > 
make.inc
- cd SRC
- make all
- mkdir -p ../../bld/lib; cd ../../bld
-# export ARCH=`ls -1t Make* | head -n1 | cut -f2 -d"."`
- cp ../LAPACK/lapack_LINUX.a lib/liblapack.a
- ../ATLAS/configure --with-netlib-lapack=lib/liblapack.a
-# mv Make.$ARCH Make.$ARCH.orig; sed 's|gcc|cc|g' < Make.$ARCH.orig > 
Make.$ARCH
+ sed -e "s;\(-funroll-all-loops\) -O3;\1 $flags;" -e 's,^TIMER,\#TIMER,' -e 
'/INT_ETIME/s,^\# *,,' \
+       < INSTALL/make.inc.LINUX > make.inc
+ make lapacklib
+ mkdir -p ../bld
+ cd ../bld
+ ../ATLAS/configure --prefix=%p 
--with-netlib-lapack=%b/../LAPACK/lapack_LINUX.a --cflags="$flags"
  make
- make test
- make pttest
- make time
+<<
+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 ; }
+<<
 <<
 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
- make install DESTDIR=%i
+ # 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 ?
+ cd lib
+ gfortran -dynamiclib -single_module -all_load -install_name 
%p/lib/libatlas.dylib -o libatlas.dylib \
+       liblapack.a libptf77blas.a libptcblas.a libatlas.a -Wl,-x -dead_strip -m
+ # now try to make an exported symbols list, then re-link and strip (makes 
only a 5% gain in size ..)
+ # not completely sure the symbols '^_[cf]atlas_' are not meant to be exported 
.. To be checked
+ nm -m libatlas.dylib|egrep -v 'undefined.*\(from'|cut -f4 -d' '|egrep -v 
'^_(ATL|atl|[cf]atlas)_' > lst
+ gfortran -dynamiclib -single_module -all_load -install_name 
%p/lib/libatlas.dylib -o libatlas.dylib \
+       liblapack.a libptf77blas.a libptcblas.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 how to remove that (except by issuing the ld command myself ..)
  cd -
- mkdir -p %i/lib
- mkdir -p %i/include
- mkdir -p %i/share/doc/%n
-# (export ARCH=`ls -1t Make* | head -n1 | cut -f2 -d"."`; ranlib 
lib/$ARCH/lib*a; cp lib/$ARCH/lib*a %i/lib)
- cp include/cblas.h %i/include
- cp doc/* %i/share/doc/%n
- cp README %i/share/doc/%n
- head -n29 bin/atlas_tee.c > %i/share/doc/%n/LICENSE
-<<
-PostInstScript: <<
- ranlib %p/lib/libatlas.a 
- ranlib %p/lib/libcblas.a
- ranlib %p/lib/libf77blas.a
- ranlib %p/lib/liblapack.a 
- ranlib %p/lib/libtstatlas.a 
- ranlib %p/lib/libptcblas.a || true
- ranlib %p/lib/libptf77blas.a || true
+ make install DESTDIR=%i
+ ranlib %i/lib/*.a
+ cp -p lib/*.dylib %i/lib
+ chmod -R a+rX %i/share
 <<
 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
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to