
This commit adds a new configure option: --enable-mpi1-compat. Without this option we will no longer provide APIs, typedefs, and defines that were removed from the standard in MPI-3.0. This option will exist for one major release (Open MPI v4.x.x) and then the option and associated code will be removed in Open MPI v5.x.x. Open MPI has already internally prepared for this change. Please prepare your codes accordingly. Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
124 строки
4.1 KiB
Makefile
124 строки
4.1 KiB
Makefile
# -*- makefile -*-
|
|
#
|
|
# Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
|
|
# Copyright (c) 2015 Research Organization for Information Science
|
|
# and Technology (RIST). All rights reserved.
|
|
# Copyright (c) 2016 IBM Corporation. All rights reserved.
|
|
#
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
include $(top_srcdir)/Makefile.ompi-rules
|
|
|
|
# This Makefile is only relevant if we're building the ignore-TKR "use
|
|
# mpi" MPI bindings.
|
|
if OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS
|
|
|
|
AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1
|
|
|
|
AM_FCFLAGS = -I$(top_builddir)/ompi/include -I$(top_srcdir)/ompi/include \
|
|
-I$(top_builddir) -I$(top_srcdir) $(FCFLAGS_f90)
|
|
|
|
lib_LTLIBRARIES = lib@OMPI_LIBMPI_NAME@_usempi_ignore_tkr.la
|
|
|
|
mpi-ignore-tkr-interfaces.h: mpi-ignore-tkr-interfaces.h.in
|
|
mpi-ignore-tkr-file-interfaces.h: mpi-ignore-tkr-file-interfaces.h.in
|
|
mpi-ignore-tkr-removed-interfaces.h: mpi-ignore-tkr-removed-interfaces.h.in
|
|
|
|
mpi-ignore-tkr.lo: $(top_srcdir)/ompi/mpi/fortran/base/attr-fn-int-callback-interfaces.h
|
|
mpi-ignore-tkr.lo: $(top_srcdir)/ompi/mpi/fortran/base/conversion-fn-null-int-interface.h
|
|
mpi-ignore-tkr.lo: mpi-ignore-tkr-interfaces.h
|
|
mpi-ignore-tkr.lo: mpi-ignore-tkr-file-interfaces.h
|
|
mpi-ignore-tkr.lo: mpi-ignore-tkr-removed-interfaces.h
|
|
mpi-ignore-tkr.lo: mpi-ignore-tkr-sizeof.h
|
|
mpi-ignore-tkr.lo: mpi-ignore-tkr-sizeof.f90
|
|
mpi-ignore-tkr.lo: mpi-ignore-tkr.F90
|
|
|
|
lib@OMPI_LIBMPI_NAME@_usempi_ignore_tkr_la_SOURCES = \
|
|
mpi-ignore-tkr.F90
|
|
nodist_lib@OMPI_LIBMPI_NAME@_usempi_ignore_tkr_la_SOURCES = \
|
|
mpi-ignore-tkr-interfaces.h \
|
|
mpi-ignore-tkr-file-interfaces.h \
|
|
mpi-ignore-tkr-removed-interfaces.h
|
|
|
|
if BUILD_FORTRAN_SIZEOF
|
|
# These files are generated; do not distribute them
|
|
nodist_lib@OMPI_LIBMPI_NAME@_usempi_ignore_tkr_la_SOURCES += \
|
|
mpi-ignore-tkr-sizeof.h \
|
|
mpi-ignore-tkr-sizeof.f90
|
|
endif
|
|
|
|
# Note that we invoke some OPAL functions directly in
|
|
# libmpi_usempi_ignore_tkr.la, so we need to link in the OPAL library
|
|
# directly (pulling it in indirectly via libmpi.la does not work on
|
|
# all platforms).
|
|
lib@OMPI_LIBMPI_NAME@_usempi_ignore_tkr_la_LIBADD = \
|
|
$(OMPI_TOP_BUILDDIR)/opal/lib@OPAL_LIB_PREFIX@open-pal.la
|
|
lib@OMPI_LIBMPI_NAME@_usempi_ignore_tkr_la_LDFLAGS = \
|
|
-version-info $(libmpi_usempi_ignore_tkr_so_version) \
|
|
$(OMPI_FORTRAN_EXTRA_SHARED_LIBRARY_FLAGS)
|
|
|
|
#
|
|
# mpi-ignore-tkr-sizeof.* are generated based on some results from
|
|
# configure tests.
|
|
#
|
|
|
|
sizeof_pl=$(top_srcdir)/ompi/mpi/fortran/base/gen-mpi-sizeof.pl
|
|
|
|
mpi-ignore-tkr-sizeof.h: $(top_builddir)/config.status
|
|
mpi-ignore-tkr-sizeof.h: $(sizeof_pl)
|
|
mpi-ignore-tkr-sizeof.h:
|
|
$(OMPI_V_GEN) $(sizeof_pl) \
|
|
--header=$@ --ierror=mandatory \
|
|
--maxrank=$(OMPI_FORTRAN_MAX_ARRAY_RANK) \
|
|
--generate=$(OMPI_FORTRAN_BUILD_SIZEOF) \
|
|
--real16=$(OMPI_HAVE_FORTRAN_REAL16) \
|
|
--complex32=$(OMPI_HAVE_FORTRAN_COMPLEX32)
|
|
|
|
mpi-ignore-tkr-sizeof.f90: $(top_builddir)/config.status
|
|
mpi-ignore-tkr-sizeof.f90: $(sizeof_pl)
|
|
mpi-ignore-tkr-sizeof.f90:
|
|
$(OMPI_V_GEN) $(sizeof_pl) \
|
|
--impl=$@ --ierror=mandatory --mpi --pmpi \
|
|
--maxrank=$(OMPI_FORTRAN_MAX_ARRAY_RANK) \
|
|
--generate=$(OMPI_FORTRAN_BUILD_SIZEOF) \
|
|
--real16=$(OMPI_HAVE_FORTRAN_REAL16) \
|
|
--complex32=$(OMPI_HAVE_FORTRAN_COMPLEX32)
|
|
|
|
#
|
|
# Clean up generated and module files
|
|
#
|
|
|
|
CLEANFILES += mpi-ignore-tkr-sizeof.h mpi-ignore-tkr-sizeof.f90
|
|
MOSTLYCLEANFILES = *.mod
|
|
CLEANFILES += *.i90
|
|
|
|
# Install the generated .mod files. Unfortunately, each F90 compiler
|
|
# may generate different filenames, so we have to use a glob. :-(
|
|
|
|
install-exec-hook:
|
|
@ for file in `ls *.mod`; do \
|
|
echo $(INSTALL) $$file $(DESTDIR)$(libdir); \
|
|
$(INSTALL) $$file $(DESTDIR)$(libdir); \
|
|
done
|
|
|
|
uninstall-local:
|
|
@ for file in `ls *.mod`; do \
|
|
echo rm -f $(DESTDIR)$(libdir)/$$file; \
|
|
rm -f $(DESTDIR)$(libdir)/$$file; \
|
|
done
|
|
else
|
|
|
|
# Need to have empty targets because AM can't handle having an
|
|
# AM_CONDITIONAL was targets in the "if" statement but not in the
|
|
# "else". :-(
|
|
|
|
install-exec-hook:
|
|
uninstall-local:
|
|
|
|
endif
|