homebrew-core/Formula/mpich2.rb
Wesley Bland 70fa6a9083 mpich2: devel/stable 3.1
This updates the stable and devel tracks to 3.1. In addition, now that the
default for the stable version of MPICH is to use shared libraries, there's no
need to have the --enable-shared option so it has been removed. The bug with
the clang library has also been fixed so that special code has also been
removed.

Closes Homebrew/homebrew#26866.

Signed-off-by: Brett Koonce <koonce@gmail.com>
2014-02-20 18:28:28 -06:00

63 lines
1.8 KiB
Ruby

require 'formula'
# This should really be named Mpich now, but homebrew cannot currently handle
# formula renames, see homebrew issue #14374.
class Mpich2 < Formula
homepage 'http://www.mpich.org/'
url 'http://www.mpich.org/static/downloads/3.1/mpich-3.1.tar.gz'
mirror 'http://fossies.org/linux/misc/mpich-3.1.tar.gz'
sha1 'ac3e79482b7645f9512f687404e9be29855258e9'
head do
url 'git://git.mpich.org/mpich.git'
depends_on 'autoconf' => :build
depends_on 'automake' => :build
depends_on 'libtool' => :build
end
devel do
url 'http://www.mpich.org/static/downloads/3.1/mpich-3.1.tar.gz'
sha1 'ac3e79482b7645f9512f687404e9be29855258e9'
end
option 'disable-fortran', "Do not attempt to build Fortran bindings"
option 'disable-shared', "Do not build shared libraries"
depends_on :fortran unless build.include? 'disable-fortran'
conflicts_with 'open-mpi', :because => 'both install mpi__ compiler wrappers'
def install
if build.head?
# ensure that the consistent set of autotools built by homebrew is used to
# build MPICH, otherwise very bizarre build errors can occur
ENV['MPICH_AUTOTOOLS_DIR'] = (HOMEBREW_PREFIX+'bin')
system "./autogen.sh"
end
args = [
"--disable-dependency-tracking",
"--disable-silent-rules",
"--prefix=#{prefix}",
"--mandir=#{man}"
]
if build.include? 'disable-fortran'
args << "--disable-f77" << "--disable-fc"
end
# MPICH configure up to version 3.0.4 defaults to "--disable-shared"
if build.include? 'disable-shared'
args << "--disable-shared"
end
system "./configure", *args
system "make"
system "make install"
end
def test
# a better test would be to build and run a small MPI program
system "#{bin}/mpicc", "-show"
end
end