1
1

Merge pull request #6128 from ggouaillardet/topic/v4.0.x/mpiext_short_path

mpiext: keep paths short
Этот коммит содержится в:
Howard Pritchard 2018-12-17 13:22:19 -07:00 коммит произвёл GitHub
родитель 71b83e8a09 ec8b2c47a9
Коммит 4be4282312
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
9 изменённых файлов: 54 добавлений и 18 удалений

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

@ -405,11 +405,15 @@ AC_DEFUN([EXT_CONFIGURE_M4_CONFIG_COMPONENT],[
#--------------------
#
# 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
#
# 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
# into libmpi_mpifh.la
#
@ -461,7 +465,7 @@ AC_DEFUN([EXT_PROCESS_COMPONENT],[
###############
# 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])
@ -479,14 +483,14 @@ AC_DEFUN([EXT_PROCESS_COMPONENT],[
$3="$$3 $component"
# 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"
cat >> $mpi_ext_h <<EOF
/* Enabled Extension: $component */
#define $component_define 1
#include "openmpi/ompi/mpiext/$component/c/$component_header"
#include "openmpi/mpiext/$component_header"
EOF
@ -506,10 +510,36 @@ EOF
AC_MSG_RESULT([yes])
enabled_mpifh=1
# JMS Where is this needed?
EXT_MPIFH_HEADERS="$EXT_MPIFH_HEADERS mpiext/$component/mpif-h/mpiext_${component}_mpifh.h"
EXT_MPIFH_HEADERS="$EXT_MPIFH_HEADERS mpiext/mpiext_${component}_mpifh.h"
$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"
cat >> $mpif_ext_h <<EOF
@ -519,7 +549,7 @@ EOF
integer $component_define
parameter ($component_define=1)
include 'openmpi/ompi/mpiext/$component/mpif-h/$component_header'
include 'openmpi/mpiext/$component_header'
EOF
else
@ -550,7 +580,6 @@ EOF
if test -e "$test_header" ; then
AC_MSG_RESULT([yes])
# JMS Where is this needed?
EXT_USEMPI_HEADERS="$EXT_USEMPI_HEADERS mpiext/$component/use-mpi/mpiext_${component}_usempi.h"
$5="$$5 $component"
component_header="mpiext_${component}_usempi.h"
@ -602,7 +631,6 @@ EOF
if test -e "$test_header" ; then
AC_MSG_RESULT([yes])
# JMS Where is this needed?
EXT_USEMPIF08_HEADERS="$EXT_USEMPIF08_HEADERS mpiext/$component/use-mpi-f08/mpiext_${component}_usempif08.h"
$6="$$6 $component"

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

@ -3,6 +3,8 @@
# University Research and Technology
# Corporation. 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$
#
# 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
# <mpi-ext.h>) must be installed.
ompidir = $(ompiincludedir)/ompi/mpiext/affinity/c
ompidir = $(ompiincludedir)/mpiext/
# This is the header file that is installed.
ompi_HEADERS = mpiext_affinity_c.h

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

@ -3,6 +3,8 @@
# University Research and Technology
# Corporation. 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$
#
# 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
# <mpi-ext.h>) must be installed.
ompidir = $(ompiincludedir)/ompi/mpiext/cr/c
ompidir = $(ompiincludedir)/mpiext
# This is the header file that is installed.
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
# <mpi-ext.h>) must be installed.
ompidir = $(ompiincludedir)/ompi/mpiext/cuda/c
ompidir = $(ompiincludedir)/mpiext
# This is the header file that is installed.
nodist_ompi_HEADERS = mpiext_cuda_c.h

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

@ -4,6 +4,8 @@
# Corporation. 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) 2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
# 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
# <mpi-ext.h>) must be installed.
ompidir = $(ompiincludedir)/ompi/mpiext/example/c
ompidir = $(ompiincludedir)/mpiext
# This is the header file that is installed.
ompi_HEADERS = mpiext_example_c.h

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

@ -4,6 +4,8 @@
# Corporation. 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) 2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -26,7 +28,7 @@ noinst_LTLIBRARIES =
# Directory where the header file to be included in mpif-ext.h must be
# installed.
ompidir = $(ompiincludedir)/ompi/mpiext/example/mpif-h
ompidir = $(ompiincludedir)/mpiext
# Just like noinst_LTLIBRARIES, set this macro to empty and
# 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
# <mpi-ext.h>) must be installed.
ompidir = $(ompiincludedir)/ompi/mpiext/pcollreq/c
ompidir = $(ompiincludedir)/mpiext
# This is the header file that is installed.
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
# <mpi-ext.h>) must be installed.
ompidir = $(ompiincludedir)/ompi/mpiext/pcollreq/c
ompidir = $(ompiincludedir)/mpiext
# This is the header file that is installed.
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
# installed.
ompidir = $(ompiincludedir)/ompi/mpiext/pcollreq/mpif-h
ompidir = $(ompiincludedir)/mpiext
# Just like noinst_LTLIBRARIES, set this macro to empty and
# conditionally add to it later.