json-glib: update to 1.10.6
[oi-userland.git] / components / library / openmpi / Makefile
blob6b8f06c411eacefe120154abeb13de942efcda9b
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
13 # Copyright 2013-2018 Aurelien Larcher. All rights reserved.
14 # Copyright 2023 Klaus Ziegler
17 USE_DEFAULT_TEST_TRANSFORMS = yes
18 include ../../../make-rules/shared-macros.mk
19 MPI_IMPLEMENTATION = openmpi
20 include $(WS_MAKE_RULES)/mpi-macros.mk
22 COMPONENT_NAME = openmpi/$(COMPILER)
23 OPENMPI_VERSION_MAJOR = 4.1
24 COMPONENT_VERSION = $(OPENMPI_VERSION_MAJOR).5
25 COMPONENT_REVISION = 3
26 COMPONENT_SUMMARY = OpenMPI - High Performance Message Passing Library
27 COMPONENT_PROJECT_URL = https://www.open-mpi.org
28 COMPONENT_SRC_NAME = openmpi
29 COMPONENT_SRC = $(COMPONENT_SRC_NAME)-$(COMPONENT_VERSION)
30 COMPONENT_ARCHIVE = $(COMPONENT_SRC).tar.gz
31 COMPONENT_ARCHIVE_HASH = sha256:c018b127619d2a2a30c1931f316fc8a245926d0f5b4ebed4711f9695e7f70925
32 COMPONENT_ARCHIVE_URL = https://www.open-mpi.org/software/ompi/v$(OPENMPI_VERSION_MAJOR)/downloads/$(COMPONENT_ARCHIVE)
33 COMPONENT_FMRI = library/openmpi/$(COMPILER)
34 COMPONENT_CLASSIFICATION = Development/High Performance Computing
35 COMPONENT_LICENSE = BSD 2-Clause
36 COMPONENT_LICENSE_FILE = $(COMPONENT_SRC_NAME).license
39 include $(WS_MAKE_RULES)/common.mk
41 PATH=$(PATH.gnu)
43 unexport SHELLOPTS
45 CONFIGURE_PREFIX= $(MPI_PREFIX)
47 CONFIGURE_OPTIONS+= --bindir=$(MPI_BINDIR)
48 CONFIGURE_OPTIONS+= --datadir=$(MPI_DATADIR)
49 CONFIGURE_OPTIONS+= --docdir=$(MPI_DOCDIR)
50 CONFIGURE_OPTIONS+= --htmldir=$(MPI_HTMLDIR)
51 CONFIGURE_OPTIONS+= --includedir=$(MPI_INCDIR)
52 CONFIGURE_OPTIONS+= --libdir=$(MPI_LIBDIR)
53 CONFIGURE_OPTIONS+= --mandir=$(MPI_MANDIR)
54 CONFIGURE_OPTIONS+= --sbindir=$(MPI_SBINDIR)
55 CONFIGURE_OPTIONS+= --sysconfdir=$(MPI_ETCDIR)
56 CONFIGURE_OPTIONS+= --enable-ipv6
57 CONFIGURE_OPTIONS+= --enable-mpi-fortran=usempi
58 CONFIGURE_OPTIONS+= --enable-mpi-cxx
59 CONFIGURE_OPTIONS+= --enable-mpi-cxx-seek
60 CONFIGURE_OPTIONS+= --disable-event-epoll
61 CONFIGURE_OPTIONS+= --with-package-string=Openindiana
62 CONFIGURE_OPTIONS+= --with-wrapper-cflags="$(CC_BITS) -L$(MPI_LIBDIR) -R$(MPI_LIBDIR)"
63 CONFIGURE_OPTIONS+= --with-wrapper-cxxflags="$(CC_BITS) -L$(MPI_LIBDIR) -R$(MPI_LIBDIR)"
64 CONFIGURE_OPTIONS+= --with-wrapper-fcflags="$(CC_BITS) -L$(MPI_LIBDIR) -R$(MPI_LIBDIR)"
65 CONFIGURE_OPTIONS+= --with-wrapper-libs="$(CC_BITS) -L$(MPI_LIBDIR) -R$(MPI_LIBDIR)"
66 CONFIGURE_OPTIONS+= --without-slurm
67 CONFIGURE_OPTIONS+= ompi_cv_fortran_ignore_tkr_data=0
69 $(BUILD_DIR)/modulefile.%: files/modulefile
70 /bin/sed -e "s#%%BITS%%#$*#g" \
71 -e "s#%%COMPONENT_FMRI%%#$(COMPONENT_FMRI)#g" \
72 -e "s#%%COMPONENT_VERSION%%#$(COMPONENT_VERSION)#g" \
73 -e "s#%%MODULE_CONFLICTS%%#$(MPI_IMPLEMENTATIONS_LIST)#g" \
74 -e "s#%%MODULE_INCDIR%%#$(MPI_INCDIR)#g" \
75 -e "s#%%MODULE_PREFIX%%#$(MPI_PREFIX.$*)#g" < $< > $@ ;
77 PROTO_MODULE_PATH = $(PROTO_DIR)$(MODULE_PATH)/$(COMPONENT_NAME)
79 install: $(INSTALL_64) $(BUILD_DIR)/modulefile.64
80 $(MKDIR) $(PROTO_MODULE_PATH)/64
81 $(CP) $(BUILD_DIR)/modulefile.64 $(PROTO_MODULE_PATH)/64/$(COMPONENT_VERSION)
83 # Build dependencies
84 REQUIRED_PACKAGES += system/header/header-picl
85 REQUIRED_PACKAGES += diagnostic/cpu-counters
86 REQUIRED_PACKAGES += service/picl
88 # Auto-generated dependencies
89 REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
90 REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
91 REQUIRED_PACKAGES += developer/hwloc
92 REQUIRED_PACKAGES += library/zlib
93 REQUIRED_PACKAGES += package/environment-modules
94 REQUIRED_PACKAGES += runtime/perl
95 REQUIRED_PACKAGES += system/library
96 REQUIRED_PACKAGES += system/library/math