# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id: Portfile 146235 2016-03-01 23:25:16Z sean@macports.org $ PortSystem 1.0 PortGroup mpi 1.0 name superlu_dist version 4.3 revision 1 categories math license BSD platforms darwin maintainers sean openmaintainer description A package for solving linear equations long_description SuperLU is a general purpose library for the direct \ solution of large, sparse, nonsymmetric systems of \ linear equations on high performance machines. homepage http://crd-legacy.lbl.gov/~xiaoye/SuperLU master_sites ${homepage} distname ${name}_${version} worksrcdir SuperLU_DIST_${version} checksums rmd160 7fd929f6a30b3c121af9894846df17f8b366fff0 \ sha256 daffdb64386c7d970d7f591d0be3cd3441e60bc3453365b0badfd364d2452db2 compilers.choose cc cxx mpi.setup require depends_lib port:parmetis patchfiles-append patch-remove-duplicate-symbols.diff use_configure no configure.cflags -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -O3 -mtune=native configure.cxxflags ${configure.cflags} build.target lib build.args LAAUX="smach.o dmach.o" post-extract { reinplace "s|^DSuperLUroot.*$|DSuperLUroot = ${worksrcpath}|" ${worksrcpath}/make.inc reinplace "s|^ PARMETIS_DIR.*$|PARMETIS_DIR = ${prefix}|" ${worksrcpath}/make.inc reinplace "s|^PARMETISLIB.*$|PARMETISLIB = -L${prefix}/lib -lparmetis|" ${worksrcpath}/make.inc reinplace "s|^METISLIB.*$|METISLIB = -L${prefix}/lib -lmetis|" ${worksrcpath}/make.inc reinplace "s|^IMPI.*$||" ${worksrcpath}/make.inc reinplace "s|^CC.*$|CC = ${mpi.cc}|" ${worksrcpath}/make.inc reinplace "s|^CFLAGS.*$|CFLAGS = ${configure.cflags} \\\\|" ${worksrcpath}/make.inc reinplace "s|^BLASLIB.*$|BLASLIB = -framework Accelerate -framework vecLib|" ${worksrcpath}/make.inc reinplace "s|supermatrix\.h|supermatrix_dist\.h|" ${worksrcpath}/SRC/superlu_defs.h file rename ${worksrcpath}/SRC/supermatrix.h ${worksrcpath}/SRC/supermatrix_dist.h } post-build { # make shared libraries system -W ${worksrcpath}/SRC "${mpi.cc} *.o -framework Accelerate -L${prefix}/lib -lparmetis -lmetis -dynamiclib -all_load -Wl,-headerpad_max_install_names,-multiply_defined,suppress,-commons,use_dylibs,-search_paths_first -install_name ${prefix}/lib/lib${distname}.dylib -o ../lib/lib${distname}.dylib" } destroot { xinstall -W ${worksrcpath}/SRC -m 644 Cnames.h dcomplex.h machines.h old_colamd.h \ psymbfact.h superlu_ddefs.h superlu_defs.h superlu_zdefs.h util_dist.h supermatrix_dist.h \ ${destroot}${prefix}/include xinstall -m 644 ${worksrcpath}/lib/libsuperlu_dist_${version}.dylib ${destroot}${prefix}/lib ln -s ${prefix}/lib/lib${distname}.dylib ${destroot}${prefix}/lib/libsuperlu_dist.dylib } variant longindex description {Build with 64 ints} { configure.cflags-append -D_LONGINT } livecheck.type none