# $Id$ PortSystem 1.0 categories math name atlas version 3.8.2 # additional versions set lapackversion 3.1.1 set lapackname lapack set atlasdist ${name}${version}.tar.bz2 set lapackdist ${lapackname}-${lapackversion}.tgz maintainers cornell.edu:ajb78 platforms darwin description Portable optimal linear algebra software long_description The current version provides a complete BLAS and LAPACK API.\ For many operations, ATLAS achieves performance on par with\ machine-specific tuned libraries. homepage http://math-atlas.sourceforge.net/ master_sites sourceforge:math-atlas/${name}${version}.tar.bz2:atlas\ http://www.netlib.org/lapack:lapack distfiles ${atlasdist}:atlas \ ${lapackdist}:lapack checksums ${atlasdist} \ md5 dd888f5d066c1fafeaaf2ae6b37e0b85 \ sha1 2d1f2f789f57c9e7e8957f275b67c33176a36e0c \ rmd160 8160ccb3af7cd7365ba87c77d636fb68b24c62ae \ ${lapackdist} \ md5 00b21551a899bcfbaa7b8443e1faeef9 \ sha1 be1a3d53d761935703a7be88c3dd1164daa79554 \ rmd160 ba864e7a2b759ba1337ea9a452e12a7ab5494cdc extract { # extract atlas and move to a consistent working directory name system "cd ${workpath} && bunzip2 -dc ${distpath}/${atlasdist} | \ gnutar --no-same-owner -xf -" system "mv ${workpath}/ATLAS ${workpath}/${name}-${version}" # extract lapack system "cd ${workpath} && gunzip -dc ${distpath}/${lapackdist} | \ gnutar --no-same-owner -xf -" } # Set fortran compiler flags set myf77 ${prefix}/bin/gfortran-mp-4.3 set myfflags "-fomit-frame-pointer -O3" pre-configure { # compile lapack system "cd ${workpath}/${lapackname}-${lapackversion} && \ cp INSTALL/make.inc.gfortran make.inc" reinplace "s|gfortran|${myf77}|" \ ${workpath}/${lapackname}-${lapackversion}/make.inc reinplace "s|OPTS = -O2|OPTS = ${myfflags}|" \ ${workpath}/${lapackname}-${lapackversion}/make.inc reinplace "s|PLAT = _LINUX|PLAT = _darwin|" \ ${workpath}/${lapackname}-${lapackversion}/make.inc system "cd ${workpath}/${lapackname}-${lapackversion} && make lib" # create a build directory for atlas file mkdir ${workpath}/${name}-${version}/build } # we are configuring from the build directory configure.dir ${workpath}/${name}-${version}/build configure.cmd ../configure # change the default compilers to those of gcc43 and make into shared library configure.args --with-netlib-lapack=${workpath}/${lapackname}-${lapackversion}/lapack_darwin.a \ -C xc ${prefix}/bin/gcc-mp-4.3 \ -C gc ${prefix}/bin/gcc-mp-4.3 \ -C if ${myf77}\ -F if '${myfflags}'\ -C ic ${prefix}/bin/gcc-mp-4.3 \ -C dm ${prefix}/bin/gcc-mp-4.3 \ -C sm ${prefix}/bin/gcc-mp-4.3 \ -C dk ${prefix}/bin/gcc-mp-4.3 \ -C sk ${prefix}/bin/gcc-mp-4.3 post-configure { # recursively remove directories reinplace "s|rm -f|rm -rf|g" ${workpath}/${name}-${version}/build/Makefile } use_parallel_build no build.target build build.dir ${workpath}/${name}-${version}/build destroot.dir ${build.dir} destroot.destdir DESTDIR=${destroot}${prefix} depends_lib port:gcc43