# -*- 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 116352 2014-01-23 20:13:05Z sean@macports.org $

PortSystem          1.0
PortGroup           mpi 1.0

mpi.choose
mpi.setup           require_fortran -clang -dragonegg -fortran

name                omnixmp
version             0.6.1
revision            1
categories          lang devel parallel
maintainers         takeshi openmaintainer
description         Omni OpenMP/XcalableMP Compiler
license             LGPL-2.1
long_description \
    Omni OpenMP/XcalableMP Compiler
homepage            http://www.hpcs.cs.tsukuba.ac.jp/omni-compiler/xcalablemp/
platforms           darwin
master_sites        sourceforge:xcalablemp

checksums           rmd160  28d2770d1dc93338ce99a6e07730d55424d1002f \
                    sha256  7f76040a3302dcaf84633d6a7aa076ffc9f2a2e32711d3fe69f2ff0d1899900f
use_bzip2           yes

depends_build       port:apache-ant
depends_lib         port:flex \
                    port:gmp \
                    port:libxml2

patchfiles          patch-configure.diff \
                    patch-ompc_thread.c.diff \
                    patch-c-expr.c.diff \
                    patch-libxmpf-Makefile.in.diff

use_parallel_build  no

configure.args      --prefix=${prefix}/lib/${name} \
                    --disable-xmpgpu \
                    --with-gmpLibDir=${prefix}/lib \
                    --with-gmpIncDir=${prefix}/include \
                    --with-cflag=${configure.cflags} \
                    --with-cppflag="${configure.cppflags} -I${prefix}/include/libxml2 -I/usr/include -DSIMPLE_SPIN"

post-patch {
    if {${build_arch} eq "x86_64"} {
        reinplace "s|CPU=i386|CPU=x86_64|g" ${worksrcpath}/configure
    }
}

post-destroot {
    ln -s ${prefix}/lib/${name}/bin/xmpcc ${destroot}${prefix}/bin
}

if {![fortran_variant_isset]} {
    default_variants-append +gcc48
}

if {![mpi_variant_isset]} {
    default_variants-append +mpich
}

pre-configure {
    if {[mpi_variant_isset]} {
        configure.args-append   --with-mpicc=${mpi.cc} \
                                --with-mpif90=${mpi.fc}
    }
}

notes \
   ${name} is installed in ${prefix}/lib/${name}.
