60 lines
1.8 KiB
Makefile
60 lines
1.8 KiB
Makefile
################################################################################
|
|
#
|
|
# openmpi
|
|
#
|
|
################################################################################
|
|
|
|
OPENMPI_VERSION_MAJOR = 4.1
|
|
OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).5
|
|
OPENMPI_SITE = https://www.open-mpi.org/software/ompi/v$(OPENMPI_VERSION_MAJOR)/downloads
|
|
OPENMPI_SOURCE = openmpi-$(OPENMPI_VERSION).tar.bz2
|
|
OPENMPI_LICENSE = BSD-3-Clause
|
|
OPENMPI_LICENSE_FILES = LICENSE
|
|
OPENMPI_INSTALL_STAGING = YES
|
|
|
|
# The macro searching for IME (Infinite Memory Engine) filesystem
|
|
# brings "-I/usr/local/include" in the CPPFLAGS, even if not
|
|
# found. This makes the configuration fail. See:
|
|
# https://github.com/open-mpi/ompi/blob/v4.1.5/config/ompi_check_ime.m4#L35
|
|
# Disable explicitly to avoid the issue.
|
|
OPENMPI_CONF_OPTS = --without-ime
|
|
|
|
# Enabling Fortran support requires pre-seeding the configure script
|
|
# with various values that cannot be guessed, so we provide cache
|
|
# files for various architectures.
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y)
|
|
ifeq ($(BR2_mips)$(BR2_mipsel),y)
|
|
OPENMPI_FORTRAN_CONF_CACHE = package/openmpi/openmpi-mips32-fortran.cache
|
|
else ifeq ($(BR2_mips64)$(BR2_mips64el),y)
|
|
OPENMPI_FORTRAN_CONF_CACHE = package/openmpi/openmpi-mips64-fortran.cache
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(OPENMPI_FORTRAN_CONF_CACHE),)
|
|
define OPENMPI_COPY_FORTRAN_CACHE
|
|
cp $(OPENMPI_FORTRAN_CONF_CACHE) $(@D)/openmpi-config.cache
|
|
endef
|
|
|
|
OPENMPI_POST_PATCH_HOOKS += OPENMPI_COPY_FORTRAN_CACHE
|
|
OPENMPI_CONF_OPTS += \
|
|
--enable-mpi-fortran=yes \
|
|
--cache-file=$(@D)/openmpi-config.cache
|
|
else
|
|
OPENMPI_CONF_OPTS += --enable-mpi-fortran=no
|
|
endif
|
|
|
|
OPENMPI_CFLAGS = $(TARGET_CFLAGS)
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y)
|
|
OPENMPI_CFLAGS += -O0
|
|
endif
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
|
|
OPENMPI_LIBS += -latomic
|
|
endif
|
|
|
|
OPENMPI_CONF_ENV = CFLAGS="$(OPENMPI_CFLAGS)" LIBS="$(OPENMPI_LIBS)"
|
|
|
|
$(eval $(autotools-package))
|