components/mpich/Makefile | ●●●●● patch | view | raw | blame | history | |
components/mpich/files/modulefile | ●●●●● patch | view | raw | blame | history | |
components/mpich/mpich-modulefiles.p5m | ●●●●● patch | view | raw | blame | history | |
components/mpich/mpich.license | ●●●●● patch | view | raw | blame | history | |
components/mpich/mpich.p5m | ●●●●● patch | view | raw | blame | history | |
components/mpich/resolve.deps | ●●●●● patch | view | raw | blame | history | |
make-rules/mpi-macros.mk | ●●●●● patch | view | raw | blame | history | |
make-rules/shared-macros.mk | ●●●●● patch | view | raw | blame | history |
components/mpich/Makefile
New file @@ -0,0 +1,89 @@ # # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL"), version 1.0. # You may only use this file in accordance with the terms of version # 1.0 of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2013 Aurelien Larcher. All rights reserved. # include ../../make-rules/shared-macros.mk include $(WS_MAKE_RULES)/mpi-macros.mk COMPONENT_NAME = mpich/$(COMPILER) COMPONENT_VERSION = 3.0.4 COMPONENT_FMRI = library/$(COMPONENT_NAME) COMPONENT_PROJECT_URL = http://www.mpich.org/ COMPONENT_SRC_NAME = mpich COMPONENT_SRC = $(COMPONENT_SRC_NAME)-$(COMPONENT_VERSION) COMPONENT_ARCHIVE = $(COMPONENT_SRC).tar.gz COMPONENT_ARCHIVE_HASH = \ sha256:cf638c85660300af48b6f776e5ecd35b5378d5905ec5d34c3da7a27da0acf0b3 COMPONENT_ARCHIVE_URL = http://www.mpich.org/static/downloads/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE) COMPONENT_BUGDB = $(COMPONENT_FMRI) COMPONENT_SUMMARY = High-performance and widely portable implementation of the MPI standard COMPONENT_LICENSE_FILE = $(COMPONENT_SRC_NAME).license COMPONENT_LICENSE = MIT include $(WS_MAKE_RULES)/prep.mk include $(WS_MAKE_RULES)/configure.mk include $(WS_MAKE_RULES)/ips.mk CONFIGURE_PREFIX = $(MPI_PREFIX) CONFIGURE_OPTIONS+= --bindir=$(MPI_BINDIR) CONFIGURE_OPTIONS+= --datadir=$(MPI_DATADIR) CONFIGURE_OPTIONS+= --docdir=$(MPI_DOCDIR) CONFIGURE_OPTIONS+= --htmldir=$(MPI_HTMLDIR) CONFIGURE_OPTIONS+= --includedir=$(MPI_INCDIR) CONFIGURE_OPTIONS+= --libdir=$(MPI_LIBDIR) CONFIGURE_OPTIONS+= --mandir=$(MPI_MANDIR) CONFIGURE_OPTIONS+= --sbindir=$(MPI_SBINDIR) CONFIGURE_OPTIONS+= --sysconfdir=$(MPI_ETCDIR) CONFIGURE_OPTIONS+= --with-pm=hydra CONFIGURE_OPTIONS+= --with-device=ch3:sock CONFIGURE_OPTIONS+= --with-thread-package=posix CONFIGURE_OPTIONS+= --enable-shared CONFIGURE_OPTIONS+= --enable-rpath CONFIGURE_OPTIONS+= --enable-f77 CONFIGURE_OPTIONS+= --enable-fc CONFIGURE_OPTIONS+= --enable-cxx CONFIGURE_OPTIONS+= --enable-mpe # It seems the issue has gone with the 3.x series #CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS) -Wa,--divide" COMPONENT_TEST_TARGETS = test build: $(BUILD_32) $(BUILD_DIR)/modulefile.%: files/modulefile /bin/sed -e "s#%%BITS%%#$*#g" \ -e "s#%%COMPONENT_FMRI%%#$(COMPONENT_FMRI)#g" \ -e "s#%%COMPONENT_VERSION%%#$(COMPONENT_VERSION)#g" \ -e "s#%%MODULE_CONFLICTS%%#$(MPI_IMPLEMENTATIONS_LIST)#g" \ -e "s#%%MODULE_INCDIR%%#$(MPI_INCDIR)#g" \ -e "s#%%MODULE_PREFIX%%#$(MPI_PREFIX.$*)#g" < $< > $@ ; PROTO_MODULE_PATH = $(PROTO_DIR)$(MODULE_PATH)/$(COMPONENT_NAME) install: $(INSTALL_32_and_64) $(BUILD_DIR)/modulefile.32 $(BUILD_DIR)/modulefile.64 $(MKDIR) $(PROTO_MODULE_PATH)/32 $(CP) $(BUILD_DIR)/modulefile.32 $(PROTO_MODULE_PATH)/32/$(COMPONENT_VERSION) $(MKDIR) $(PROTO_MODULE_PATH)/64 $(CP) $(BUILD_DIR)/modulefile.64 $(PROTO_MODULE_PATH)/64/$(COMPONENT_VERSION) test: $(TEST_32) BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS) include $(WS_MAKE_RULES)/depend.mk components/mpich/files/modulefile
New file @@ -0,0 +1,29 @@ #%Module1.0##################################################################### proc ModulesHelp { } { global version puts stderr "\tpkg:/%%COMPONENT_FMRI%% version %%COMPONENT_VERSION%%" } module-whatis "%%COMPONENT_FMRI%%/%%BITS%%" conflict %%MODULE_CONFLICTS%% # for Tcl script use only set version "3.2.10" set modroot %%MODULE_PREFIX%% prepend-path PATH $modroot/bin prepend-path MANPATH $modroot/man prepend-path LD_LIBRARY_PATH $modroot/lib ## compiler paths prepend-path C_INCLUDE_PATH %%MODULE_INCDIR%% prepend-path CPP_INCLUDE_PATH %%MODULE_INCDIR%% prepend-path LIBRARY_PATH $modroot/lib ## pkgconfig prepend-path PKG_CONFIG_PATH $modroot/lib/pkgconfig components/mpich/mpich-modulefiles.p5m
New file @@ -0,0 +1,38 @@ # # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL"). You may # only use this file in accordance with the terms of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2013 Aurelien Larcher. All rights reserved. # set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)/modulefiles@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) set name=pkg.summary value="$(COMPONENT_SUMMARY) (Modulefiles)" set name=info.classification \ value="org.opensolaris.category.2008:Development/High Performance Computing" set name=org.opensolaris.consolidation value=$(CONSOLIDATION) license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)' depend type=require fmri=pkg:/package/environment-modules dir path=usr dir path=usr/share dir path=usr/share/Modules dir path=usr/share/Modules/modulefiles dir path=usr/share/Modules/modulefiles/$(COMPONENT_NAME) dir path=usr/share/Modules/modulefiles/$(COMPONENT_NAME)/32 file path=usr/share/Modules/modulefiles/$(COMPONENT_NAME)/32/$(COMPONENT_VERSION) link path=usr/share/Modules/modulefiles/$(COMPONENT_NAME)/32/latest \ target=$(COMPONENT_VERSION) dir path=usr/share/Modules/modulefiles/$(COMPONENT_NAME)/64 file path=usr/share/Modules/modulefiles/$(COMPONENT_NAME)/64/$(COMPONENT_VERSION) link path=usr/share/Modules/modulefiles/$(COMPONENT_NAME)/64/latest \ target=$(COMPONENT_VERSION) components/mpich/mpich.license
New file @@ -0,0 +1,39 @@ COPYRIGHT The following is a notice of limited availability of the code, and disclaimer which must be included in the prologue of the code and in all source listings of the code. Copyright Notice + 2002 University of Chicago Permission is hereby granted to use, reproduce, prepare derivative works, and to redistribute to others. This software was authored by: Mathematics and Computer Science Division Argonne National Laboratory, Argonne IL 60439 (and) Department of Computer Science University of Illinois at Urbana-Champaign GOVERNMENT LICENSE Portions of this material resulted from work developed under a U.S. Government Contract and are subject to the following license: the Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable worldwide license in this computer software to reproduce, prepare derivative works, and perform publicly and display publicly. DISCLAIMER This computer code material was prepared, in part, as an account of work sponsored by an agency of the United States Government. Neither the United States, nor the University of Chicago, nor any of their employees, makes any warranty express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. components/mpich/mpich.p5m
New file @@ -0,0 +1,171 @@ # # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL"). You may # only use this file in accordance with the terms of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2013 Aurelien Larcher. All rights reserved. # set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) set name=pkg.summary value="$(COMPONENT_SUMMARY)" set name=info.classification \ value="org.opensolaris.category.2008:Development/High Performance Computing" set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) set name=org.opensolaris.consolidation value=$(CONSOLIDATION) license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)' <transform file path=.* -> default pkg.depend.bypass-generate perl > dir path=usr dir path=usr/include dir path=usr/include/mpich file path=usr/include/mpich/mpi.h file path=usr/include/mpich/mpi.mod file path=usr/include/mpich/mpi_base.mod file path=usr/include/mpich/mpi_constants.mod file path=usr/include/mpich/mpi_sizeofs.mod file path=usr/include/mpich/mpicxx.h file path=usr/include/mpich/mpif.h file path=usr/include/mpich/mpio.h file path=usr/include/mpich/mpiof.h file path=usr/include/mpich/opa_config.h file path=usr/include/mpich/opa_primitives.h file path=usr/include/mpich/opa_queue.h file path=usr/include/mpich/opa_util.h dir path=usr/include/mpich/primitives file path=usr/include/mpich/primitives/opa_by_lock.h file path=usr/include/mpich/primitives/opa_emulated.h file path=usr/include/mpich/primitives/opa_gcc_ia64.h file path=usr/include/mpich/primitives/opa_gcc_intel_32_64.h file path=usr/include/mpich/primitives/opa_gcc_intel_32_64_barrier.h file path=usr/include/mpich/primitives/opa_gcc_intel_32_64_ops.h file path=usr/include/mpich/primitives/opa_gcc_intel_32_64_p3.h file path=usr/include/mpich/primitives/opa_gcc_intel_32_64_p3barrier.h file path=usr/include/mpich/primitives/opa_gcc_intrinsics.h file path=usr/include/mpich/primitives/opa_gcc_ppc.h file path=usr/include/mpich/primitives/opa_gcc_sicortex.h file path=usr/include/mpich/primitives/opa_nt_intrinsics.h file path=usr/include/mpich/primitives/opa_sun_atomic_ops.h file path=usr/include/mpich/primitives/opa_unsafe.h dir path=usr/lib dir path=usr/lib/$(MACH64) dir path=usr/lib/$(MACH64)/mpich dir path=usr/lib/$(MACH64)/mpich/gcc dir path=usr/lib/$(MACH64)/mpich/gcc/bin file path=usr/lib/$(MACH64)/mpich/gcc/bin/hydra_nameserver file path=usr/lib/$(MACH64)/mpich/gcc/bin/hydra_persist file path=usr/lib/$(MACH64)/mpich/gcc/bin/hydra_pmi_proxy link path=usr/lib/$(MACH64)/mpich/gcc/bin/mpic++ target=mpicxx file path=usr/lib/$(MACH64)/mpich/gcc/bin/mpicc file path=usr/lib/$(MACH64)/mpich/gcc/bin/mpichversion file path=usr/lib/$(MACH64)/mpich/gcc/bin/mpicxx link path=usr/lib/$(MACH64)/mpich/gcc/bin/mpiexec target=mpiexec.hydra file path=usr/lib/$(MACH64)/mpich/gcc/bin/mpiexec.hydra file path=usr/lib/$(MACH64)/mpich/gcc/bin/mpif77 file path=usr/lib/$(MACH64)/mpich/gcc/bin/mpif90 link path=usr/lib/$(MACH64)/mpich/gcc/bin/mpirun target=mpiexec.hydra file path=usr/lib/$(MACH64)/mpich/gcc/bin/parkill dir path=usr/lib/$(MACH64)/mpich/gcc/etc file path=usr/lib/$(MACH64)/mpich/gcc/etc/mpicc.conf file path=usr/lib/$(MACH64)/mpich/gcc/etc/mpicxx.conf file path=usr/lib/$(MACH64)/mpich/gcc/etc/mpif77.conf file path=usr/lib/$(MACH64)/mpich/gcc/etc/mpif90.conf dir path=usr/lib/$(MACH64)/mpich/gcc/lib file path=usr/lib/$(MACH64)/mpich/gcc/lib/libfmpich.a link path=usr/lib/$(MACH64)/mpich/gcc/lib/libfmpich.so \ target=libfmpich.so.10.0.4 link path=usr/lib/$(MACH64)/mpich/gcc/lib/libfmpich.so.10 \ target=libfmpich.so.10.0.4 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libfmpich.so.10.0.4 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpich.a link path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpich.so target=libmpich.so.10.0.4 link path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpich.so.10 \ target=libmpich.so.10.0.4 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpich.so.10.0.4 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpichcxx.a link path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpichcxx.so \ target=libmpichcxx.so.10.0.4 link path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpichcxx.so.10 \ target=libmpichcxx.so.10.0.4 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpichcxx.so.10.0.4 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpichf90.a link path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpichf90.so \ target=libmpichf90.so.10.0.4 link path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpichf90.so.10 \ target=libmpichf90.so.10.0.4 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpichf90.so.10.0.4 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpl.a link path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpl.so target=libmpl.so.1.0.0 link path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpl.so.1 target=libmpl.so.1.0.0 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libmpl.so.1.0.0 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libopa.a link path=usr/lib/$(MACH64)/mpich/gcc/lib/libopa.so target=libopa.so.1.0.0 link path=usr/lib/$(MACH64)/mpich/gcc/lib/libopa.so.1 target=libopa.so.1.0.0 file path=usr/lib/$(MACH64)/mpich/gcc/lib/libopa.so.1.0.0 dir path=usr/lib/$(MACH64)/mpich/gcc/lib/pkgconfig file path=usr/lib/$(MACH64)/mpich/gcc/lib/pkgconfig/mpich.pc file path=usr/lib/$(MACH64)/mpich/gcc/lib/pkgconfig/openpa.pc dir path=usr/lib/mpich dir path=usr/lib/mpich/gcc dir path=usr/lib/mpich/gcc/bin file path=usr/lib/mpich/gcc/bin/hydra_nameserver file path=usr/lib/mpich/gcc/bin/hydra_persist file path=usr/lib/mpich/gcc/bin/hydra_pmi_proxy link path=usr/lib/mpich/gcc/bin/mpic++ target=mpicxx file path=usr/lib/mpich/gcc/bin/mpicc file path=usr/lib/mpich/gcc/bin/mpichversion file path=usr/lib/mpich/gcc/bin/mpicxx link path=usr/lib/mpich/gcc/bin/mpiexec target=mpiexec.hydra file path=usr/lib/mpich/gcc/bin/mpiexec.hydra file path=usr/lib/mpich/gcc/bin/mpif77 file path=usr/lib/mpich/gcc/bin/mpif90 link path=usr/lib/mpich/gcc/bin/mpirun target=mpiexec.hydra file path=usr/lib/mpich/gcc/bin/parkill dir path=usr/lib/mpich/gcc/etc file path=usr/lib/mpich/gcc/etc/mpicc.conf file path=usr/lib/mpich/gcc/etc/mpicxx.conf file path=usr/lib/mpich/gcc/etc/mpif77.conf file path=usr/lib/mpich/gcc/etc/mpif90.conf dir path=usr/lib/mpich/gcc/lib file path=usr/lib/mpich/gcc/lib/libfmpich.a link path=usr/lib/mpich/gcc/lib/libfmpich.so target=libfmpich.so.10.0.4 link path=usr/lib/mpich/gcc/lib/libfmpich.so.10 target=libfmpich.so.10.0.4 file path=usr/lib/mpich/gcc/lib/libfmpich.so.10.0.4 file path=usr/lib/mpich/gcc/lib/libmpich.a link path=usr/lib/mpich/gcc/lib/libmpich.so target=libmpich.so.10.0.4 link path=usr/lib/mpich/gcc/lib/libmpich.so.10 target=libmpich.so.10.0.4 file path=usr/lib/mpich/gcc/lib/libmpich.so.10.0.4 file path=usr/lib/mpich/gcc/lib/libmpichcxx.a link path=usr/lib/mpich/gcc/lib/libmpichcxx.so target=libmpichcxx.so.10.0.4 link path=usr/lib/mpich/gcc/lib/libmpichcxx.so.10 target=libmpichcxx.so.10.0.4 file path=usr/lib/mpich/gcc/lib/libmpichcxx.so.10.0.4 file path=usr/lib/mpich/gcc/lib/libmpichf90.a link path=usr/lib/mpich/gcc/lib/libmpichf90.so target=libmpichf90.so.10.0.4 link path=usr/lib/mpich/gcc/lib/libmpichf90.so.10 target=libmpichf90.so.10.0.4 file path=usr/lib/mpich/gcc/lib/libmpichf90.so.10.0.4 file path=usr/lib/mpich/gcc/lib/libmpl.a link path=usr/lib/mpich/gcc/lib/libmpl.so target=libmpl.so.1.0.0 link path=usr/lib/mpich/gcc/lib/libmpl.so.1 target=libmpl.so.1.0.0 file path=usr/lib/mpich/gcc/lib/libmpl.so.1.0.0 file path=usr/lib/mpich/gcc/lib/libopa.a link path=usr/lib/mpich/gcc/lib/libopa.so target=libopa.so.1.0.0 link path=usr/lib/mpich/gcc/lib/libopa.so.1 target=libopa.so.1.0.0 file path=usr/lib/mpich/gcc/lib/libopa.so.1.0.0 dir path=usr/lib/mpich/gcc/lib/pkgconfig file path=usr/lib/mpich/gcc/lib/pkgconfig/mpich.pc file path=usr/lib/mpich/gcc/lib/pkgconfig/openpa.pc dir path=usr/share dir path=usr/share/doc dir path=usr/share/doc/mpich file path=usr/share/doc/mpich/install.pdf file path=usr/share/doc/mpich/logging.pdf file path=usr/share/doc/mpich/smpd_pmi.pdf file path=usr/share/doc/mpich/user.pdf components/mpich/resolve.deps
New file @@ -0,0 +1,2 @@ system/library runtime/perl-516 make-rules/mpi-macros.mk
@@ -23,6 +23,8 @@ include $(WS_MAKE_RULES)/shared-macros.mk MPI_IMPLEMENTATIONS_LIST = mpich openmpi MPI.mpich = mpich MPICC.mpich = mpicc @@ -32,29 +34,43 @@ MPI.openmpi = openmpi MPICC.openmpi = mpicc MPICXX.openmpi = mpicxx MPIF77.openmpi = mpif77 MPIFC.openmpi = mpif90 # Default to mpich MPI_IMPLEMENTATION ?= $(MPI.mpich) MPI_COMPILER = $(COMPILER) MPI_BUNDLE = $(MPI_IMPLEMENTATION)-$(MPI_COMPILER) MPI_PREFIX = $(USRLIBDIR)/$(MPI_IMPLEMENTATION)/$(MPI_COMPILER) MPI_PREFIX.32 = $(USRLIBDIR)/$(MPI_IMPLEMENTATION)/$(MPI_COMPILER) MPI_PREFIX.64 = $(USRLIBDIR64)/$(MPI_IMPLEMENTATION)/$(MPI_COMPILER) MPI_PREFIX = $((MPI_PREFIX.$(BITS)) MPICC = $(MPICC.$(MPI_IMPLEMENTATION)) MPICXX = $(MPICXX.$(MPI_IMPLEMENTATION)) MPIF77 = $(MPIF77.$(MPI_IMPLEMENTATION)) MPIFC = $(MPIFC.$(MPI_IMPLEMENTATION)) CONFIGURE_DEFAULT_DIRS=no MPI_BINDIR.32 = $(MPI_PREFIX)/bin MPI_BINDIR.64 = $(MPI_PREFIX)/bin/$(MACH64) MPI_BINDIR.32 = $(MPI_PREFIX.32)/bin MPI_BINDIR.64 = $(MPI_PREFIX.64)/bin MPI_BINDIR = $(MPI_BINDIR.$(BITS)) MPI_SBINDIR.32 = $(MPI_PREFIX)/sbin MPI_SBINDIR.64 = $(MPI_PREFIX)/sbin/$(MACH64) MPI_SBINDIR.32 = $(MPI_PREFIX.32)/sbin MPI_SBINDIR.64 = $(MPI_PREFIX.64)/sbin MPI_SBINDIR = $(MPI_SBINDIR.$(BITS)) MPI_LIBDIR.32 = $(MPI_PREFIX)/lib MPI_LIBDIR.64 = $(MPI_PREFIX)/lib/$(MACH64) MPI_LIBDIR.32 = $(MPI_PREFIX.32)/lib MPI_LIBDIR.64 = $(MPI_PREFIX.64)/lib MPI_LIBDIR = $(MPI_LIBDIR.$(BITS)) MPI_ETCDIR = $(MPI_PREFIX)/etc MPI_ETCDIR.32 = $(MPI_PREFIX.32)/etc MPI_ETCDIR.64 = $(MPI_PREFIX.64)/etc MPI_ETCDIR = $(MPI_ETCDIR.$(BITS)) MPI_INCDIR = $(USRINCDIR)/$(MPI_IMPLEMENTATION) make-rules/shared-macros.mk
@@ -410,6 +410,13 @@ PKG_CONFIG_PATH.64 = /usr/lib/$(MACH64)/pkgconfig PKG_CONFIG_PATH = $(PKG_CONFIG_PATH.$(BITS)) # Set default path for environment modules MODULE_VERSION = 3.2.10 MODULE_PATH = /usr/share/Modules/modulefiles MODULE_VERSIONS_PATH = /usr/share/Modules/versions # Path to bash completions BASH_COMPLETIONS_PATH = /usr/share/bash-completion/completions # # C preprocessor flag sets to ease feature selection. Add the required