Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
85222a2
spellcheck: skip word indx
hzhou Aug 17, 2026
3763ca3
datatype: fix MPIR_Abi_set_fortran_info_impl
hzhou May 13, 2026
d95efcd
romio: call AC_USE_SYSTEM_EXTENSIONS early
hzhou Jan 1, 2026
e46963e
abi: only build mpi abi with --enable-mpi-abi
hzhou Dec 29, 2025
f2bb26f
configure: clean up setting of ABIVERSIONFLAGS
hzhou May 11, 2026
1683f5d
mpi.h: rename mpi.h.in to mpi_mpich.h.in
hzhou Jan 1, 2026
50b4b39
makefile: remove the mpich-specific installation links
hzhou Dec 22, 2025
89745eb
configure: remove devsubsystems and bindingsubsystems
hzhou Dec 23, 2025
c446755
configure: remove define of FORTRAN_BINDING
hzhou Dec 22, 2025
a0da35f
datatype: set Fortran datatypes in mpirinitc_
hzhou Dec 22, 2025
301d2d7
binding/f77: always do handle conversions
hzhou May 13, 2026
d033612
configure/fortran: remove variable FORTRAN_MPI_OFFSET
hzhou Dec 28, 2025
d3d474a
romio: remove configure for Fortran
hzhou Dec 28, 2025
d8c3b9c
mpi.h: only support MPI_Fint as int in mpi.h
hzhou Dec 22, 2025
5b65ed2
configure: refactor wrapper-related macros
hzhou May 12, 2026
325a8d3
binding/fortran: split mpif_h/cmblk.c and .gitignore
hzhou May 7, 2026
9325709
binding/fortran: running python gen scripts from subdir
hzhou Jan 2, 2026
ebaa50f
fortran: fortran binding as a separate package
hzhou Dec 21, 2025
e55440d
binding/fortran: move mpifort to standalone fortran
hzhou May 11, 2026
d71db5f
binding/fortran: add MPIX_Init_fortran
hzhou May 13, 2026
0af37fb
fortran/f08: call MPIX_Init_fortran
hzhou May 14, 2026
bee4259
fortran/f08: always enable file routines
hzhou May 20, 2026
2177f33
test: fix f08/info/infocrenvf90.f90
hzhou May 20, 2026
2efc888
python/f08: MPI_Info_create_env need argc and argv
hzhou May 23, 2026
551c5d1
include: split mpi_fortran.h from mpi.h
hzhou May 25, 2026
6437ff4
mpir: remove prototypes for fortran callbacks
hzhou May 26, 2026
744f96c
binding/fortran: move interop interface to mpifort
hzhou May 26, 2026
e94dfb0
warnings: conflicting types for MPI_F_STATUS_IGNORE
hzhou Aug 12, 2026
fd5e92b
fortran: return MPI_ERR_ARG in f2c_impl.c
hzhou Aug 12, 2026
664aa0b
fortran/mpif_h: use _toint instead of _c2f in user_proxy.c
hzhou Aug 13, 2026
60c0e65
fortran: assume opaque MPI_Status
hzhou Aug 15, 2026
09b1c57
fortran: check skip Fortran directive
hzhou Aug 17, 2026
4100e82
fortran/mpif_h: add _f2c/c2f functions
hzhou Aug 15, 2026
4931025
fortran/f08: refactor dump_f08_wrappers_f
hzhou Aug 17, 2026
4e677d8
fortran/f08: fix long USE lines in dump_F_uses
hzhou Aug 17, 2026
bc1dc2c
fortran/f08: use f2c routines to convert MPI_VAL
hzhou Aug 17, 2026
9e25b88
fortran/f08: add dump_decl_list to deduplicate c_decl_list
hzhou Aug 17, 2026
ca118a0
fortran: add configure check to build without MPIX
hzhou Aug 17, 2026
5d72a19
temp: fixup fortran/configure dependency on mpi.h
hzhou Aug 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 2 additions & 64 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,6 @@ Makefile.am-stamp
# random additions
/README.envvar
/maint/extracterrmsgs
/src/binding/fortran/use_mpi/mpi_base.f90.in
/src/binding/fortran/use_mpi/mpi_constants.f90.in
/src/mpi/romio/include/mpio.h
/src/mpid/ch3/channels/nemesis/include/mpid_nem_net_module_defs.h
/src/packaging/envmods/mpich2.module
Expand All @@ -189,14 +187,6 @@ Makefile.am-stamp
/src/packaging/pkgconfig/mpich.pc
/src/mpi/coll/src/csel_json_autogen.c

# stamp "witness" files from the new build system
/src/binding/fortran/use_mpi/mpi.mod-stamp
/src/binding/fortran/use_mpi/mpi_base.mod-stamp
/src/binding/fortran/use_mpi/pmpi_base.mod-stamp
/src/binding/fortran/use_mpi/mpi_constants.mod-stamp
/src/binding/fortran/use_mpi/mpi_sizeofs.mod-stamp
/src/binding/fortran/use_mpi_f08/*.stamp

/src/mpe2/src/callstack/bin/bt2line

# MPL build products
Expand Down Expand Up @@ -403,50 +393,6 @@ Makefile.am-stamp
/src/binding/cxx/cov2html
/src/binding/cxx/*.h

# /src/binding/fortran/mpif_h/
/src/binding/fortran/mpif_h/include
/src/binding/fortran/mpif_h/Makefile.sm
/src/binding/fortran/mpif_h/mpif_bottom.h
/src/binding/fortran/mpif_h/setbotf.f
/src/binding/fortran/mpif_h/setbot.c
/src/binding/fortran/mpif_h/mpif77.conf
/src/binding/fortran/mpif_h/mpif77
/src/binding/fortran/mpif_h/fproto.h
/src/binding/fortran/mpif_h/mpif.h
/src/binding/fortran/mpif_h/mpif.h.in
/src/binding/fortran/mpif_h/fortran_profile.h
/src/binding/fortran/mpif_h/fortran_binding.c

# /src/binding/fortran/use_mpi/
/src/binding/fortran/use_mpi/mpi_base.f90.orig
/src/binding/fortran/use_mpi/mpi_base.f90.new
/src/binding/fortran/use_mpi/mpif.h
/src/binding/fortran/use_mpi/Makefile.sm
/src/binding/fortran/use_mpi/mpi_t1.f90
/src/binding/fortran/use_mpi/mpimod.pcl
/src/binding/fortran/use_mpi/mpi_sizeofs.f90
/src/binding/fortran/use_mpi/mpi_base.f90
/src/binding/fortran/use_mpi/pmpi_base.f90
/src/binding/fortran/use_mpi/mpif90type.h
/src/binding/fortran/use_mpi/mpi_constants.f90
/src/binding/fortran/use_mpi/mpifnoext.h

# generated by src/binding/fortran/use_mpi_f08/buildiface
/src/binding/fortran/use_mpi_f08/mpi_f08_compile_constants.f90
/src/binding/fortran/use_mpi_f08/mpi_f08_compile_constants.f90.in
# translated by configure
/src/binding/fortran/use_mpi_f08/mpi_c_interface_types.f90
# generated by gen_binding_f08.py
/src/binding/fortran/use_mpi_f08/mpi_f08.f90
/src/binding/fortran/use_mpi_f08/pmpi_f08.f90
/src/binding/fortran/use_mpi_f08/mpi_f08_types.f90
/src/binding/fortran/use_mpi_f08/mpi_c_interface_cdesc.f90
/src/binding/fortran/use_mpi_f08/mpi_c_interface_nobuf.f90
/src/binding/fortran/use_mpi_f08/wrappers_f/f08ts.f90
/src/binding/fortran/use_mpi_f08/wrappers_f/pf08ts.f90
/src/binding/fortran/use_mpi_f08/wrappers_c/f08_cdesc.c
/src/binding/fortran/use_mpi_f08/wrappers_c/cdesc_proto.h

# generated by maint/gen_coll.py
/src/mpi/coll/mpir_coll.c
/src/mpi/coll/include/coll_algos.h
Expand All @@ -460,24 +406,16 @@ Makefile.am-stamp
/src/env/mpicxx.sh
/src/env/mpicxx.bash
/src/env/mpicxx.conf
/src/env/mpif77
/src/env/mpif77.sh
/src/env/mpif77.bash
/src/env/mpif77.conf
/src/env/mpifort
/src/env/mpifort.sh
/src/env/mpifort.bash
/src/env/mpichversion
/src/env/parkill
/src/env/mpivars
/src/env/mpixxx_opts.conf
/src/env/cc_shlib.conf
/src/env/cxx_shlib.conf
/src/env/f77_shlib.conf
/src/env/fc_shlib.conf

# /src/include/
/src/include/mpi.h
/src/include/mpi_mpich.h
/src/include/mpif.h
#/src/include/mpe_thread.h
/src/include/mpimod.pcl
Expand Down Expand Up @@ -509,7 +447,7 @@ Makefile.am-stamp
/src/mpi/romio/cscope.out

# /src/mpi/romio/include/
/src/mpi/romio/include/mpio.h mpiof.h
/src/mpi/romio/include/mpio.h

# /src/mpi/romio/mpi-io/

Expand Down
145 changes: 35 additions & 110 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ ACLOCAL_AMFLAGS = -I confdb
# before appending to them with "+="
AM_CFLAGS = @VISIBILITY_CFLAGS@
AM_CPPFLAGS =
AM_FFLAGS =
AM_FCFLAGS =
include_HEADERS =
nodist_include_HEADERS =
nodist_noinst_HEADERS =
Expand Down Expand Up @@ -47,7 +45,7 @@ pkgconfigdir = @pkgconfigdir@
# to build src/mpi/errhan/defmsg.h
errnames_txt_files =

external_subdirs = @mpl_srcdir@ @hwloc_srcdir@ @json_srcdir@ @yaksa_srcdir@ @pmi_srcdir@
external_subdirs = @mpl_srcdir@ @hwloc_srcdir@ @json_srcdir@ @yaksa_srcdir@ @pmi_srcdir@ @fortrandir@
external_ldflags = @RPATHS@
external_libs = @WRAPPER_LIBS@

Expand Down Expand Up @@ -77,19 +75,6 @@ lib_lib@PMPILIBNAME@_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(lib_lib@PMPILIBNAME@_la_CFLAGS) $(CFLAGS) \
$(lib_lib@PMPILIBNAME@_la_LDFLAGS) $(LDFLAGS) -o $@

if BUILD_F77_BINDING
if BUILD_FC_BINDING
lib_lib@MPIFCLIBNAME@_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=FC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(FCLD) \
$(AM_FCFLAGS) $(FCFLAGS) $(lib_lib@MPIFCLIBNAME@_la_LDFLAGS) \
$(LDFLAGS) -o $@
else !BUILD_FC_BINDING
lib_lib@MPIFCLIBNAME@_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(F77LD) \
$(AM_FFLAGS) $(FFLAGS) $(lib_lib@MPIFCLIBNAME@_la_LDFLAGS) \
$(LDFLAGS) -o $@
endif !BUILD_FC_BINDING
endif BUILD_F77_BINDING

## Create lists of files for different libraries
##
Expand All @@ -101,8 +86,7 @@ endif BUILD_F77_BINDING
## lib@PMPILIBNAME@ (which is the same as lib@MPILIBNAME@ on systems
## that support weak symbols).
##
## mpi_abi_sources: similar to mpi_sources, but used to compile
## lib@MPIABILIBNAME@.
## mpi_abi_sources: similar to mpi_sources, but used if BUILD_ABI_LIB.
##
## mpi_cxx_sources: When compiled with -DMPICH_MPI_FROM_PMPI, these
## files provide the "MPI" public functions for the C++ bindings and
Expand All @@ -112,22 +96,24 @@ endif BUILD_F77_BINDING
## that are used by all bindings.
mpi_sources =
mpi_abi_sources =
mpi_fc_modules =
mpi_cxx_sources =
mpi_core_sources =
mpi_abi_core_sources =
mpifort_convenience_libs = @mpl_lib@

lib_LTLIBRARIES =

# include our subdir automake fragments
include src/Makefile.mk
include packaging/Makefile.mk

if ! BUILD_ABI_LIB
if BUILD_PROFILING_LIB
# -------- mpich-abi: libpmpi + libmpi ------------------
#
lib_LTLIBRARIES += lib/lib@PMPILIBNAME@.la
lib_lib@PMPILIBNAME@_la_SOURCES = $(mpi_sources) $(mpi_core_sources)
lib_lib@PMPILIBNAME@_la_LDFLAGS = $(external_ldflags) $(ABIVERSIONFLAGS)
lib_lib@PMPILIBNAME@_la_CPPFLAGS = $(AM_CPPFLAGS)
lib_lib@PMPILIBNAME@_la_LIBADD = $(external_libs) $(pmpi_convenience_libs) $(mpi_convenience_libs)
EXTRA_lib_lib@PMPILIBNAME@_la_DEPENDENCIES = $(pmpi_convenience_libs) $(mpi_convenience_libs)

Expand All @@ -141,7 +127,8 @@ lib_lib@MPILIBNAME@_la_CPPFLAGS = $(AM_CPPFLAGS) -DMPICH_MPI_FROM_PMPI
lib_lib@MPILIBNAME@_la_LIBADD = lib/lib@PMPILIBNAME@.la

else !BUILD_PROFILING_LIB

# -------- mpich-abi: libmpi ------------------
#
lib_LTLIBRARIES += lib/lib@MPILIBNAME@.la
lib_lib@MPILIBNAME@_la_SOURCES = $(mpi_sources) $(mpi_core_sources)
lib_lib@MPILIBNAME@_la_LDFLAGS = $(external_ldflags) $(ABIVERSIONFLAGS)
Expand All @@ -151,55 +138,48 @@ EXTRA_lib_lib@MPILIBNAME@_la_DEPENDENCIES = $(pmpi_convenience_libs) $(mpi_conve

endif !BUILD_PROFILING_LIB

if BUILD_ABI_LIB
else BUILD_ABI_LIB
abi_cppflags = -DMPICH_BUILD_MPI_ABI -I$(srcdir)/src/binding/abi
if BUILD_PROFILING_LIB
# dropping mpi_fc_sources and mpi_cxx_sources from libmpmpi since they
# don't contribute any PMPI symbols.
lib_LTLIBRARIES += lib/lib@PMPIABILIBNAME@.la
lib_lib@PMPIABILIBNAME@_la_SOURCES = $(mpi_abi_sources) $(mpi_f77_sources) $(mpi_core_sources) $(mpi_abi_core_sources)
lib_lib@PMPIABILIBNAME@_la_LDFLAGS = $(external_ldflags) $(ABI_ABIVERSIONFLAGS)
lib_lib@PMPIABILIBNAME@_la_CPPFLAGS = $(AM_CPPFLAGS) -DF77_USE_PMPI $(abi_cppflags)
lib_lib@PMPIABILIBNAME@_la_LIBADD = $(external_libs) $(pmpi_convenience_libs) $(abi_convenience_libs)
EXTRA_lib_lib@PMPIABILIBNAME@_la_DEPENDENCIES = $(pmpi_convenience_libs) $(abi_convenience_libs)

# lib@MPIABILIBNAME@.la might depend on lib@PMPIABILIBNAME@.la. We add them
# -------- mpi-abi: libpmpi + libmpi ------------------
#
lib_LTLIBRARIES += lib/lib@PMPILIBNAME@.la
lib_lib@PMPILIBNAME@_la_SOURCES = $(mpi_abi_sources) $(mpi_f77_sources) $(mpi_core_sources) $(mpi_abi_core_sources)
lib_lib@PMPILIBNAME@_la_LDFLAGS = $(external_ldflags) $(ABIVERSIONFLAGS)
lib_lib@PMPILIBNAME@_la_CPPFLAGS = $(AM_CPPFLAGS) -DF77_USE_PMPI $(abi_cppflags)
lib_lib@PMPILIBNAME@_la_LIBADD = $(external_libs) $(pmpi_convenience_libs) $(abi_convenience_libs)
EXTRA_lib_lib@PMPILIBNAME@_la_DEPENDENCIES = $(pmpi_convenience_libs) $(abi_convenience_libs)

# lib@MPILIBNAME@.la might depend on lib@PMPILIBNAME@.la. We add them
# in that order to lib_LTLIBRARIES so libtool doesn't get
# confused. (see https://bugzilla.redhat.com/show_bug.cgi?id=91110)
lib_LTLIBRARIES += lib/lib@MPIABILIBNAME@.la
lib_lib@MPIABILIBNAME@_la_SOURCES = $(mpi_abi_sources)
lib_lib@MPIABILIBNAME@_la_LDFLAGS = $(ABI_ABIVERSIONFLAGS)
lib_lib@MPIABILIBNAME@_la_CPPFLAGS = $(AM_CPPFLAGS) -DMPICH_MPI_FROM_PMPI $(abi_cppflags)
lib_lib@MPIABILIBNAME@_la_LIBADD = lib/lib@PMPIABILIBNAME@.la
lib_LTLIBRARIES += lib/lib@MPILIBNAME@.la
lib_lib@MPILIBNAME@_la_SOURCES = $(mpi_abi_sources)
lib_lib@MPILIBNAME@_la_LDFLAGS = $(ABIVERSIONFLAGS)
lib_lib@MPILIBNAME@_la_CPPFLAGS = $(AM_CPPFLAGS) -DMPICH_MPI_FROM_PMPI $(abi_cppflags)
lib_lib@MPILIBNAME@_la_LIBADD = lib/lib@PMPILIBNAME@.la

else !BUILD_PROFILING_LIB

lib_LTLIBRARIES += lib/lib@MPIABILIBNAME@.la
lib_lib@MPIABILIBNAME@_la_SOURCES = $(mpi_abi_sources) $(mpi_core_sources) $(mpi_abi_core_sources)
lib_lib@MPIABILIBNAME@_la_LDFLAGS = $(external_ldflags) $(ABI_ABIVERSIONFLAGS)
lib_lib@MPIABILIBNAME@_la_CPPFLAGS = $(AM_CPPFLAGS) $(abi_cppflags)
lib_lib@MPIABILIBNAME@_la_LIBADD = $(external_libs) $(pmpi_convenience_libs) $(abi_convenience_libs)
EXTRA_lib_lib@MPIABILIBNAME@_la_DEPENDENCIES = $(pmpi_convenience_libs) $(abi_convenience_libs)
# -------- mpi-abi: libmpi ------------------
#
lib_LTLIBRARIES += lib/lib@MPILIBNAME@.la
lib_lib@MPILIBNAME@_la_SOURCES = $(mpi_abi_sources) $(mpi_core_sources) $(mpi_abi_core_sources)
lib_lib@MPILIBNAME@_la_LDFLAGS = $(external_ldflags) $(ABIVERSIONFLAGS)
lib_lib@MPILIBNAME@_la_CPPFLAGS = $(AM_CPPFLAGS) $(abi_cppflags)
lib_lib@MPILIBNAME@_la_LIBADD = $(external_libs) $(pmpi_convenience_libs) $(abi_convenience_libs)
EXTRA_lib_lib@MPILIBNAME@_la_DEPENDENCIES = $(pmpi_convenience_libs) $(abi_convenience_libs)

endif !BUILD_PROFILING_LIB
endif BUILD_ABI_LIB

if BUILD_F77_BINDING
lib_LTLIBRARIES += lib/lib@MPIFCLIBNAME@.la
lib_lib@MPIFCLIBNAME@_la_SOURCES =
if BUILD_FC_BINDING
modinc_HEADERS = $(mpi_fc_modules)
endif BUILD_FC_BINDING
lib_lib@MPIFCLIBNAME@_la_LDFLAGS = $(ABIVERSIONFLAGS) @FCLIB_LDFLAGS@
lib_lib@MPIFCLIBNAME@_la_LIBADD = lib/lib@MPILIBNAME@.la $(mpifort_convenience_libs)
endif BUILD_F77_BINDING

if ! BUILD_ABI_LIB
if BUILD_CXX_BINDING
lib_LTLIBRARIES += lib/lib@MPICXXLIBNAME@.la
lib_lib@MPICXXLIBNAME@_la_SOURCES = $(mpi_cxx_sources)
lib_lib@MPICXXLIBNAME@_la_LDFLAGS = $(ABIVERSIONFLAGS)
lib_lib@MPICXXLIBNAME@_la_LIBADD = lib/lib@MPILIBNAME@.la
endif BUILD_CXX_BINDING
endif ! BUILD_ABI_LIB

# build the current directory and then the examples directory after everything else
SUBDIRS += . examples
Expand All @@ -225,8 +205,7 @@ install-exec-hook:
. lib/lib@MPILIBNAME@.la ; \
fi ; \
for e in ${DESTDIR}${bindir}/@MPICC_NAME@ \
${DESTDIR}${bindir}/@MPICXX_NAME@ \
${DESTDIR}${bindir}/@MPIFORT_NAME@ ; do \
${DESTDIR}${bindir}/@MPICXX_NAME@ ; do \
if test -e $${e} ; then \
sed -e 's|__PREFIX_TO_BE_FILLED_AT_INSTALL_TIME__|${prefix}|g' \
-e 's|__EXEC_PREFIX_TO_BE_FILLED_AT_INSTALL_TIME__|${exec_prefix}|g' \
Expand All @@ -243,60 +222,6 @@ install-exec-hook:
cd ${DESTDIR}${bindir} && ln -f -s @MPICXX_NAME@ @MPICPP_NAME@ ; \
fi ; \
fi ;
if BUILD_FC_BINDING
if INSTALL_MPIF90
if test -e ${DESTDIR}${bindir}/@MPIFORT_NAME@ ; then \
if test "@MPIFORT_NAME@" != "@MPIF90_NAME@" ; then \
cd ${DESTDIR}${bindir} && ln -f -s @MPIFORT_NAME@ @MPIF90_NAME@ ; \
fi ; \
fi ;
endif INSTALL_MPIF90
endif BUILD_FC_BINDING
if BUILD_F77_BINDING
if INSTALL_MPIF77
if test -e ${DESTDIR}${bindir}/@MPIFORT_NAME@ ; then \
if test "@MPIFORT_NAME@" != "@MPIF77_NAME@" ; then \
cd ${DESTDIR}${bindir} && ln -f -s @MPIFORT_NAME@ @MPIF77_NAME@ ; \
fi ; \
fi ;
endif INSTALL_MPIF77
endif BUILD_F77_BINDING
if BUILD_ABI_LIB
if test -e ${DESTDIR}${bindir}/@MPICC_NAME@ ; then \
if test "@MPICC_NAME@" != "@MPICC_ABI_NAME@" ; then \
cd ${DESTDIR}${bindir} && ln -f -s @MPICC_NAME@ @MPICC_ABI_NAME@ ; \
fi ; \
fi ; \
if test -e ${DESTDIR}${bindir}/@MPICXX_NAME@ ; then \
if test "@MPICXX_NAME@" != "@MPICXX_ABI_NAME@" ; then \
cd ${DESTDIR}${bindir} && ln -f -s @MPICXX_NAME@ @MPICXX_ABI_NAME@ ; \
fi ; \
fi ;
endif BUILD_ABI_LIB
if test -e ${DESTDIR}${libdir}/lib@MPILIBNAME@@SHLIB_EXT@ ; then \
if test "@MPILIBNAME@" != "mpl" ; then \
cd ${DESTDIR}${libdir} && ln -f -s lib@MPILIBNAME@@SHLIB_EXT@ libmpl@SHLIB_EXT@ ; \
fi ; \
if test "@MPILIBNAME@" != "opa" ; then \
cd ${DESTDIR}${libdir} && ln -f -s lib@MPILIBNAME@@SHLIB_EXT@ libopa@SHLIB_EXT@ ; \
fi ; \
if test "@MPILIBNAME@" != "mpich" ; then \
cd ${DESTDIR}${libdir} && ln -f -s lib@MPILIBNAME@@SHLIB_EXT@ libmpich@SHLIB_EXT@ ; \
fi ; \
fi ; \
if test -e ${DESTDIR}${libdir}/lib@MPIFCLIBNAME@@SHLIB_EXT@ ; then \
if test "@MPIFCLIBNAME@" != "fmpich" ; then \
cd ${DESTDIR}${libdir} && ln -f -s lib@MPIFCLIBNAME@@SHLIB_EXT@ libfmpich@SHLIB_EXT@ ; \
fi ; \
if test "@MPIFCLIBNAME@" != "mpichf90" ; then \
cd ${DESTDIR}${libdir} && ln -f -s lib@MPIFCLIBNAME@@SHLIB_EXT@ libmpichf90@SHLIB_EXT@ ; \
fi ; \
fi ; \
if test -e ${DESTDIR}${libdir}/lib@MPICXXLIBNAME@@SHLIB_EXT@ ; then \
if test "@MPICXXLIBNAME@" != "mpichcxx" ; then \
cd ${DESTDIR}${libdir} && ln -f -s lib@MPICXXLIBNAME@@SHLIB_EXT@ libmpichcxx@SHLIB_EXT@ ; \
fi ; \
fi

# the configure step checks for the 'lib' dir to decide whether a source
# directory has been previously used for an in-path build before allowing a
Expand Down
23 changes: 23 additions & 0 deletions autogen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,10 @@ set_externals() {
# external packages that require autogen.sh to be run for each of them
externals="src/mpl test/mpi"

if [ "yes" = "$do_fortran" ] ; then
externals="${externals} src/binding/fortran"
fi

if [ "yes" = "$do_hydra" ] ; then
externals="${externals} src/pm/hydra"
fi
Expand Down Expand Up @@ -297,6 +301,24 @@ fn_pmi() {
(cd src/pmi && ./autogen.sh)
}

# ./autogen.sh -do=fortran if *only* build libfortran
fn_fortran() {
dir=src/binding/fortran
echo "####################################"
echo "## Prepareing src/binding/fortran ##"
echo "####################################"
cp -pPR maint/version.m4 $dir/version.m4
sync_external confdb $dir/confdb

rm -rf "$dir/maint"
mkdir -p "$dir/maint"
cp -pPR maint/local_python $dir/maint/
cp maint/gen_{f77,f90,f08}.py $dir/maint/
cp src/binding/*.txt $dir/maint/

(cd $dir && ./autogen.sh)
}

# ./autogen.sh -do=test if *only* build testsuite
fn_test() {
echo "####################################"
Expand All @@ -320,6 +342,7 @@ fn_copy_confdb_etc() {

# a couple of other random files
if [ -f maint/version.m4 ] ; then
cp -pPR maint/version.m4 src/binding/fortran/version.m4
cp -pPR maint/version.m4 src/pm/hydra/version.m4
cp -pPR maint/version.m4 src/mpi/romio/version.m4
cp -pPR maint/version.m4 src/pmi/version.m4
Expand Down
Loading