1
1

fortran/use-mpi-f08: fix [p]ompi_FOO_f symbols handling

- do not generate bindings for pompi_FOO_f symbols
   (they are simply not used anywhere)

 - move ompi_FOO_f bindings out of mpi_f08.mod into
   ompi_mpifh_bindings.mod that is only used at build time

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Этот коммит содержится в:
Gilles Gouaillardet 2018-07-18 16:44:14 +09:00
родитель 6e04b2a66a
Коммит c6070fd2e0
8 изменённых файлов: 106 добавлений и 3268 удалений

Просмотреть файл

@ -1,7 +1,7 @@
# -*- shell-script -*-
#
# Copyright (c) 2009-2017 Cisco Systems, Inc. All rights reserved
# Copyright (c) 2017 Research Organization for Information Science
# Copyright (c) 2017-2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2018 Los Alamos National Security, LLC. All rights
# reserved.
@ -38,6 +38,7 @@ AC_DEFUN([OMPI_CONFIG_FILES],[
ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h
ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-removed-interfaces.h
ompi/mpi/fortran/use-mpi-f08/Makefile
ompi/mpi/fortran/use-mpi-f08/bindings/Makefile
ompi/mpi/fortran/use-mpi-f08/mod/Makefile
ompi/mpi/fortran/mpiext-use-mpi/Makefile
ompi/mpi/fortran/mpiext-use-mpi-f08/Makefile

Просмотреть файл

@ -15,7 +15,7 @@
# Copyright (c) 2013-2015 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2015-2017 Intel, Inc. All rights reserved.
# Copyright (c) 2015-2017 Research Organization for Information Science
# Copyright (c) 2015-2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
@ -93,6 +93,7 @@ SUBDIRS = \
$(OMPI_FORTRAN_USEMPI_DIR) \
mpi/fortran/mpiext-use-mpi \
mpi/fortran/use-mpi-f08/mod \
mpi/fortran/use-mpi-f08/bindings \
$(OMPI_MPIEXT_USEMPIF08_DIRS) \
mpi/fortran/use-mpi-f08 \
mpi/fortran/mpiext-use-mpi-f08 \
@ -124,6 +125,7 @@ DIST_SUBDIRS = \
mpi/fortran/mpiext-use-mpi \
mpi/fortran/use-mpi-f08 \
mpi/fortran/use-mpi-f08/mod \
mpi/fortran/use-mpi-f08/bindings \
mpi/fortran/mpiext-use-mpi-f08 \
mpi/java \
$(OMPI_MPIEXT_ALL_SUBDIRS) \

Просмотреть файл

@ -7,7 +7,7 @@
# Copyright (c) 2012-2013 Inria. All rights reserved.
# Copyright (c) 2013-2018 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2015-2017 Research Organization for Information Science
# Copyright (c) 2015-2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
# Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
@ -29,6 +29,7 @@ AM_FCFLAGS = -I$(top_builddir)/ompi/include \
-I$(top_srcdir)/ompi/include \
$(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/$(OMPI_FORTRAN_USEMPI_DIR) \
$(OMPI_FC_MODULE_FLAG)mod \
$(OMPI_FC_MODULE_FLAG)bindings \
-I$(top_srcdir) $(FCFLAGS_f90)
MOSTLYCLEANFILES = *.mod
@ -42,7 +43,6 @@ module_sentinel_file = \
mpi-f08.lo: $(module_sentinel_file)
mpi-f08.lo: mpi-f08.F90
mpi-f08.lo: mpi-f-interfaces-bind.h pmpi-f-interfaces-bind.h
mpi-f08.lo: sizeof_f08.h
#
@ -792,8 +792,6 @@ pmpi_api_files = \
lib@OMPI_LIBMPI_NAME@_usempif08_la_SOURCES = \
$(mpi_api_files) \
$(pmpi_api_files) \
mpi-f-interfaces-bind.h \
pmpi-f-interfaces-bind.h \
mpi-f08.F90 \
buffer_detach.c \
constants.h \
@ -830,11 +828,10 @@ lib@OMPI_LIBMPI_NAME@_usempif08_la_LDFLAGS = -version-info $(libmpi_usempif08_so
mpi_api_lo_files = $(mpi_api_files:.F90=.lo)
pmpi_api_lo_files = $(pmpi_api_files:.F90=.lo)
$(mpi_api_lo_files): mpi-f08.lo
$(pmpi_api_lo_files): mpi-f08.lo
$(mpi_api_lo_files): mpi-f08.lo bindings/libforce_usempif08_internal_bindings_to_be_built.la
$(pmpi_api_lo_files): mpi-f08.lo bindings/libforce_usempif08_internal_bindings_to_be_built.la
mpi-f08.lo: $(module_sentinel_file) $(SIZEOF_H)
mpi-f08.lo: mpi-f-interfaces-bind.h pmpi-f-interfaces-bind.h
###########################################################################

Просмотреть файл

@ -0,0 +1,61 @@
# -*- makefile -*-
#
# Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2012-2013 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2012-2013 Inria. All rights reserved.
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2015-2018 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 "use mpi_f08"
# MPI bindings.
if OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS
AM_FCFLAGS = -I$(top_builddir)/ompi/include \
-I$(top_srcdir)/ompi/include \
$(OMPI_FC_MODULE_FLAG)$(top_builddir)/ompi/$(OMPI_FORTRAN_USEMPI_DIR) \
$(OMPI_FC_MODULE_FLAG). \
$(OMPI_FC_MODULE_FLAG)../mod \
-I$(top_srcdir) $(FCFLAGS_f90)
MOSTLYCLEANFILES = *.mod
CLEANFILES += *.i90
###########################################################################
module_sentinel_file = \
libforce_usempif08_internal_bindings_to_be_built.la
noinst_LTLIBRARIES = $(module_sentinel_file)
# f08 support modules
libforce_usempif08_internal_bindings_to_be_built_la_SOURCES = \
mpi-f-interfaces-bind.h \
ompi-mpifh-bindings.F90
#
# Automake doesn't do Fortran dependency analysis, so must list them
# manually here. Bummer!
#
ompi-mpifh-bindings.lo: mpi-f-interfaces-bind.h
distclean-local:
rm -f *.mod
endif

Просмотреть файл

@ -0,0 +1,35 @@
! -*- f90 -*-
!
! Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
! University Research and Technology
! Corporation. All rights reserved.
! Copyright (c) 2004-2005 The University of Tennessee and The University
! of Tennessee Research Foundation. All rights
! reserved.
! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
! University of Stuttgart. All rights reserved.
! Copyright (c) 2004-2005 The Regents of the University of California.
! All rights reserved.
! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2016-2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
! Additional copyrights may follow
!
! $HEADER$
!
#include "ompi/mpi/fortran/configure-fortran-output.h"
module ompi_mpifh_bindings
!
! Declaration of the interfaces to the ompi impl files
! e.g., send_f.c
!
#include "mpi-f-interfaces-bind.h"
end module ompi_mpifh_bindings

Просмотреть файл

@ -13,7 +13,7 @@
! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2016-2017 Research Organization for Information Science
! Copyright (c) 2016-2018 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
@ -32,13 +32,6 @@ module mpi_f08
use mpi_f08_callbacks ! this module contains the mpi_f08 attribute callback subroutines
use mpi_f08_interfaces_callbacks ! this module contains the mpi_f08 callback interfaces
!
! Declaration of the interfaces to the ompi impl files
! e.g., send_f.c
!
#include "mpi-f-interfaces-bind.h"
#include "pmpi-f-interfaces-bind.h"
! The sizeof interfaces
include "sizeof_f08.h"

Разница между файлами не показана из-за своего большого размера Загрузить разницу