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