2004-01-08 00:39:46 +03:00
|
|
|
# -*- makefile -*-
|
|
|
|
#
|
2005-11-05 22:57:48 +03:00
|
|
|
# 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.
|
2004-11-28 23:09:25 +03:00
|
|
|
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
|
|
# University of Stuttgart. All rights reserved.
|
2005-03-24 15:43:37 +03:00
|
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
# All rights reserved.
|
Fixes trac:1409: ensure that the C++, F77, and F90 bindings libraries
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
2008-07-26 01:18:05 +04:00
|
|
|
# Copyright (c) 2007-2008 Cisco Systems, Inc. All rights reserved.
|
2004-11-22 04:38:40 +03:00
|
|
|
# $COPYRIGHT$
|
|
|
|
#
|
|
|
|
# Additional copyrights may follow
|
|
|
|
#
|
2004-01-08 00:39:46 +03:00
|
|
|
# $HEADER$
|
|
|
|
#
|
|
|
|
|
2007-06-05 05:42:47 +04:00
|
|
|
# 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
|
2004-01-08 00:39:46 +03:00
|
|
|
|
2004-07-14 18:11:03 +04:00
|
|
|
if WANT_MPI_CXX_BINDINGS
|
|
|
|
|
|
|
|
mpi_lib = libmpi_cxx.la
|
|
|
|
|
|
|
|
lib_LTLIBRARIES = libmpi_cxx.la
|
|
|
|
libmpi_cxx_la_SOURCES = \
|
|
|
|
mpicxx.cc \
|
|
|
|
intercepts.cc \
|
2006-12-31 02:41:42 +03:00
|
|
|
comm.cc \
|
|
|
|
datatype.cc \
|
|
|
|
win.cc
|
2004-07-14 18:11:03 +04:00
|
|
|
|
2007-08-19 01:35:51 +04:00
|
|
|
if OMPI_PROVIDE_MPI_FILE_INTERFACE
|
|
|
|
libmpi_cxx_la_SOURCES += \
|
|
|
|
file.cc
|
|
|
|
endif
|
|
|
|
|
Fixes trac:1409: ensure that the C++, F77, and F90 bindings libraries
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
2008-07-26 01:18:05 +04:00
|
|
|
libmpi_cxx_la_LIBADD = $(top_builddir)/ompi/libmpi.la
|
|
|
|
|
2004-07-14 18:11:03 +04:00
|
|
|
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
|
|
|
|
|
2005-07-02 19:06:47 +04:00
|
|
|
ompidir = $(includedir)/openmpi/ompi/mpi/cxx
|
2004-07-14 18:11:03 +04:00
|
|
|
ompi_HEADERS = \
|
2005-07-02 19:06:47 +04:00
|
|
|
$(headers)
|
2004-07-14 18:11:03 +04:00
|
|
|
endif
|