diff --git a/mpich2/src/mpid/psp/subconfigure.m4 b/mpich2/src/mpid/psp/subconfigure.m4 index 3b1eab6883339395f4ef9731408dc2fe79d373c1..ea6a6f9fb541f0b4ea2aca0c206e98b1df0ecacf 100644 --- a/mpich2/src/mpid/psp/subconfigure.m4 +++ b/mpich2/src/mpid/psp/subconfigure.m4 @@ -45,12 +45,7 @@ else echo " mpid/psp : set MPID_MAX_THREAD_LEVEL=MPI_THREAD_MULTIPLE" fi -PSCOM_CPPFLAGS="${PSCOM_CPPFLAGS-"-I/opt/parastation/include"}" -PSCOM_LDFLAGS="${PSCOM_LDFLAGS-"-L/opt/parastation/lib64"}" -PSCOM_LIBRARY="${PSCOM_LIBRARY-"-lpscom"}" -PSCOM_RPATHLINK="${PSCOM_RPATHLINK-"${PSCOM_LDFLAGS//-L/-Wl,-rpath-link=}"}" -case "$PSCOM_RPATHLINK" in '/'*) PSCOM_RPATHLINK="-Wl,-rpath-link=${PSCOM_RPATHLINK}" ;; esac - +# Evaluate argument of '--with-pscom' option: AS_IF([test "x$with_psp_pscom" != "xno"],[ AS_IF([test "x$with_psp_pscom" != "xyes"],[ PSCOM_CPPFLAGS="-I${with_psp_pscom}/include" @@ -62,16 +57,23 @@ AS_IF([test "x$with_psp_pscom" != "xno"],[ ]) ]) +PSCOM_CPPFLAGS="${PSCOM_CPPFLAGS-"-I/opt/parastation/include"}" +PSCOM_LDFLAGS="${PSCOM_LDFLAGS-"-L/opt/parastation/lib64"}" +PSCOM_LIBRARY="${PSCOM_LIBRARY-"-lpscom"}" + +# Add 'RUNPATH' for pscom to 'libpsmpi.so': +PSCOM_RUNPATH="${PSCOM_RUNPATH-"${PSCOM_LDFLAGS//-L/-Wl,-rpath=}"}" +case "$PSCOM_RUNPATH" in '/'*) PSCOM_RUNPATH="-Wl,-rpath=${PSCOM_RUNPATH}" ;; esac +PAC_APPEND_FLAG([${PSCOM_RUNPATH}],[PSP_LDFLAGS]) + AC_ARG_VAR([PSCOM_CPPFLAGS], [C preprocessor flags for PSCOM headers (default: "-I/opt/parastation/include")]) AC_ARG_VAR([PSCOM_LDFLAGS], [linker flags for PSCOM libraries (default: "-L/opt/parastation/lib64")]) AC_ARG_VAR([PSCOM_LIBRARY], [file name for PSCOM library (default: "-lpscom")]) -AC_ARG_VAR([PSCOM_RPATHLINK], [mpicc wrapper option for -Wl,-rpath-link - (default: "-Wl,-rpath-link=/opt/parastation/lib64")]) - -PAC_APPEND_FLAG([${PSCOM_RPATHLINK}],[WRAPPER_LDFLAGS]) +AC_ARG_VAR([PSCOM_RUNPATH], [RUNPATH to be added to libmpi.so + (default: "-Wl,-rpath=/opt/parastation/lib64")]) if test "$PSCOM_ALLIN" = "true" ; then PSCOM_LDFLAGS="" @@ -86,7 +88,6 @@ fi AC_SUBST([PSCOM_CPPFLAGS]) AC_SUBST([PSCOM_LDFLAGS]) AC_SUBST([PSCOM_LIBRARY]) -AC_SUBST([PSCOM_RPATHLINK]) AC_SUBST([PSCOM_ALLIN_LIBS]) AC_ARG_VAR([PSP_CPPFLAGS], [C preprocessor flags for PSP macros])