Commit 388c78cd authored by Pavan Balaji's avatar Pavan Balaji
Browse files

[svn-r9006] pkg-config support improvements.

1. Get rid of unnecessary README which gives no useful information.

2. Combined the pkg-config files for different bindings into a single
file.

3. Bug-fix: When a separate library for the profiling symbols is not
available, we were ending up with a hanging "-l".

4. Bug-fix: pkg-config files do not allow shell code to find the value
of a variable. This logic has to go into configure. No idea how this
was supposed to be working earlier.

5. CXXFLAGS, FFLAGS and FCFLAGS, are not directly supported by
pkg-config, so we don't expose them as first-class variables but still
allow them to be queried using the --variable option.

This patch still doesn't add Requires and Requires.private variables.

Reviewed by buntinas and chan.
parent 87055429
......@@ -5440,6 +5440,12 @@ AC_SUBST(MPICH_TIMER_KIND)
# Setup other replaceable values
AC_SUBST(MPILIBNAME)
AC_SUBST(PMPILIBNAME)
if test "$NEEDSPLIB" = "yes" ; then
LPMPILIBNAME="-l${PMPILIBNAME}"
fi
AC_SUBST(LPMPILIBNAME)
# Note that aint_size must be used instead of void_p where the desired check
# is on the size of MPI_Aint
aint_size=$ac_cv_sizeof_void_p
......@@ -6298,10 +6304,7 @@ AC_OUTPUT(Makefile src/Makefile src/include/Makefile \
src/binding/f90/mpi_sizeofs.f90 \
src/binding/f90/mpi_base.f90 \
src/packaging/Makefile \
src/packaging/pkgconfig/mpich2-c.pc \
src/packaging/pkgconfig/mpich2-cxx.pc \
src/packaging/pkgconfig/mpich2-f77.pc \
src/packaging/pkgconfig/mpich2-f90.pc \
src/packaging/pkgconfig/mpich2.pc \
src/packaging/pkgconfig/Makefile \
src/packaging/envmods/mpich2.module \
src/packaging/envmods/Makefile \
......
optinstall_PKGCONFIG = mpich2-c.pc mpich2-cxx.pc mpich2-f77.pc mpich2-f90.pc
optinstall_PKGCONFIG = mpich2.pc
This directory contains sources for the package configuration program pkgconfig
# this gives access to the mpich2 header files
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
if test "@NEEDSPLIB@" = "yes" ; then
plib=@PMPILIBNAME@
else
plib=
fi
Name: mpich2
Description: MPICH2 is an implementation of the Message-Passing Interface (MPI). The goals of MPICH2 are to provide an MPI implementation for important platforms, including clusters, SMPs, and massively parallel processors. It also provides a vehicle for MPI implementation research and for developing new and better parallel programming environments.
Version: @MPICH2_VERSION@
Requires:
Libs: @WRAPPER_LDFLAGS@ -L${libdir} -l${plib} -l@MPILIBNAME@ @WRAPPER_LIBS@
Cxxflags: @WRAPPER_CPPFLAGS@ @WRAPPER_CXXFLAGS@ -I${includedir}
# this gives access to the mpich2 header files
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
if test "@NEEDSPLIB@" = "yes" ; then
plib=@PMPILIBNAME@
else
plib=
fi
Name: mpich2
Description: MPICH2 is an implementation of the Message-Passing Interface (MPI). The goals of MPICH2 are to provide an MPI implementation for important platforms, including clusters, SMPs, and massively parallel processors. It also provides a vehicle for MPI implementation research and for developing new and better parallel programming environments.
Version: @MPICH2_VERSION@
Requires:
Libs: @WRAPPER_LDFLAGS@ -L${libdir} -l${plib} -l@MPILIBNAME@ @WRAPPER_LIBS@
Fflags: @WRAPPER_FFLAGS@ -I${includedir}
# this gives access to the mpich2 header files
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
if test "@NEEDSPLIB@" = "yes" ; then
plib=@PMPILIBNAME@
else
plib=
fi
Name: mpich2
Description: MPICH2 is an implementation of the Message-Passing Interface (MPI). The goals of MPICH2 are to provide an MPI implementation for important platforms, including clusters, SMPs, and massively parallel processors. It also provides a vehicle for MPI implementation research and for developing new and better parallel programming environments.
Version: @MPICH2_VERSION@
Requires:
Libs: @WRAPPER_LDFLAGS@ -L${libdir} -l${plib} -l@MPILIBNAME@ @WRAPPER_LIBS@
Fcflags: @WRAPPER_FCFLAGS@ -I${includedir}
......@@ -4,15 +4,17 @@ exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
if test "@NEEDSPLIB@" = "yes" ; then
plib=@PMPILIBNAME@
else
plib=
fi
Name: mpich2
Description: MPICH2 is an implementation of the Message-Passing Interface (MPI). The goals of MPICH2 are to provide an MPI implementation for important platforms, including clusters, SMPs, and massively parallel processors. It also provides a vehicle for MPI implementation research and for developing new and better parallel programming environments.
Description: High Performance and portable MPI
Version: @MPICH2_VERSION@
URL: http://www.mcs.anl.gov/research/projects/mpich2
Requires:
Libs: @WRAPPER_LDFLAGS@ -L${libdir} -l${plib} -l@MPILIBNAME@ @WRAPPER_LIBS@
Libs: @WRAPPER_LDFLAGS@ -L${libdir} @LPMPILIBNAME@ -l@MPILIBNAME@ @WRAPPER_LIBS@
Cflags: @WRAPPER_CPPFLAGS@ @WRAPPER_CFLAGS@ -I${includedir}
# pkg-config does not understand Cxxflags, etc. So we allow users to
# query them using the --variable option
cxxflags=@WRAPPER_CPPFLAGS@ @WRAPPER_CXXFLAGS@ -I${includedir}
fflags=@WRAPPER_FFLAGS@ -I${includedir}
fcflags=@WRAPPER_FCFLAGS@ -I${includedir}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment