source: trunk/dports/math/superlu_dist/Portfile @ 119603

Last change on this file since 119603 was 119603, checked in by ryandesign@…, 6 years ago

set svn:eol-style to native

  • Property svn:eol-style set to native
File size: 2.9 KB
Line 
1# -*- 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
2# $Id$
3
4PortSystem          1.0
5PortGroup           mpi 1.0
6
7compilers.choose    cc cxx
8mpi.setup           require
9
10name                superlu_dist
11version             3.3
12categories          math
13platforms           darwin
14maintainers         sean openmaintainer
15description         A package for solving linear equations
16long_description    SuperLU is a general purpose library for the direct \
17                    solution of large, sparse, nonsymmetric systems of \
18                    linear equations on high performance machines.
19
20homepage            http://crd-legacy.lbl.gov/~xiaoye/SuperLU
21master_sites        ${homepage}
22
23distname            ${name}_${version}
24worksrcdir          SuperLU_DIST_${version}
25
26checksums           rmd160  36441437d9a8e22c9f635336d7a71b8d9aea97b5 \
27                    sha256  d2fd8dc847ae63ed7980cff2ad4db8d117640ecdf0234c9711e0f6ee1398cac2
28
29depends_lib         port:parmetis
30
31patchfiles-append   duplicate.patch
32
33use_configure       no
34
35configure.cflags    -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -O3 -mtune=native
36configure.cxxflags  ${configure.cflags}
37
38build.target        lib LAAUX=""
39
40post-extract {
41    reinplace "s|^DSuperLUroot.*$|DSuperLUroot = ${worksrcpath}|" ${worksrcpath}/make.inc
42    reinplace "s|^PARMETISLIB.*$|PARMETISLIB = -L${prefix}/lib -lparmetis|" ${worksrcpath}/make.inc
43    reinplace "s|^METISLIB.*$|METISLIB = -L${prefix}/lib -lmetis|" ${worksrcpath}/make.inc
44    reinplace "s|^ARCHFLAGS.*$|ARCHFLAGS = cr|" ${worksrcpath}/make.inc
45    reinplace "s|^IMPI.*$||" ${worksrcpath}/make.inc
46    reinplace "s|^CC.*$|CC = ${mpi.cc}|" ${worksrcpath}/make.inc
47    reinplace "s|^CFLAGS.*$|CFLAGS = ${configure.cflags} \\\\|" ${worksrcpath}/make.inc
48    reinplace "s|^BLASLIB.*$|BLASLIB = -framework Accelerate -framework vecLib|" ${worksrcpath}/make.inc
49    reinplace "s|supermatrix\.h|supermatrix_dist\.h|" ${worksrcpath}/SRC/superlu_defs.h
50    file rename ${worksrcpath}/SRC/supermatrix.h ${worksrcpath}/SRC/supermatrix_dist.h
51}
52
53destroot {
54    # make shared libraries
55    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"
56
57    xinstall -W ${worksrcpath}/SRC -m 644 Cnames.h dcomplex.h machines.h old_colamd.h \
58        psymbfact.h superlu_ddefs.h superlu_defs.h superlu_zdefs.h util_dist.h supermatrix_dist.h \
59        ${destroot}${prefix}/include
60    xinstall -m 644 ${worksrcpath}/lib/libsuperlu_dist_${version}.dylib ${destroot}${prefix}/lib
61}
62
63variant longindex description {Build with 64 ints} {
64    configure.cflags-append     -D_LONGINT
65}
66
67livecheck.type      regex
68livecheck.regex     ${name}_(\[0-9.\]+)${extract.suffix}
Note: See TracBrowser for help on using the repository browser.