require 'formula' class Hdf5 < Formula homepage 'http://www.hdfgroup.org/HDF5' url 'http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.10/src/hdf5-1.8.10-patch1.tar.bz2' sha1 '458cb91496e313debd55d52a7f89459a5469cceb' version '1.8.10-patch1' # TODO - warn that these options conflict option :universal option 'enable-fortran', 'Compile Fortran bindings' option 'enable-cxx', 'Compile C++ bindings' option 'enable-threadsafe', 'Trade performance and C++ or Fortran support for thread safety' option 'enable-parallel', 'Compile parallel bindings' depends_on 'szip' depends_on MPIDependency.new(:cc, :cxx, :f90) if build.include? "enable-parallel" def install ENV.universal_binary if build.universal? args = %W[ --prefix=#{prefix} --enable-production --enable-debug=no --disable-dependency-tracking --with-zlib=/usr --with-szlib=#{HOMEBREW_PREFIX} --enable-filters=all --enable-static=yes --enable-shared=yes ] args << '--enable-parallel' if build.include? 'enable-parallel' if build.include? 'enable-threadsafe' args.concat %w[--with-pthread=/usr --enable-threadsafe] else if build.include? 'enable-cxx' args << '--enable-cxx' end if build.include? 'enable-fortran' args << '--enable-fortran' ENV.fortran end end if build.include? 'enable-parallel' ENV['CC'] = 'mpicc' ENV['FC'] = 'mpif90' end system "./configure", *args system "make install" end end