[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.0.4-153-g1be61fb
mysql vizuser
noreply at mpich.org
Mon May 6 19:23:47 CDT 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 1be61fbcad263cffe6dedfb1597be46ccad2b714 (commit)
via 3b8afffb24a94858a44c20f6c4fd1ab11838fc1f (commit)
via c18320d3188bfc075e04dbcba3e2899451e133ee (commit)
via 9164d3db668e1f2c0f82cd238599782dfc1fc045 (commit)
via 9d291d1ee2015c96969df984af28b56ed6726f31 (commit)
via 2bfe261f076b3845159f1d1c87cec4c3129fa3ee (commit)
via 1170238979cfa69a7c9645e115e041f8cf43e3e4 (commit)
via 47ea47409a0785044f94435d7565ff4d30f4520f (commit)
from bff81082f8524d2a74f7bfd2f85623bb103a6557 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/1be61fbcad263cffe6dedfb1597be46ccad2b714
commit 1be61fbcad263cffe6dedfb1597be46ccad2b714
Author: Michael Blocksome <blocksom at us.ibm.com>
Date: Wed Jan 30 11:33:05 2013 -0600
Allow f90 mod files to be installed in an arbitrary directory.
Instead of using 'includedir' to install the mod file headers the
automake 'modincdir' is used instead. For example:
./configure --includedir=$some_dir modincdir=$some_dir/gnu
This is needed because the fortran mod files are essentially
pre-compiled headers and are therefore compiler-specific. This means
that an application can not compile with xlf90 using a mpif90 script
that was configured and installed using gfortran. By separating out the
mod files generated by gfortran and xlf90 we can create compile scripts
that use the appropriate mod files depending on the compiler used.
Note: For some reason the normal configure processing does NOT check for
a user-specified 'modincdir' variable and, if not set, default to
use 'includedir'.
(ibm) CPS 92BQ9Q
(ibm) 52931bf950b389d49177a9aa94acf01c3583a8ce
diff --git a/configure.ac b/configure.ac
index d560419..7836b1c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2310,6 +2310,12 @@ if test "$enable_fc" = "yes" ; then
# ------------------------------------------------
fi
+if test "X$modincdir" = "X" ; then
+ modincdir=$includedir
+fi
+export modincdir
+AC_SUBST(modincdir)
+
# ----------------------------------------------------------------------------
# We previously allowed "default" as a valid value for $enable_cxx. Now we
# assume its available by default and error out if it doesn't work (just like
diff --git a/src/binding/f90/buildiface b/src/binding/f90/buildiface
index fdd5109..7ae05be 100755
--- a/src/binding/f90/buildiface
+++ b/src/binding/f90/buildiface
@@ -1016,7 +1016,7 @@ mpi_f90_modules = \\
src/binding/f90/\$(MPIBASEMOD).\$(MOD)
# the modules are effectively precompiled headers for Fortran programs
-include_HEADERS += \$(mpi_f90_modules)
+modinc_HEADERS = \$(mpi_f90_modules)
# We need a free-format version of mpif.h with no external commands,
# including no wtime/wtick (removing MPI_WTICK also removes MPI_WTIME,
diff --git a/src/env/mpif90.bash.in b/src/env/mpif90.bash.in
index 1e23550..e3529af 100644
--- a/src/env/mpif90.bash.in
+++ b/src/env/mpif90.bash.in
@@ -33,6 +33,7 @@ exec_prefix=@exec_prefix@
sysconfdir=@sysconfdir@
includedir=@includedir@
libdir=@libdir@
+modincdir=@modincdir@
# Default settings for compiler, flags, and libraries
# Determined by a combination of environment variables and tests within
@@ -308,7 +309,6 @@ else
fi
# Handle the specification of the directory containing the modules
-# For now, these are in the includedir (no choice argument supported)
modulelib="@FCWRAPNAME@"
if [ -n "$FCMODINCSPEC" ] ; then
newarg=`echo A"$FCMODINCSPEC" | \
@@ -316,7 +316,7 @@ if [ -n "$FCMODINCSPEC" ] ; then
FCMODDIRS="$newarg"
FCMODLIBS="-l$modulelib"
elif [ -n "$FCMODINC" ] ; then
- FCMODDIRS="${FCMODINC}$includedir"
+ FCMODDIRS="${FCMODINC}$modincdir"
FCMODLIBS="-l$modulelib"
fi
diff --git a/src/env/mpif90.sh.in b/src/env/mpif90.sh.in
index 7527e78..238df12 100644
--- a/src/env/mpif90.sh.in
+++ b/src/env/mpif90.sh.in
@@ -33,6 +33,7 @@ exec_prefix=@exec_prefix@
sysconfdir=@sysconfdir@
includedir=@includedir@
libdir=@libdir@
+modincdir=@modincdir@
# Default settings for compiler, flags, and libraries
# Determined by a combination of environment variables and tests within
@@ -325,7 +326,6 @@ else
fi
# Handle the specification of the directory containing the modules
-# For now, these are in the includedir (no choice argument supported)
modulelib="@FCWRAPNAME@"
if [ -n "$FCMODINCSPEC" ] ; then
newarg=`echo A"$FCMODINCSPEC" | \
@@ -333,7 +333,7 @@ if [ -n "$FCMODINCSPEC" ] ; then
FCMODDIRS="$newarg"
FCMODLIBS="-l$modulelib"
elif [ -n "$FCMODINC" ] ; then
- FCMODDIRS="${FCMODINC}$includedir"
+ FCMODDIRS="${FCMODINC}$modincdir"
FCMODLIBS="-l$modulelib"
fi
http://git.mpich.org/mpich.git/commitdiff/3b8afffb24a94858a44c20f6c4fd1ab11838fc1f
commit 3b8afffb24a94858a44c20f6c4fd1ab11838fc1f
Author: Michael Blocksome <blocksom at us.ibm.com>
Date: Thu Feb 14 13:44:06 2013 -0600
Add '--with-mpl-prefix=DIR' configure option.
(ibm) CPS 92XMVJ
(ibm) db1d16976caeaece627c157ad258f5c361ecf80e
diff --git a/Makefile.am b/Makefile.am
index ca283d3..779fad4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -47,9 +47,9 @@ pkgconfigdir = @pkgconfigdir@
# to build src/mpi/errhan/defmsg.h
errnames_txt_files =
-external_subdirs = src/mpl @opasrcdir@
+external_subdirs = @mplsrcdir@ @opasrcdir@
# FIXME how/where does external_libs/ldflags get used?
-external_ldflags = -L$(top_builddir)/src/mpl -L at opalibdir@
+external_ldflags = -L at mpllibdir@ -L at opalibdir@
external_libs = -l at MPLLIBNAME@ -l at OPALIBNAME@
# NOTE on our semi-unconventional usage of DIST_SUBDIRS:
diff --git a/configure.ac b/configure.ac
index ecc8438..d560419 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1168,10 +1168,38 @@ AC_ARG_VAR([MPLLIBNAME],[can be used to override the name of the MPL library (de
MPLLIBNAME=${MPLLIBNAME:-"mpl"}
export MPLLIBNAME
AC_SUBST(MPLLIBNAME)
-PAC_CONFIG_SUBDIR(src/mpl,,AC_MSG_ERROR(MPL configure failed))
-PAC_PREPEND_FLAG([-l${MPLLIBNAME}], [WRAPPER_LIBS])
-PAC_APPEND_FLAG([-I${master_top_builddir}/src/mpl/include], [CPPFLAGS])
-PAC_APPEND_FLAG([-I${use_top_srcdir}/src/mpl/include], [CPPFLAGS])
+AC_ARG_WITH([mpl-prefix],
+ [AS_HELP_STRING([[--with-mpl-prefix[=DIR]]],
+ [use the MPL library installed in DIR,
+ rather than the one included in src/mpl. Pass
+ "embedded" to force usage of the MPL source
+ distributed with MPICH2.])],
+ [],dnl action-if-given
+ [with_mpl_prefix=embedded]) dnl action-if-not-given
+mpldir=""
+AC_SUBST([mpldir])
+mplsrcdir=""
+AC_SUBST([mplsrcdir])
+mpllibdir=""
+AC_SUBST([mpllibdir])
+if test "$with_mpl_prefix" = "embedded" ; then
+ PAC_CONFIG_SUBDIR(src/mpl,,AC_MSG_ERROR(MPL configure failed))
+ PAC_PREPEND_FLAG([-l${MPLLIBNAME}], [WRAPPER_LIBS])
+ PAC_APPEND_FLAG([-I${master_top_builddir}/src/mpl/include], [CPPFLAGS])
+ PAC_APPEND_FLAG([-I${use_top_srcdir}/src/mpl/include], [CPPFLAGS])
+
+ mpllibdir="${master_top_builddir}/src/mpl"
+ mplsrcdir="${master_top_builddir}/src/mpl"
+else
+ # The user specified an already-installed MPL; just sanity check, don't
+ # subconfigure it
+ AS_IF([test -s "${with_mpl_prefix}/include/mplconfig.h"],
+ [:],[AC_MSG_ERROR([the MPL installation in "${with_mpl_prefix}" appears broken])])
+ PAC_APPEND_FLAG([-I${with_mpl_prefix}/include],[CPPFLAGS])
+ PAC_PREPEND_FLAG([-l${MPLLIBNAME}],[WRAPPER_LIBS])
+ PAC_APPEND_FLAG([-L${with_mpl_prefix}/lib],[WRAPPER_LDFLAGS])
+ mpllibdir="${with_mpl_prefix}/lib"
+fi
# OpenPA
AC_ARG_VAR([OPALIBNAME],[can be used to override the name of the OpenPA library (default: "opa")])
diff --git a/examples/Makefile.am b/examples/Makefile.am
index c97b378..77b21f0 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -36,7 +36,7 @@ cpi_DEPENDENCIES =
# the make-time instances of libpmpich.la and libmpich.la live here
LDFLAGS += -L../lib
# the make-time instances of libmpl.la and libopa.la live here
-LDFLAGS += -L../src/mpl -L at opalibdir@
+LDFLAGS += -L at mpllibdir@ -L at opalibdir@
# Wrapper LDFLAGS need to be added at the end to make sure we link
# with the libraries we just built, and not any previously installed
http://git.mpich.org/mpich.git/commitdiff/c18320d3188bfc075e04dbcba3e2899451e133ee
commit c18320d3188bfc075e04dbcba3e2899451e133ee
Author: Michael Blocksome <blocksom at us.ibm.com>
Date: Thu Feb 14 10:35:52 2013 -0600
Fix '--with-openpa-prefix=DIR' so it actually works.
(ibm) CPS 92XMVJ
(ibm) 10855cb7c8e22e9018144ce14b986a3aa8f9d80f
diff --git a/Makefile.am b/Makefile.am
index 29a2d3e..ca283d3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -47,9 +47,9 @@ pkgconfigdir = @pkgconfigdir@
# to build src/mpi/errhan/defmsg.h
errnames_txt_files =
-external_subdirs = src/mpl src/openpa
+external_subdirs = src/mpl @opasrcdir@
# FIXME how/where does external_libs/ldflags get used?
-external_ldflags = -L$(top_builddir)/src/mpl -L$(top_builddir)/src/openpa/src
+external_ldflags = -L$(top_builddir)/src/mpl -L at opalibdir@
external_libs = -l at MPLLIBNAME@ -l at OPALIBNAME@
# NOTE on our semi-unconventional usage of DIST_SUBDIRS:
diff --git a/configure.ac b/configure.ac
index ed41a25..ecc8438 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1200,8 +1200,15 @@ OPA_fetch_and_incr_int(&i,5);
PAC_POP_FLAG([LIBS])
])
+opasrcdir=""
+AC_SUBST([opasrcdir])
+opalibdir=""
+AC_SUBST([opalibdir])
+
if test "$with_openpa_prefix" = "embedded" ; then
if test -e "${use_top_srcdir}/src/openpa" ; then
+ opasrcdir="${master_top_builddir}/src/openpa"
+ opalibdir="${master_top_builddir}/src/openpa/src"
PAC_APPEND_FLAG([-I${use_top_srcdir}/src/openpa/src],[CPPFLAGS])
PAC_APPEND_FLAG([-I${master_top_builddir}/src/openpa/src],[CPPFLAGS])
@@ -1237,6 +1244,9 @@ else
PAC_PREPEND_FLAG([-l${OPALIBNAME}],[WRAPPER_LIBS])
if test -d ${with_openpa_prefix}/lib64 ; then
PAC_APPEND_FLAG([-L${with_openpa_prefix}/lib64],[WRAPPER_LDFLAGS])
+ opalibdir="${with_openpa_prefix}/lib64"
+ else
+ opalibdir="${with_openpa_prefix}/lib"
fi
PAC_APPEND_FLAG([-L${with_openpa_prefix}/lib],[WRAPPER_LDFLAGS])
fi
diff --git a/examples/Makefile.am b/examples/Makefile.am
index c846a98..c97b378 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -36,7 +36,7 @@ cpi_DEPENDENCIES =
# the make-time instances of libpmpich.la and libmpich.la live here
LDFLAGS += -L../lib
# the make-time instances of libmpl.la and libopa.la live here
-LDFLAGS += -L../src/mpl -L../src/openpa/src
+LDFLAGS += -L../src/mpl -L at opalibdir@
# Wrapper LDFLAGS need to be added at the end to make sure we link
# with the libraries we just built, and not any previously installed
http://git.mpich.org/mpich.git/commitdiff/9164d3db668e1f2c0f82cd238599782dfc1fc045
commit 9164d3db668e1f2c0f82cd238599782dfc1fc045
Author: Michael Blocksome <blocksom at us.ibm.com>
Date: Thu Jan 31 12:26:00 2013 -0600
Allow pkgconfig files to be installed in an arbitrary directory.
Instead of using 'libdir' to install the pkgconfig files the automake variable
'pkgconfigdir' is used instead. The configure processing checks for a
user-specified 'pkgconfigdir' variable and, if not set, defaults to use
'libdir' as before.
(ibm) CPS 92XMVJ
(ibm) 1a294c56db2e0d9405f14558d2943ea5ac8211a1
diff --git a/Makefile.am b/Makefile.am
index f1bb3b9..29a2d3e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -41,7 +41,7 @@ doc1_src_txt =
CLEAN_LOCAL_TARGETS =
# used by nodist_pkgconfig_DATA
-pkgconfigdir = $(libdir)/pkgconfig
+pkgconfigdir = @pkgconfigdir@
# contains all of the "errnames.txt" files that are used by maint/extracterrmsgs
# to build src/mpi/errhan/defmsg.h
diff --git a/configure.ac b/configure.ac
index 805bc84..ed41a25 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6137,6 +6137,13 @@ fi
########################################################################
+if test -z "$pkgconfigdir" ; then
+ # The default pkgconfig dir is under the lib dir
+ pkgconfigdir=$libdir/pkgconfig
+fi
+AC_SUBST(pkgconfigdir)
+export pkgconfigdir
+
dnl This includes an experimental pkgconfig file for ch3 in the src/pkgconfig
dnl directory
AC_OUTPUT(Makefile \
diff --git a/src/openpa/Makefile.am b/src/openpa/Makefile.am
index dedda7a..fa3afba 100644
--- a/src/openpa/Makefile.am
+++ b/src/openpa/Makefile.am
@@ -28,7 +28,7 @@ prettycheck:
all-executable:
# pkgconfig files
-pkgconfigdir = $(libdir)/pkgconfig
+pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = openpa.pc
$(pkgconfig_DATA): config.status
diff --git a/src/openpa/configure.ac b/src/openpa/configure.ac
index 5063164..11d677f 100644
--- a/src/openpa/configure.ac
+++ b/src/openpa/configure.ac
@@ -431,6 +431,12 @@ fi
export libopa_so_versionflags
AC_SUBST(libopa_so_versionflags)
+if test -z "$pkgconfigdir" ; then
+ # The default pkgconfig dir is under the lib dir
+ pkgconfigdir=$libdir/pkgconfig
+fi
+AC_SUBST(pkgconfigdir)
+export pkgconfigdir
AC_CONFIG_FILES([Makefile src/Makefile test/Makefile openpa.pc])
AC_OUTPUT
http://git.mpich.org/mpich.git/commitdiff/9d291d1ee2015c96969df984af28b56ed6726f31
commit 9d291d1ee2015c96969df984af28b56ed6726f31
Author: Michael Blocksome <blocksom at us.ibm.com>
Date: Mon Feb 4 12:25:13 2013 -0600
Add ability to customize the PAMI library name
To change the name from the default ("pami") specify the environment
variable "PAMILIBNAME=name" on configure.
(ibm) CPS 92XMVJ
(ibm) 61c11409a6a9af43994bbca99614f1cddc9c71ab
diff --git a/src/mpid/pamid/subconfigure.m4 b/src/mpid/pamid/subconfigure.m4
index 0ca5777..507243c 100644
--- a/src/mpid/pamid/subconfigure.m4
+++ b/src/mpid/pamid/subconfigure.m4
@@ -26,6 +26,11 @@ dnl _PREREQ handles the former role of mpichprereq, setup_device, etc
AC_DEFUN([PAC_SUBCFG_PREREQ_]PAC_SUBCFG_AUTO_SUFFIX,[
AM_CONDITIONAL([BUILD_PAMID],[test "$device_name" = "pamid"])
+AC_ARG_VAR([PAMILIBNAME],[can be used to override the name of the PAMI library (default: "pami")])
+PAMILIBNAME=${PAMILIBNAME:-"pami"}
+AC_SUBST(PAMILIBNAME)
+export PAMILIBNAME
+
dnl this subconfigure.m4 handles the configure work for the ftb subdir too
dnl this AM_CONDITIONAL only works because enable_ftb is set very early on by
dnl autoconf's argument parsing code. The "action-if-given" from the
@@ -146,12 +151,12 @@ if test "${pamid_platform}" = "BGQ" ; then
#
# The bgq compile requires these libraries.
#
- PAC_APPEND_FLAG([-lpami], [WRAPPER_LIBS])
- PAC_APPEND_FLAG([-lSPI], [WRAPPER_LIBS])
- PAC_APPEND_FLAG([-lSPI_cnk], [WRAPPER_LIBS])
- PAC_APPEND_FLAG([-lrt], [WRAPPER_LIBS])
- PAC_APPEND_FLAG([-lpthread], [WRAPPER_LIBS])
- PAC_APPEND_FLAG([-lstdc++], [WRAPPER_LIBS])
+ PAC_APPEND_FLAG([-l${PAMILIBNAME}], [WRAPPER_LIBS])
+ PAC_APPEND_FLAG([-lSPI], [WRAPPER_LIBS])
+ PAC_APPEND_FLAG([-lSPI_cnk], [WRAPPER_LIBS])
+ PAC_APPEND_FLAG([-lrt], [WRAPPER_LIBS])
+ PAC_APPEND_FLAG([-lpthread], [WRAPPER_LIBS])
+ PAC_APPEND_FLAG([-lstdc++], [WRAPPER_LIBS])
# For some reason, on bgq, libtool will incorrectly attempt a static link
# of libstdc++.so unless this '-all-static' option is used. This seems to
http://git.mpich.org/mpich.git/commitdiff/2bfe261f076b3845159f1d1c87cec4c3129fa3ee
commit 2bfe261f076b3845159f1d1c87cec4c3129fa3ee
Author: Michael Blocksome <blocksom at us.ibm.com>
Date: Wed Jan 30 16:36:19 2013 -0600
Add ability to customize the MPL library name
To change the name from the default ("mpl") specify the environment
variable "MPLLIBNAME=name" on configure.
(ibm) CPS 92XMVJ
(ibm) 27904f81cf1fbc5f3230adecd5317ddf5c29e800
diff --git a/Makefile.am b/Makefile.am
index a5c0404..f1bb3b9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -50,7 +50,7 @@ errnames_txt_files =
external_subdirs = src/mpl src/openpa
# FIXME how/where does external_libs/ldflags get used?
external_ldflags = -L$(top_builddir)/src/mpl -L$(top_builddir)/src/openpa/src
-external_libs = -lmpl -l at OPALIBNAME@
+external_libs = -l at MPLLIBNAME@ -l at OPALIBNAME@
# NOTE on our semi-unconventional usage of DIST_SUBDIRS:
# The automake manual recommends thinking of DIST_SUBDIRS as the list of all
diff --git a/configure.ac b/configure.ac
index 631ae31..805bc84 100644
--- a/configure.ac
+++ b/configure.ac
@@ -777,6 +777,7 @@ export MPILIBNAME
export PMPILIBNAME
export RANLIB
export OPALIBNAME
+export MPLLIBNAME
# ----------------------------------------------------------------------------
# with-device
if test "$with_device" = "default" ; then
@@ -1163,8 +1164,12 @@ if test "$MPID_NO_SPAWN" = yes ; then
fi
# MPL
+AC_ARG_VAR([MPLLIBNAME],[can be used to override the name of the MPL library (default: "mpl")])
+MPLLIBNAME=${MPLLIBNAME:-"mpl"}
+export MPLLIBNAME
+AC_SUBST(MPLLIBNAME)
PAC_CONFIG_SUBDIR(src/mpl,,AC_MSG_ERROR(MPL configure failed))
-PAC_PREPEND_FLAG([-lmpl], [WRAPPER_LIBS])
+PAC_PREPEND_FLAG([-l${MPLLIBNAME}], [WRAPPER_LIBS])
PAC_APPEND_FLAG([-I${master_top_builddir}/src/mpl/include], [CPPFLAGS])
PAC_APPEND_FLAG([-I${use_top_srcdir}/src/mpl/include], [CPPFLAGS])
diff --git a/examples/Makefile.am b/examples/Makefile.am
index b0b1cf4..c846a98 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -43,7 +43,7 @@ LDFLAGS += -L../src/mpl -L../src/openpa/src
# libraries.
LDFLAGS += $(WRAPPER_LDFLAGS)
-external_libs = -lmpl -l at OPALIBNAME@ $(WRAPPER_LIBS)
+external_libs = -l at MPLLIBNAME@ -l at OPALIBNAME@ $(WRAPPER_LIBS)
if BUILD_PROFILING_LIB
LIBS += -l at PMPILIBNAME@
cpi_DEPENDENCIES += ../lib/lib at PMPILIBNAME@.la
diff --git a/src/mpl/Makefile.am b/src/mpl/Makefile.am
index 5b266e3..8693ae6 100644
--- a/src/mpl/Makefile.am
+++ b/src/mpl/Makefile.am
@@ -7,15 +7,15 @@
ACLOCAL_AMFLAGS = -I confdb
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include
-lib_LTLIBRARIES = libmpl.la
-libmpl_la_SOURCES = src/mplstr.c src/mpltrmem.c src/mplenv.c
-libmpl_la_LDFLAGS = ${libmpl_so_versionflags}
+lib_LTLIBRARIES = lib at MPLLIBNAME@.la
+lib at MPLLIBNAME@_la_SOURCES = src/mplstr.c src/mpltrmem.c src/mplenv.c
+lib at MPLLIBNAME@_la_LDFLAGS = ${lib at MPLLIBNAME@_so_versionflags}
MPL_TESTS = strsep
TESTS = $(MPL_TESTS)
check_PROGRAMS = $(MPL_TESTS)
strsep_SOURCES = test/strsep.c
-strsep_LDADD = libmpl.la
+strsep_LDADD = lib at MPLLIBNAME@.la
mpl_headers = \
include/mpl.h \
diff --git a/src/mpl/configure.ac b/src/mpl/configure.ac
index d048814..451ffb4 100644
--- a/src/mpl/configure.ac
+++ b/src/mpl/configure.ac
@@ -25,6 +25,13 @@ PAC_PUSH_FLAG([CFLAGS])
LT_INIT(disable-shared)
PAC_POP_FLAG([CFLAGS])
+# ----------------------------------------------------------------------------
+# Set default library names if names haven't already been provided
+AC_ARG_VAR([MPLLIBNAME],[can be used to override the name of the MPL library (default: "mpl")])
+MPLLIBNAME=${MPLLIBNAME:-"mpl"}
+AC_SUBST(MPLLIBNAME)
+export MPLLIBNAME
+
if test -s "$srcdir/VERSION" ; then
. $srcdir/VERSION
AC_SUBST(libmpl_so_version)
http://git.mpich.org/mpich.git/commitdiff/1170238979cfa69a7c9645e115e041f8cf43e3e4
commit 1170238979cfa69a7c9645e115e041f8cf43e3e4
Author: Michael Blocksome <blocksom at us.ibm.com>
Date: Wed Jan 30 14:24:51 2013 -0600
Add ability to customize the OpenPA library name
To change the name from the default ("opa") specify the environment
variable "OPALIBNAME=name" on configure.
(ibm) CPS 92XMVJ
(ibm) cde8a03e9d2745a32901878b73b2b3047fa0f9d6
diff --git a/Makefile.am b/Makefile.am
index 52a4e94..a5c0404 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -50,7 +50,7 @@ errnames_txt_files =
external_subdirs = src/mpl src/openpa
# FIXME how/where does external_libs/ldflags get used?
external_ldflags = -L$(top_builddir)/src/mpl -L$(top_builddir)/src/openpa/src
-external_libs = -lmpl -lopa
+external_libs = -lmpl -l at OPALIBNAME@
# NOTE on our semi-unconventional usage of DIST_SUBDIRS:
# The automake manual recommends thinking of DIST_SUBDIRS as the list of all
diff --git a/configure.ac b/configure.ac
index a56bd3b..631ae31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -776,7 +776,7 @@ export LIBS
export MPILIBNAME
export PMPILIBNAME
export RANLIB
-
+export OPALIBNAME
# ----------------------------------------------------------------------------
# with-device
if test "$with_device" = "default" ; then
@@ -1169,6 +1169,10 @@ PAC_APPEND_FLAG([-I${master_top_builddir}/src/mpl/include], [CPPFLAGS])
PAC_APPEND_FLAG([-I${use_top_srcdir}/src/mpl/include], [CPPFLAGS])
# OpenPA
+AC_ARG_VAR([OPALIBNAME],[can be used to override the name of the OpenPA library (default: "opa")])
+OPALIBNAME=${OPALIBNAME:-"opa"}
+export OPALIBNAME
+AC_SUBST(OPALIBNAME)
AC_ARG_WITH([openpa-prefix],
[AS_HELP_STRING([[--with-openpa-prefix[=DIR]]],
[use the OpenPA atomics library installed in DIR,
@@ -1178,7 +1182,7 @@ AC_ARG_WITH([openpa-prefix],
[],
[# see if OPA is already installed on the system
PAC_PUSH_FLAG([LIBS])
- PAC_PREPEND_FLAG([-lopa],[LIBS])
+ PAC_PREPEND_FLAG([-l${OPALIBNAME}],[LIBS])
AC_LINK_IFELSE([AC_LANG_PROGRAM([dnl
#include "opa_primitives.h"
],[
@@ -1209,12 +1213,12 @@ if test "$with_openpa_prefix" = "embedded" ; then
opa_subdir_args="--with-atomic-primitives=auto_allow_emulation"
fi
PAC_CONFIG_SUBDIR_ARGS([src/openpa],[$opa_subdir_args],[],[AC_MSG_ERROR([OpenPA configure failed])])
- PAC_PREPEND_FLAG([-lopa],[WRAPPER_LIBS])
+ PAC_PREPEND_FLAG([-l${OPALIBNAME}],[WRAPPER_LIBS])
else
AC_MSG_WARN([Attempted to use the embedded OpenPA source tree in "src/openpa", but it is missing. Configuration or compilation may fail later.])
fi
elif test "$with_openpa_prefix" = "system" ; then
- PAC_PREPEND_FLAG([-lopa],[WRAPPER_LIBS])
+ PAC_PREPEND_FLAG([-l${OPALIBNAME}],[WRAPPER_LIBS])
elif test "$with_openpa_prefix" = "no" ; then
# The user doesn't want to use OPA. This may or may not cause MPICH to
# fail to configure/build, depending on many other factors.
@@ -1225,7 +1229,7 @@ else
AS_IF([test -s "${with_openpa_prefix}/include/opa_primitives.h" -a -s "${with_openpa_prefix}/include/opa_config.h"],
[:],[AC_MSG_ERROR([the OpenPA installation in "${with_openpa_prefix}" appears broken])])
PAC_APPEND_FLAG([-I${with_openpa_prefix}/include],[CPPFLAGS])
- PAC_PREPEND_FLAG([-lopa],[WRAPPER_LIBS])
+ PAC_PREPEND_FLAG([-l${OPALIBNAME}],[WRAPPER_LIBS])
if test -d ${with_openpa_prefix}/lib64 ; then
PAC_APPEND_FLAG([-L${with_openpa_prefix}/lib64],[WRAPPER_LDFLAGS])
fi
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 3c33360..b0b1cf4 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -43,7 +43,7 @@ LDFLAGS += -L../src/mpl -L../src/openpa/src
# libraries.
LDFLAGS += $(WRAPPER_LDFLAGS)
-external_libs = -lmpl -lopa $(WRAPPER_LIBS)
+external_libs = -lmpl -l at OPALIBNAME@ $(WRAPPER_LIBS)
if BUILD_PROFILING_LIB
LIBS += -l at PMPILIBNAME@
cpi_DEPENDENCIES += ../lib/lib at PMPILIBNAME@.la
diff --git a/src/openpa/configure.ac b/src/openpa/configure.ac
index fe8865a..5063164 100644
--- a/src/openpa/configure.ac
+++ b/src/openpa/configure.ac
@@ -25,6 +25,13 @@ save_cflags=$CFLAGS
LT_INIT(disable-shared)
CFLAGS=$save_cflags
+# ----------------------------------------------------------------------------
+# Set default library names if names haven't already been provided
+AC_ARG_VAR([OPALIBNAME],[can be used to override the name of the OpenPA library (default: "opa")])
+OPALIBNAME=${OPALIBNAME:-"opa"}
+AC_SUBST(OPALIBNAME)
+export OPALIBNAME
+
if test -s "$srcdir/VERSION" ; then
. $srcdir/VERSION
AC_SUBST([libopa_so_version])
diff --git a/src/openpa/src/Makefile.am b/src/openpa/src/Makefile.am
index 7f55e44..2283681 100644
--- a/src/openpa/src/Makefile.am
+++ b/src/openpa/src/Makefile.am
@@ -3,9 +3,9 @@
# (C) 2008 by Argonne National Laboratory.
# See COPYRIGHT in top-level directory.
-lib_LTLIBRARIES = libopa.la
-libopa_la_SOURCES = opa_primitives.c opa_queue.c
-libopa_la_LDFLAGS = ${libopa_so_versionflags}
+lib_LTLIBRARIES = lib at OPALIBNAME@.la
+lib at OPALIBNAME@_la_SOURCES = opa_primitives.c opa_queue.c
+lib at OPALIBNAME@_la_LDFLAGS = ${lib at OPALIBNAME@_so_versionflags}
include_HEADERS = opa_primitives.h opa_queue.h opa_util.h
nodist_include_HEADERS = opa_config.h
diff --git a/src/openpa/test/Makefile.am b/src/openpa/test/Makefile.am
index 9efd79c..8006f22 100644
--- a/src/openpa/test/Makefile.am
+++ b/src/openpa/test/Makefile.am
@@ -8,8 +8,8 @@ TESTS = sanity test_primitives test_barriers test_queue
check_PROGRAMS = $(TESTS)
AM_LDFLAGS = -L../src
-LDADD = -lopa
-DEPENDENCIES = libopa.la
+LDADD = -l at OPALIBNAME@
+DEPENDENCIES = lib at OPALIBNAME@.la
sanity_SOURCES = sanity.c
test_primitives_SOURCES = test_primitives.c opa_test.h
http://git.mpich.org/mpich.git/commitdiff/47ea47409a0785044f94435d7565ff4d30f4520f
commit 47ea47409a0785044f94435d7565ff4d30f4520f
Author: Michael Blocksome <blocksom at us.ibm.com>
Date: Wed Jan 30 11:44:05 2013 -0600
Add ability to customize the mpich fortran 90 library name
Previously, the f90 library name was forced to be:
lib at MPILIBNAME@f90
This change adds the '--with-fcwrapname' configure option so that the
following is now allowed:
./configure --with-fcwrapname=mpichf90-foo
.. which results in the f90 mpich library named:
lib at FCWRAPNAME@
(ibm) CPS 92XMVJ
(ibm) 9346973f8d1dbf6a09b28446b2f7c3c7c5953ea8
diff --git a/configure.ac b/configure.ac
index f3d3c2d..a56bd3b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -628,6 +628,13 @@ AC_ARG_WITH(fwrapname,
[FWRAPNAME=$withval;set_FWRAPNAME="yes"],FWRAPNAME=fmpich)
AC_SUBST(FWRAPNAME)
+dnl The default is a special wrapper library
+AC_ARG_WITH(fcwrapname,
+ AC_HELP_STRING([--with-fcwrapname=name],
+ [Specify name of library containing Fortran 90 interface routines]),
+ [FCWRAPNAME=$withval;set_FCWRAPNAME="yes"],FCWRAPNAME=mpichf90)
+AC_SUBST(FCWRAPNAME)
+
# Find a C compiler.
# We also need to do this before the F77 and FC test to ensure that we
# find the C preprocessor reliably.
diff --git a/src/binding/f90/buildiface b/src/binding/f90/buildiface
index d84ef1f..fdd5109 100755
--- a/src/binding/f90/buildiface
+++ b/src/binding/f90/buildiface
@@ -898,7 +898,7 @@ if BUILD_F90_LIB
# in a VPATH build)
AM_FCFLAGS += \@FCINCFLAG\@src/binding/f90
-lib_LTLIBRARIES += lib/lib\@MPILIBNAME\@f90.la
+lib_LTLIBRARIES += lib/lib\@FCWRAPNAME\@.la
EOT
@@ -930,27 +930,27 @@ nodist_noinst_HEADERS += \\
src/binding/f90/mpif90model.h
# actual f90 code that also gets compiled into modules
-lib_lib\@MPILIBNAME\@f90_la_LDFLAGS = \$(ABIVERSIONFLAGS)
+lib_lib\@FCWRAPNAME\@_la_LDFLAGS = \$(ABIVERSIONFLAGS)
# cause any .\$(MOD) files to be output in the f90 bindings directory instead of
# the current directory
AM_FCFLAGS += \$(FCMODOUTFLAG)src/binding/f90
# we "manually" build the f90 sources and add them with LIBADD
-lib_lib\@MPILIBNAME\@f90_la_SOURCES =
-lib_lib\@MPILIBNAME\@f90_la_LIBADD = \\
+lib_lib\@FCWRAPNAME\@_la_SOURCES =
+lib_lib\@FCWRAPNAME\@_la_LIBADD = \\
src/binding/f90/mpi.lo \\
src/binding/f90/mpi_constants.lo \\
src/binding/f90/mpi_sizeofs.lo \\
src/binding/f90/${outfile_prefix}_base.lo
# now force libtool FC rules/variables to be generated and cause FC linking to
-# be selected for lib/lib\@MPILIBNAME\@f90.la
-EXTRA_lib_lib\@MPILIBNAME\@f90_la_SOURCES = \\
+# be selected for lib/lib\@FCWRAPNAME\@.la
+EXTRA_lib_lib\@FCWRAPNAME\@_la_SOURCES = \\
src/binding/f90/mpi.f90 \\
src/binding/f90/mpi_constants.f90
-nodist_EXTRA_lib_lib\@MPILIBNAME\@f90_la_SOURCES = \\
+nodist_EXTRA_lib_lib\@FCWRAPNAME\@_la_SOURCES = \\
src/binding/f90/mpi_sizeofs.f90 \\
src/binding/f90/${outfile_prefix}_base.f90
diff --git a/src/env/mpif90.bash.in b/src/env/mpif90.bash.in
index 75aadd6..1e23550 100644
--- a/src/env/mpif90.bash.in
+++ b/src/env/mpif90.bash.in
@@ -309,7 +309,7 @@ fi
# Handle the specification of the directory containing the modules
# For now, these are in the includedir (no choice argument supported)
-modulelib="@MPILIBNAME at f90"
+modulelib="@FCWRAPNAME@"
if [ -n "$FCMODINCSPEC" ] ; then
newarg=`echo A"$FCMODINCSPEC" | \
sed -e 's/^A//' -e 's%<dir>%'"$includedir%g" -e 's/<file>/mpi/g'`
diff --git a/src/env/mpif90.sh.in b/src/env/mpif90.sh.in
index 8c72c9c..7527e78 100644
--- a/src/env/mpif90.sh.in
+++ b/src/env/mpif90.sh.in
@@ -326,7 +326,7 @@ fi
# Handle the specification of the directory containing the modules
# For now, these are in the includedir (no choice argument supported)
-modulelib="@MPILIBNAME at f90"
+modulelib="@FCWRAPNAME@"
if [ -n "$FCMODINCSPEC" ] ; then
newarg=`echo A"$FCMODINCSPEC" | \
sed -e 's/^A//' -e 's%<dir>%'"$includedir%g" -e 's/<file>/mpi/g'`
-----------------------------------------------------------------------
Summary of changes:
Makefile.am | 8 ++--
configure.ac | 85 +++++++++++++++++++++++++++++++++++----
examples/Makefile.am | 4 +-
src/binding/f90/buildiface | 16 ++++----
src/env/mpif90.bash.in | 6 +-
src/env/mpif90.sh.in | 6 +-
src/mpid/pamid/subconfigure.m4 | 17 +++++---
src/mpl/Makefile.am | 8 ++--
src/mpl/configure.ac | 7 +++
src/openpa/Makefile.am | 2 +-
src/openpa/configure.ac | 13 ++++++
src/openpa/src/Makefile.am | 6 +-
src/openpa/test/Makefile.am | 4 +-
13 files changed, 137 insertions(+), 45 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list