9f4d4c4312
are properly linked against libmpi.la. This required a little creative AM usage, inspired by discussion on OMPI devel list: * Make a new ompi/mpi/f77/Makefile_f77base.include; effectively move the building of the f77 "base" glue stuff (libmpi_f77base.la) into this Makefile and away from ompi/mpi/f77/Makefile.am. The sources in question require some specific CPPFLAGS, so we couldn't just add the raw sources into libmpi_la_SOURCES, unfortunately. * Include this new Makefile in the top-level ompi/Makefile.am * The libmpi_f77base.la LT convenience library was already sucked into libmpi.la; breaking it out into its own Makefile allows us to build it earlier and therefore complete buidling libmpi.la earlier. * Side effect: the ompi/mpi/Makefile.am is now mostly unnecessary; it no longer specifies a SUBDIRS for each of the bindings directories to traverse into (since they are now in the top-level SUBDIRS). As such, the man pages are now also now included in the top-level ompi/Makefile.am. The end of the result is that libmpi.la -- including a few sources from mpi/f77 -- is fully built before the C++, F77, and F90 bindings are built. Therefore, the C++, F77, and F90 bindings libraries can all link against libmpi.la. This commit was SVN r19040. The following Trac tickets were found above: Ticket 1409 --> https://svn.open-mpi.org/trac/ompi/ticket/1409
84 строки
2.2 KiB
Makefile
84 строки
2.2 KiB
Makefile
# -*- makefile -*-
|
|
#
|
|
# 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) 2007-2008 Cisco Systems, Inc. All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
# Need the first so that we can get the path names correct inside the
|
|
# MPI C++ library. The second is necessary so that mpi.h doesn't
|
|
# include mpicxx.h through the incorrect pathname in any of the C++
|
|
# bindings .c files. Just use the define for this purpose from user
|
|
# code.
|
|
AM_CPPFLAGS = -DOMPI_BUILDING_CXX_BINDINGS_LIBRARY=1 -DOMPI_SKIP_MPICXX=1
|
|
|
|
if WANT_MPI_CXX_BINDINGS
|
|
|
|
mpi_lib = libmpi_cxx.la
|
|
|
|
lib_LTLIBRARIES = libmpi_cxx.la
|
|
libmpi_cxx_la_SOURCES = \
|
|
mpicxx.cc \
|
|
intercepts.cc \
|
|
comm.cc \
|
|
datatype.cc \
|
|
win.cc
|
|
|
|
if OMPI_PROVIDE_MPI_FILE_INTERFACE
|
|
libmpi_cxx_la_SOURCES += \
|
|
file.cc
|
|
endif
|
|
|
|
libmpi_cxx_la_LIBADD = $(top_builddir)/ompi/libmpi.la
|
|
|
|
headers = \
|
|
mpicxx.h \
|
|
constants.h \
|
|
file.h \
|
|
functions.h \
|
|
datatype.h \
|
|
exception.h \
|
|
op.h \
|
|
status.h \
|
|
request.h \
|
|
group.h \
|
|
comm.h \
|
|
errhandler.h \
|
|
intracomm.h \
|
|
info.h \
|
|
win.h \
|
|
topology.h \
|
|
intercomm.h \
|
|
datatype_inln.h \
|
|
file_inln.h \
|
|
functions_inln.h \
|
|
request_inln.h \
|
|
comm_inln.h \
|
|
intracomm_inln.h \
|
|
info_inln.h \
|
|
win_inln.h \
|
|
topology_inln.h \
|
|
intercomm_inln.h \
|
|
group_inln.h \
|
|
op_inln.h \
|
|
errhandler_inln.h \
|
|
status_inln.h
|
|
|
|
ompidir = $(includedir)/openmpi/ompi/mpi/cxx
|
|
ompi_HEADERS = \
|
|
$(headers)
|
|
endif
|