diff --git a/config/versions.conf b/config/versions.conf index ab628fa..f309e03 100644 --- a/config/versions.conf +++ b/config/versions.conf @@ -22,10 +22,15 @@ mathlib 1.0.0 Modules 3.2.10 mpc 1.0.2 mpfr 3.1.2 +netcdf 4.3.2 OPAL 1.2.0 +OpenBLAS 0.2.9 parmetis 3.2.0 patchelf 0.8.1 +Python 3.4.0 root 5.34.11 +SuperLU_DIST 3.3 tiff 4.0.3 -trilinos 11.4.1 +trilinos 11.8.1 +UMFPACK 5.6.2 vtk 5.10.1 diff --git a/scripts/OpenBLAS.build b/scripts/OpenBLAS.build new file mode 100755 index 0000000..531e270 --- /dev/null +++ b/scripts/OpenBLAS.build @@ -0,0 +1,33 @@ +#!/bin/bash + +source "$(dirname $0)/../lib/libem.bash" + +function em.configure() { + cat < "${EM_SRCDIR}/make.inc" +SHELL = /bin/sh +PLAT = +DRVOPTS = \$(OPTS) +LOADER = \$(FORTRAN) -pthread +ARCHFLAGS= -ru +#RANLIB = ranlib +EOF +} + +function em.build() { + cd "${EM_SRCDIR}" + make TARGET=CORE2 BINARY=64 USE_THREAD=0 NO_SHARED=1 +} + +function em.install() { + make PREFIX="${PREFIX}" install +} + +function em.install_doc() { + : +} + +em.add_to_family 'Compiler' +em.set_runtime_dependencies "${COMPILER}" +em.set_build_dependencies "${COMPILER}" +em.make_all +em.cleanup_src diff --git a/scripts/SuperLU_DIST.build b/scripts/SuperLU_DIST.build new file mode 100755 index 0000000..10289e5 --- /dev/null +++ b/scripts/SuperLU_DIST.build @@ -0,0 +1,49 @@ +#!/bin/bash + +source "$(dirname $0)/../lib/libem.bash" + +function em.configure() { + cat < "${EM_SRCDIR}/make.inc" +PLAT = +DSuperLUroot = \${PREFIX} +DSUPERLULIB = \$(DSuperLUroot)/lib/libsuperlu_dist.a +BLASDEF = -DUSE_VENDOR_BLAS +BLASLIB = \${OPENBLAS_PREFIX}/lib/libopenblas.a +METISLIB = +PARMETISLIB = +FLIBS = +LIBS = \$(DSUPERLULIB) \$(BLASLIB) \$(PARMETISLIB) \$(METISLIB) +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib +CC = mpicc +CFLAGS = -pipe -O3 +NOOPTS = +FORTRAN = mpif90 +F90FLAGS = +LOADER = mpif90 +LOADOPTS = +CDEFS = -DAdd__ +EOF +} + +function em.build() { + cd "${EM_SRCDIR}" + mkdir -p "${PREFIX}/lib" + make +} + +function em.install() { + make install + mkdir -p "${PREFIX}/include" + install -m 0444 "${EM_SRCDIR}"/SRC/*.h "${PREFIX}/include" +} + +function em.install_doc() { + install -m 0444 README "${DOCDIR}" +} + +em.add_to_family 'MPI' +em.set_runtime_dependencies "${COMPILER}" "${MPI}" +em.set_build_dependencies "${COMPILER}" "${MPI}" "OpenBLAS" +em.make_all diff --git a/scripts/UMFPACK.bash b/scripts/UMFPACK.bash new file mode 100755 index 0000000..fcb33cb --- /dev/null +++ b/scripts/UMFPACK.bash @@ -0,0 +1,48 @@ +#!/bin/bash + +source "$(dirname $0)/../lib/libem.bash" + +function em.configure() { + cat < "${EM_SRCDIR}/SuiteSparse_config/SuiteSparse_config.mk" +CF = \$(CFLAGS) \$(CPPFLAGS) \$(TARGET_ARCH) -O3 -fexceptions -fPIC -DNTIMER +RANLIB = ranlib +ARCHIVE = \$(AR) \$(ARFLAGS) +CP = cp -f +MV = mv -f +F77 = gfortran +F77FLAGS = \$(FFLAGS) -O +F77LIB = +LIB = -lm +INSTALL_LIB = \${PREFIX}/lib +INSTALL_INCLUDE = \${PREFIX}/include +BLAS = -lopenblas -lgfortran +XERBLA = +GPU_BLAS_PATH = +GPU_CONFIG = +UMFPACK_CONFIG = -DNCHOLMOD +CHOLMOD_CONFIG = \$(GPU_CONFIG) +SPQR_CONFIG = +TBB = +EOF +} + +function em.build() { + cd "${EM_SRCDIR}/UMFPACK" + make TARGET=CORE2 BINARY=64 USE_THREAD=0 NO_SHARED=1 +} + +function em.install() { + install -d "${PREFIX}/include" + install -d "${PREFIX}/lib" + make PREFIX="${PREFIX}" install +} + +function em.install_doc() { + : +} + +em.add_to_family 'Compiler' +em.set_runtime_dependencies "${COMPILER}" 'OpenBLAS' +em.set_build_dependencies "${COMPILER}" 'OpenBLAS' +em.make_all +#em.cleanup_src diff --git a/scripts/netcdf.build b/scripts/netcdf.build new file mode 100755 index 0000000..40f6f7b --- /dev/null +++ b/scripts/netcdf.build @@ -0,0 +1,28 @@ +#!/bin/bash + +source "$(dirname $0)/../lib/libem.bash" + +function em.pre_configure() { + : +} + +function em.configure() { + CC=$MPICC + CXX=$MPICXX + F77=$MPIF77 + F90=$MPIF90 + FC=$MPIFC + FORTRAN=$MPIFORTRAN + "${EM_SRCDIR}"/configure \ + --prefix="${PREFIX}" \ + --enable-netcdf-4 \ + --with-pic \ + || exit 1 +} + +em.add_to_family 'HDF5' +em.set_runtime_dependencies "${COMPILER}" "${MPI}" 'hdf5' +em.set_build_dependencies "${COMPILER}" "${MPI}" 'hdf5' +em.set_docfiles 'COPYRIGHT' 'README.md' 'RELEASE_NOTES.md' +em.make_all +