1
1

Add pkg-config(1) config files to Open MPI. Additionally, fix a minor

bug: libmpi_f90 had libmpi.la in its LIBADD instead of libmpi_f77.la.

Fixes trac:2244.

This commit was SVN r22704.

The following Trac tickets were found above:
  Ticket 2244 --> https://svn.open-mpi.org/trac/ompi/ticket/2244
This commit is contained in:
Jeff Squyres 2010-02-24 18:46:06 +00:00
parent 3d04940921
commit af6f1f4b00
15 changed files with 214 additions and 7 deletions

31
README
View File

@ -1194,6 +1194,37 @@ Customizing the behavior of the wrapper compilers is possible (e.g.,
changing the compiler [not recommended] or specifying additional
compiler/linker flags); see the Open MPI FAQ for more information.
Alternatively, starting in the Open MPI v1.5 series, Open MPI also
installs pkg-config(1) configuration files under $libdir/pkgconfig.
If pkg-config is configured to find these files, then compiling /
linking Open MPI programs can be performed like this:
shell$ gcc hello_world_mpi.c -o hello_world_mpi -g \
`pkg-config ompi-c --cflags --libs`
shell$
Open MPI supplies multiple pkg-config(1) configuration files; one for
each different wrapper compiler (language):
------------------------------------------------------------------------
ompi Synonym for "ompi-c"; Open MPI applications using the C
MPI bindings
ompi-c Open MPI applications using the C MPI bindings
ompi-cxx Open MPI applications using the C or C++ MPI bindings
ompi-f77 Open MPI applications using the C or "mpif.h" MPI bindings
ompi-f90 Open MPI applications using the C, "mpif.h" or "use mpi" MPI
bindings
------------------------------------------------------------------------
The following pkg-config(1) configuration files *may* be installed,
depending on which command line options were specified to Open MPI's
configure script. They are not necessary for MPI applications, but
may be used by applications that use Open MPI's lower layer support
libraries.
orte: Open MPI Run-Time Environment applicaions
opal: Open Portable Access Layer applications
===========================================================================
Running Open MPI Applications

View File

@ -1,6 +1,6 @@
# -*- shell-script -*-
#
# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -35,6 +35,11 @@ AC_DEFUN([OMPI_CONFIG_FILES],[
ompi/tools/wrappers/mpic++-wrapper-data.txt
ompi/tools/wrappers/mpif77-wrapper-data.txt
ompi/tools/wrappers/mpif90-wrapper-data.txt
ompi/tools/wrappers/ompi.pc
ompi/tools/wrappers/ompi-c.pc
ompi/tools/wrappers/ompi-cxx.pc
ompi/tools/wrappers/ompi-f77.pc
ompi/tools/wrappers/ompi-f90.pc
ompi/tools/ortetools/Makefile
ompi/tools/ompi-server/Makefile
ompi/tools/ompi-probe/Makefile

View File

@ -142,7 +142,7 @@ libmpi_f90_la_SOURCES = \
attr_fn-f90-interfaces.h \
conversion_fn_null-f90-interface.h \
mpi.f90
libmpi_f90_la_LIBADD = $(top_builddir)/ompi/libmpi.la
libmpi_f90_la_LIBADD = $(top_builddir)/ompi/mpi/f77/libmpi_f77.la
# These files are all generated by scripts in the scripts/ directory.

View File

@ -9,7 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2006-2010 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -51,6 +51,9 @@ else # OPAL_WANT_SCRIPT_WRAPPER_COMPILERS
if OMPI_INSTALL_BINARIES
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = ompi.pc ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc
man_MANS = $(man_pages)
dist_pkgdata_DATA = \

View File

@ -0,0 +1,25 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
#
Name: Open MPI
Description: Portable high-performance MPI implementation
Version: @OMPI_VERSION@
URL: http://www.open-mpi.org/
#
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
libdir=@libdir@
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} @OMPI_WRAPPER_EXTRA_LDFLAGS@ -lmpi
Libs.private: @OMPI_WRAPPER_EXTRA_LIBS@
#
# It is safe to hard-wire the -I before the EXTRA_INCLUDES because it
# will either contain "openmpi" or be blank. Hence, it'll either
# resolve to ${includedir} or ${includedir}/something. The former is
# redundant (ick), but safe.
#
Cflags: -I${includedir} -I${includedir}/@OMPI_WRAPPER_EXTRA_INCLUDES@ @OMPI_WRAPPER_EXTRA_CPPFLAGS@ @OMPI_WRAPPER_EXTRA_CFLAGS@

View File

@ -0,0 +1,24 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
#
Name: Open MPI
Description: Portable high-performance MPI implementation
Version: @OMPI_VERSION@
URL: http://www.open-mpi.org/
#
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
libdir=@libdir@
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} @OMPI_WRAPPER_EXTRA_LDFLAGS@ @OMPI_WRAPPER_CXX_LIB@ -lmpi
Libs.private: @OMPI_WRAPPER_EXTRA_LIBS@
#
# It is safe to hard-wire the -I before the EXTRA_INCLUDES because we
# will not be installing this .pc file unless --enable-devel-headers is
# selected, meaning that there will definitely be a value in EXTRA_INCLUDES.
#
Cflags: -I${includedir} -I${includedir}/@OMPI_WRAPPER_EXTRA_INCLUDES@ @OMPI_WRAPPER_EXTRA_CPPFLAGS@ @OMPI_WRAPPER_EXTRA_CXXFLAGS@

View File

@ -0,0 +1,19 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
#
Name: Open MPI
Description: Portable high-performance MPI implementation
Version: @OMPI_VERSION@
URL: http://www.open-mpi.org/
#
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
libdir=@libdir@
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} @OMPI_WRAPPER_EXTRA_LDFLAGS@ -lmpi_f77 -lmpi
Libs.private: @OMPI_WRAPPER_EXTRA_LIBS@
Cflags: -I${includedir} @OMPI_WRAPPER_EXTRA_CPPFLAGS@ @OMPI_WRAPPER_EXTRA_FFLAGS@

View File

@ -0,0 +1,19 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
#
Name: Open MPI
Description: Portable high-performance MPI implementation
Version: @OMPI_VERSION@
URL: http://www.open-mpi.org/
#
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
libdir=@libdir@
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} @OMPI_WRAPPER_EXTRA_LDFLAGS@ -lmpi_f90
Libs.private: -lmpi_f77 -lmpi @OMPI_WRAPPER_EXTRA_LIBS@
Cflags: @OMPI_FC_MODULE_FLAG@${libdir} -I${includedir} @OMPI_WRAPPER_EXTRA_CPPFLAGS@ @OMPI_WRAPPER_EXTRA_FCFLAGS@

View File

@ -0,0 +1,25 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
#
Name: Open MPI
Description: Portable high-performance MPI implementation
Version: @OMPI_VERSION@
URL: http://www.open-mpi.org/
#
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
libdir=@libdir@
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} @OMPI_WRAPPER_EXTRA_LDFLAGS@ -lmpi
Libs.private: @OMPI_WRAPPER_EXTRA_LIBS@
#
# It is safe to hard-wire the -I before the EXTRA_INCLUDES because it
# will either contain "openmpi" or be blank. Hence, it'll either
# resolve to ${includedir} or ${includedir}/something. The former is
# redundant (ick), but safe.
#
Cflags: -I${includedir} -I${includedir}/@OMPI_WRAPPER_EXTRA_INCLUDES@ @OMPI_WRAPPER_EXTRA_CPPFLAGS@ @OMPI_WRAPPER_EXTRA_CFLAGS@

View File

@ -1,6 +1,6 @@
# -*- shell-script -*-
#
# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -26,6 +26,7 @@ AC_DEFUN([OPAL_CONFIG_FILES],[
opal/tools/wrappers/Makefile
opal/tools/wrappers/opalcc-wrapper-data.txt
opal/tools/wrappers/opalc++-wrapper-data.txt
opal/tools/wrappers/opal.pc
opal/tools/opal-checkpoint/Makefile
opal/tools/opal-restart/Makefile
])

View File

@ -9,7 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2006-2010 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
# $COPYRIGHT$
#
@ -43,6 +43,9 @@ nodist_pkgdata_DATA = \
nodist_man_MANS += opalcc.1 opalc++.1
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = opal.pc
install-exec-hook:
(cd $(DESTDIR)$(bindir); rm -f opalcc$(EXEEXT); $(LN_S) opal_wrapper opalcc)
(cd $(DESTDIR)$(bindir); rm -f opalc++$(EXEEXT); $(LN_S) opal_wrapper opalc++)

View File

@ -0,0 +1,24 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
#
Name: Open Portability Access Layer (OPAL)
Description: Lowest layer abstractions for the Open MPI software package
Version: @OPAL_VERSION@
URL: http://www.open-mpi.org/
#
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
libdir=@libdir@
#
# Note that the EXTRA_LIBS are only necessary when static linking
# (they're pulled in via libopen-pal.so's implicit dependencies), so
# list them in Libs.private.
#
Libs: -L${libdir} @OPAL_WRAPPER_EXTRA_LDFLAGS@ -lopen-pal
Libs.private: @OPAL_WRAPPER_EXTRA_LIBS@
#
# It is safe to hard-wire the -I before the EXTRA_INCLUDES because we
# will not be installing this .pc file unless --enable-devel-headers is
# selected, meaning that there will definitely be a value in EXTRA_INCLUDES.
#
Cflags: -I${includedir} -I${includedir}/@OPAL_WRAPPER_EXTRA_INCLUDES@ @OPAL_WRAPPER_EXTRA_CPPFLAGS@ @OPAL_WRAPPER_EXTRA_CFLAGS@

View File

@ -1,6 +1,6 @@
# -*- shell-script -*-
#
# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -19,6 +19,7 @@ AC_DEFUN([ORTE_CONFIG_FILES],[
orte/tools/wrappers/Makefile
orte/tools/wrappers/ortecc-wrapper-data.txt
orte/tools/wrappers/ortec++-wrapper-data.txt
orte/tools/wrappers/orte.pc
orte/tools/orte-checkpoint/Makefile
orte/tools/orte-iof/Makefile
orte/tools/orte-restart/Makefile

View File

@ -9,7 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2006-2010 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -54,6 +54,9 @@ else # OPAL_WANT_SCRIPT_WRAPPER_COMPILERS
if OMPI_INSTALL_BINARIES
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = orte.pc
#man_MANS = $(man_pages)
install-exec-hook-always:

View File

@ -0,0 +1,24 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
#
Name: Open MPI Run-Time Environment (ORTE)
Description: Open MPI's run-time environment functionality
Version: @ORTE_VERSION@
URL: http://www.open-mpi.org/
#
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
libdir=@libdir@
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} @ORTE_WRAPPER_EXTRA_LDFLAGS@ -lopen-rte
Libs.private: @ORTE_WRAPPER_EXTRA_LIBS@
#
# It is safe to hard-wire the -I before the EXTRA_INCLUDES because we
# will not be installing this .pc file unless --enable-devel-headers is
# selected, meaning that there will definitely be a value in EXTRA_INCLUDES.
#
Cflags: -I${includedir} -I${includedir}/@ORTE_WRAPPER_EXTRA_INCLUDES@ @ORTE_WRAPPER_EXTRA_CPPFLAGS@ @ORTE_WRAPPER_EXTRA_CFLAGS@