Merge pull request #6128 from ggouaillardet/topic/v4.0.x/mpiext_short_path
mpiext: keep paths short
Этот коммит содержится в:
Коммит
4be4282312
@ -405,11 +405,15 @@ AC_DEFUN([EXT_CONFIGURE_M4_CONFIG_COMPONENT],[
|
|||||||
#--------------------
|
#--------------------
|
||||||
#
|
#
|
||||||
# C:
|
# C:
|
||||||
# - c/mpiext_<component>_c.h: is included in mpi_ext.h
|
# - c/mpiext_<component>_c.h: is installed to
|
||||||
|
# <includedir>/openmpi/mpiext/mpiext_<component>_c.h and is included in
|
||||||
|
# mpi_ext.h
|
||||||
# - c/libmpiext_<component>.la: convneience library slurped into libmpi.la
|
# - c/libmpiext_<component>.la: convneience library slurped into libmpi.la
|
||||||
#
|
#
|
||||||
# mpi.f.h:
|
# mpi.f.h:
|
||||||
# - mpif-h/mpiext_<component>_mpifh.h: is included mpi mpif_ext.h
|
# - mpif-h/mpiext_<component>_mpifh.h: is installed to
|
||||||
|
# <includedir>openmpi/mpiext/mpiext_<component>_mpifh.h and is included mpi
|
||||||
|
# mpif_ext.h
|
||||||
# - mpif-h/libmpiext_<component>_mpifh.la: convenience library slurped
|
# - mpif-h/libmpiext_<component>_mpifh.la: convenience library slurped
|
||||||
# into libmpi_mpifh.la
|
# into libmpi_mpifh.la
|
||||||
#
|
#
|
||||||
@ -461,7 +465,7 @@ AC_DEFUN([EXT_PROCESS_COMPONENT],[
|
|||||||
###############
|
###############
|
||||||
# C Bindings
|
# C Bindings
|
||||||
###############
|
###############
|
||||||
test_header="${srcdir}/ompi/mpiext/$component/c/mpiext_${component}_c.h"
|
test_header="${srcdir}/ompi/mpiext/${component}/c/mpiext_${component}_c.h"
|
||||||
|
|
||||||
AC_MSG_CHECKING([if MPI Extension $component has C bindings])
|
AC_MSG_CHECKING([if MPI Extension $component has C bindings])
|
||||||
|
|
||||||
@ -479,14 +483,14 @@ AC_DEFUN([EXT_PROCESS_COMPONENT],[
|
|||||||
$3="$$3 $component"
|
$3="$$3 $component"
|
||||||
|
|
||||||
# JMS Where is this needed?
|
# JMS Where is this needed?
|
||||||
EXT_C_HEADERS="$EXT_C_HEADERS mpiext/$component/c/mpiext_${component}_c.h"
|
EXT_C_HEADERS="$EXT_C_HEADERS mpiext/c/mpiext_${component}_c.h"
|
||||||
|
|
||||||
component_header="mpiext_${component}_c.h"
|
component_header="mpiext_${component}_c.h"
|
||||||
|
|
||||||
cat >> $mpi_ext_h <<EOF
|
cat >> $mpi_ext_h <<EOF
|
||||||
/* Enabled Extension: $component */
|
/* Enabled Extension: $component */
|
||||||
#define $component_define 1
|
#define $component_define 1
|
||||||
#include "openmpi/ompi/mpiext/$component/c/$component_header"
|
#include "openmpi/mpiext/$component_header"
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@ -506,10 +510,36 @@ EOF
|
|||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
enabled_mpifh=1
|
enabled_mpifh=1
|
||||||
|
|
||||||
# JMS Where is this needed?
|
EXT_MPIFH_HEADERS="$EXT_MPIFH_HEADERS mpiext/mpiext_${component}_mpifh.h"
|
||||||
EXT_MPIFH_HEADERS="$EXT_MPIFH_HEADERS mpiext/$component/mpif-h/mpiext_${component}_mpifh.h"
|
|
||||||
$4="$$4 $component"
|
$4="$$4 $component"
|
||||||
|
|
||||||
|
# Per https://github.com/open-mpi/ompi/pull/6030, we will end
|
||||||
|
# up putting a user-visible Fortran "include" statement in the
|
||||||
|
# installed mpif-ext.h file, and we therefore have to ensure
|
||||||
|
# that the total length of the line is <=72 characters. Doing
|
||||||
|
# a little math here:
|
||||||
|
#
|
||||||
|
# leading indent spaces: 6 chars
|
||||||
|
# "include '": 9 chars
|
||||||
|
# "openmpi/mpiext/mpiext_NAME_mpifh.h": without NAME, 30 chars
|
||||||
|
# trailing "'": 1 char
|
||||||
|
#
|
||||||
|
# 6+9+30+1 = 46 chars overhead.
|
||||||
|
# 72-46 = 26 characters left for NAME.
|
||||||
|
#
|
||||||
|
# It would be exceedingly unusual to have an MPI extension
|
||||||
|
# name > 26 characters. But just in case, put a check here
|
||||||
|
# to make sure: error out if the MPI extension name is > 26
|
||||||
|
# characters (because otherwise it'll just be a really weird /
|
||||||
|
# hard to diagnose compile error when a user tries to compile
|
||||||
|
# a Fortran MPI application that includes `mpif-ext.h`).
|
||||||
|
len=`echo $component | wc -c`
|
||||||
|
result=`expr $len \> 26`
|
||||||
|
AS_IF([test $result -eq 1],
|
||||||
|
[AC_MSG_WARN([MPI extension name too long: $component])
|
||||||
|
AC_MSG_WARN([For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters])
|
||||||
|
AC_MSG_ERROR([Cannot continue])])
|
||||||
|
|
||||||
component_header="mpiext_${component}_mpifh.h"
|
component_header="mpiext_${component}_mpifh.h"
|
||||||
|
|
||||||
cat >> $mpif_ext_h <<EOF
|
cat >> $mpif_ext_h <<EOF
|
||||||
@ -519,7 +549,7 @@ EOF
|
|||||||
integer $component_define
|
integer $component_define
|
||||||
parameter ($component_define=1)
|
parameter ($component_define=1)
|
||||||
|
|
||||||
include 'openmpi/ompi/mpiext/$component/mpif-h/$component_header'
|
include 'openmpi/mpiext/$component_header'
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
else
|
else
|
||||||
@ -550,7 +580,6 @@ EOF
|
|||||||
if test -e "$test_header" ; then
|
if test -e "$test_header" ; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
|
|
||||||
# JMS Where is this needed?
|
|
||||||
EXT_USEMPI_HEADERS="$EXT_USEMPI_HEADERS mpiext/$component/use-mpi/mpiext_${component}_usempi.h"
|
EXT_USEMPI_HEADERS="$EXT_USEMPI_HEADERS mpiext/$component/use-mpi/mpiext_${component}_usempi.h"
|
||||||
$5="$$5 $component"
|
$5="$$5 $component"
|
||||||
component_header="mpiext_${component}_usempi.h"
|
component_header="mpiext_${component}_usempi.h"
|
||||||
@ -602,7 +631,6 @@ EOF
|
|||||||
if test -e "$test_header" ; then
|
if test -e "$test_header" ; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
|
|
||||||
# JMS Where is this needed?
|
|
||||||
EXT_USEMPIF08_HEADERS="$EXT_USEMPIF08_HEADERS mpiext/$component/use-mpi-f08/mpiext_${component}_usempif08.h"
|
EXT_USEMPIF08_HEADERS="$EXT_USEMPIF08_HEADERS mpiext/$component/use-mpi-f08/mpiext_${component}_usempif08.h"
|
||||||
$6="$$6 $component"
|
$6="$$6 $component"
|
||||||
|
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
# University Research and Technology
|
# University Research and Technology
|
||||||
# Corporation. All rights reserved.
|
# Corporation. All rights reserved.
|
||||||
# Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2018 Research Organization for Information Science
|
||||||
|
# and Technology (RIST). All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
||||||
@ -30,7 +32,7 @@ noinst_LTLIBRARIES = libmpiext_affinity_c.la
|
|||||||
|
|
||||||
# This is where the top-level header file (that is included in
|
# This is where the top-level header file (that is included in
|
||||||
# <mpi-ext.h>) must be installed.
|
# <mpi-ext.h>) must be installed.
|
||||||
ompidir = $(ompiincludedir)/ompi/mpiext/affinity/c
|
ompidir = $(ompiincludedir)/mpiext/
|
||||||
|
|
||||||
# This is the header file that is installed.
|
# This is the header file that is installed.
|
||||||
ompi_HEADERS = mpiext_affinity_c.h
|
ompi_HEADERS = mpiext_affinity_c.h
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
# University Research and Technology
|
# University Research and Technology
|
||||||
# Corporation. All rights reserved.
|
# Corporation. All rights reserved.
|
||||||
# Copyright (c) 2012 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2012 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2018 Research Organization for Information Science
|
||||||
|
# and Technology (RIST). All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
||||||
@ -22,7 +24,7 @@ noinst_LTLIBRARIES = libmpiext_cr_c.la
|
|||||||
|
|
||||||
# This is where the top-level header file (that is included in
|
# This is where the top-level header file (that is included in
|
||||||
# <mpi-ext.h>) must be installed.
|
# <mpi-ext.h>) must be installed.
|
||||||
ompidir = $(ompiincludedir)/ompi/mpiext/cr/c
|
ompidir = $(ompiincludedir)/mpiext
|
||||||
|
|
||||||
# This is the header file that is installed.
|
# This is the header file that is installed.
|
||||||
ompi_HEADERS = mpiext_cr_c.h
|
ompi_HEADERS = mpiext_cr_c.h
|
||||||
|
@ -27,7 +27,7 @@ noinst_LTLIBRARIES = libmpiext_cuda_c.la
|
|||||||
|
|
||||||
# This is where the top-level header file (that is included in
|
# This is where the top-level header file (that is included in
|
||||||
# <mpi-ext.h>) must be installed.
|
# <mpi-ext.h>) must be installed.
|
||||||
ompidir = $(ompiincludedir)/ompi/mpiext/cuda/c
|
ompidir = $(ompiincludedir)/mpiext
|
||||||
|
|
||||||
# This is the header file that is installed.
|
# This is the header file that is installed.
|
||||||
nodist_ompi_HEADERS = mpiext_cuda_c.h
|
nodist_ompi_HEADERS = mpiext_cuda_c.h
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
# Corporation. All rights reserved.
|
# Corporation. All rights reserved.
|
||||||
# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
|
# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
|
||||||
# Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2018 Research Organization for Information Science
|
||||||
|
# and Technology (RIST). All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
||||||
@ -23,7 +25,7 @@ noinst_LTLIBRARIES = libmpiext_example_c.la
|
|||||||
|
|
||||||
# This is where the top-level header file (that is included in
|
# This is where the top-level header file (that is included in
|
||||||
# <mpi-ext.h>) must be installed.
|
# <mpi-ext.h>) must be installed.
|
||||||
ompidir = $(ompiincludedir)/ompi/mpiext/example/c
|
ompidir = $(ompiincludedir)/mpiext
|
||||||
|
|
||||||
# This is the header file that is installed.
|
# This is the header file that is installed.
|
||||||
ompi_HEADERS = mpiext_example_c.h
|
ompi_HEADERS = mpiext_example_c.h
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
# Corporation. All rights reserved.
|
# Corporation. All rights reserved.
|
||||||
# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
|
# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
|
||||||
# Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2018 Research Organization for Information Science
|
||||||
|
# and Technology (RIST). All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
||||||
@ -26,7 +28,7 @@ noinst_LTLIBRARIES =
|
|||||||
|
|
||||||
# Directory where the header file to be included in mpif-ext.h must be
|
# Directory where the header file to be included in mpif-ext.h must be
|
||||||
# installed.
|
# installed.
|
||||||
ompidir = $(ompiincludedir)/ompi/mpiext/example/mpif-h
|
ompidir = $(ompiincludedir)/mpiext
|
||||||
|
|
||||||
# Just like noinst_LTLIBRARIES, set this macro to empty and
|
# Just like noinst_LTLIBRARIES, set this macro to empty and
|
||||||
# conditionally add to it later.
|
# conditionally add to it later.
|
||||||
|
@ -23,7 +23,7 @@ noinst_LTLIBRARIES = libmpiext_pcollreq_c.la
|
|||||||
|
|
||||||
# This is where the top-level header file (that is included in
|
# This is where the top-level header file (that is included in
|
||||||
# <mpi-ext.h>) must be installed.
|
# <mpi-ext.h>) must be installed.
|
||||||
ompidir = $(ompiincludedir)/ompi/mpiext/pcollreq/c
|
ompidir = $(ompiincludedir)/mpiext
|
||||||
|
|
||||||
# This is the header file that is installed.
|
# This is the header file that is installed.
|
||||||
ompi_HEADERS = mpiext_pcollreq_c.h
|
ompi_HEADERS = mpiext_pcollreq_c.h
|
||||||
|
@ -22,7 +22,7 @@ noinst_LTLIBRARIES = libpmpiext_pcollreq_c.la
|
|||||||
|
|
||||||
# This is where the top-level header file (that is included in
|
# This is where the top-level header file (that is included in
|
||||||
# <mpi-ext.h>) must be installed.
|
# <mpi-ext.h>) must be installed.
|
||||||
ompidir = $(ompiincludedir)/ompi/mpiext/pcollreq/c
|
ompidir = $(ompiincludedir)/mpiext
|
||||||
|
|
||||||
# This is the header file that is installed.
|
# This is the header file that is installed.
|
||||||
ompi_HEADERS = pmpiext_pcollreq_c.h
|
ompi_HEADERS = pmpiext_pcollreq_c.h
|
||||||
|
@ -31,7 +31,7 @@ noinst_LTLIBRARIES =
|
|||||||
|
|
||||||
# Directory where the header file to be included in mpif-ext.h must be
|
# Directory where the header file to be included in mpif-ext.h must be
|
||||||
# installed.
|
# installed.
|
||||||
ompidir = $(ompiincludedir)/ompi/mpiext/pcollreq/mpif-h
|
ompidir = $(ompiincludedir)/mpiext
|
||||||
|
|
||||||
# Just like noinst_LTLIBRARIES, set this macro to empty and
|
# Just like noinst_LTLIBRARIES, set this macro to empty and
|
||||||
# conditionally add to it later.
|
# conditionally add to it later.
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user