fix for issue found by Dries Kimpe -- if a user specifies two identical
options as part of the --with-wrapper-{*flags,libs} options to configure, we'll eat one of them, which can have unintended issues. For example, --with-wrapper-ldflags="-Wl,-rpath -Wl,pathA -Wl,-rpath -Wl,pathB" will result in us removing the second -Wl,-rpath, which will result in wrapper ldflags of -Wl,-rpath -Wl,pathA -Wl,pathB which doesn't really do what the user intended. We now always pass the user- specified flags completely unmodified, bypassing the OMPI_UNIQ routine This commit was SVN r8193.
Этот коммит содержится в:
родитель
eb3ccdb4d8
Коммит
e5525ad5f8
@ -18,6 +18,14 @@ dnl $HEADER$
|
|||||||
dnl
|
dnl
|
||||||
|
|
||||||
|
|
||||||
|
# OMPI_SETUP_WRAPPER_INIT()
|
||||||
|
# -------------------------
|
||||||
|
# Setup wrapper compiler configuration information - should be called
|
||||||
|
# before the bulk of the tests that can affect the wrapper compilers
|
||||||
|
#
|
||||||
|
# Note that we keep the user-specified flags seperately because we
|
||||||
|
# don't want them to go through OMPI_UNIQ because that has resulted in
|
||||||
|
# unexpected behavior for the user in the past.
|
||||||
AC_DEFUN([OMPI_SETUP_WRAPPER_INIT],[
|
AC_DEFUN([OMPI_SETUP_WRAPPER_INIT],[
|
||||||
WRAPPER_EXTRA_CFLAGS=
|
WRAPPER_EXTRA_CFLAGS=
|
||||||
WRAPPER_EXTRA_CXXFLAGS=
|
WRAPPER_EXTRA_CXXFLAGS=
|
||||||
@ -26,13 +34,20 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_INIT],[
|
|||||||
WRAPPER_EXTRA_LDFLAGS=
|
WRAPPER_EXTRA_LDFLAGS=
|
||||||
WRAPPER_EXTRA_LIBS=
|
WRAPPER_EXTRA_LIBS=
|
||||||
|
|
||||||
|
USER_WRAPPER_EXTRA_CFLAGS=
|
||||||
|
USER_WRAPPER_EXTRA_CXXFLAGS=
|
||||||
|
USER_WRAPPER_EXTRA_FFLAGS=
|
||||||
|
USER_WRAPPER_EXTRA_FCFLAGS=
|
||||||
|
USER_WRAPPER_EXTRA_LDFLAGS=
|
||||||
|
USER_WRAPPER_EXTRA_LIBS=
|
||||||
|
|
||||||
AC_ARG_WITH([wrapper-cflags],
|
AC_ARG_WITH([wrapper-cflags],
|
||||||
[AC_HELP_STRING([--with-wrapper-cflags],
|
[AC_HELP_STRING([--with-wrapper-cflags],
|
||||||
[Extra flags to add to CFLAGS when using mpicc])])
|
[Extra flags to add to CFLAGS when using mpicc])])
|
||||||
if test "$with_wrapper_cflags" = "yes" -o "$with_wrapper_cflags" = "no"; then
|
if test "$with_wrapper_cflags" = "yes" -o "$with_wrapper_cflags" = "no"; then
|
||||||
AC_MSG_ERROR([--with-wrapper-cflags must have an argument. Aborting])
|
AC_MSG_ERROR([--with-wrapper-cflags must have an argument. Aborting])
|
||||||
elif test ! -z "$with_wrapper_cflags" ; then
|
elif test ! -z "$with_wrapper_cflags" ; then
|
||||||
WRAPPER_EXTRA_CFLAGS="$with_wrapper_cflags"
|
USER_WRAPPER_EXTRA_CFLAGS="$with_wrapper_cflags"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_WITH([wrapper-cxxflags],
|
AC_ARG_WITH([wrapper-cxxflags],
|
||||||
@ -41,7 +56,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_INIT],[
|
|||||||
if test "$with_wrapper_cxxflags" = "yes" -o "$with_wrapper_cxxflags" = "no"; then
|
if test "$with_wrapper_cxxflags" = "yes" -o "$with_wrapper_cxxflags" = "no"; then
|
||||||
AC_MSG_ERROR([--with-wrapper-cxxflags must have an argument. Aborting])
|
AC_MSG_ERROR([--with-wrapper-cxxflags must have an argument. Aborting])
|
||||||
elif test ! -z "$with_wrapper_cxxflags" ; then
|
elif test ! -z "$with_wrapper_cxxflags" ; then
|
||||||
WRAPPER_EXTRA_CXXFLAGS="$with_wrapper_cxxflags"
|
USER_WRAPPER_EXTRA_CXXFLAGS="$with_wrapper_cxxflags"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_WITH([wrapper-fflags],
|
AC_ARG_WITH([wrapper-fflags],
|
||||||
@ -50,7 +65,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_INIT],[
|
|||||||
if test "$with_wrapper_fflags" = "yes" -o "$with_wrapper_fflags" = "no"; then
|
if test "$with_wrapper_fflags" = "yes" -o "$with_wrapper_fflags" = "no"; then
|
||||||
AC_MSG_ERROR([--with-wrapper-fflags must have an argument. Aborting])
|
AC_MSG_ERROR([--with-wrapper-fflags must have an argument. Aborting])
|
||||||
elif test ! -z "$with_wrapper_fflags" ; then
|
elif test ! -z "$with_wrapper_fflags" ; then
|
||||||
WRAPPER_EXTRA_FFLAGS="$with_wrapper_fflags"
|
USER_WRAPPER_EXTRA_FFLAGS="$with_wrapper_fflags"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_WITH([wrapper-fcflags],
|
AC_ARG_WITH([wrapper-fcflags],
|
||||||
@ -59,7 +74,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_INIT],[
|
|||||||
if test "$with_wrapper_fcflags" = "yes" -o "$with_wrapper_fcflags" = "no"; then
|
if test "$with_wrapper_fcflags" = "yes" -o "$with_wrapper_fcflags" = "no"; then
|
||||||
AC_MSG_ERROR([--with-wrapper-fcflags must have an argument. Aborting])
|
AC_MSG_ERROR([--with-wrapper-fcflags must have an argument. Aborting])
|
||||||
elif test ! -z "$with_wrapper_fcflags" ; then
|
elif test ! -z "$with_wrapper_fcflags" ; then
|
||||||
WRAPPER_EXTRA_FCFLAGS="$with_wrapper_fcflags"
|
USER_WRAPPER_EXTRA_FCFLAGS="$with_wrapper_fcflags"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_WITH([wrapper-ldflags],
|
AC_ARG_WITH([wrapper-ldflags],
|
||||||
@ -68,7 +83,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_INIT],[
|
|||||||
if test "$with_wrapper_ldflags" = "yes" -o "$with_wrapper_ldflags" = "no"; then
|
if test "$with_wrapper_ldflags" = "yes" -o "$with_wrapper_ldflags" = "no"; then
|
||||||
AC_MSG_ERROR([--with-wrapper-ldflags must have an argument. Aborting])
|
AC_MSG_ERROR([--with-wrapper-ldflags must have an argument. Aborting])
|
||||||
elif test ! -z "$with_wrapper_ldflags" ; then
|
elif test ! -z "$with_wrapper_ldflags" ; then
|
||||||
WRAPPER_EXTRA_LDFLAGS="$with_wrapper_ldflags"
|
USER_WRAPPER_EXTRA_LDFLAGS="$with_wrapper_ldflags"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_WITH([wrapper-libs],
|
AC_ARG_WITH([wrapper-libs],
|
||||||
@ -77,7 +92,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_INIT],[
|
|||||||
if test "$with_wrapper_libs" = "yes" -o "$with_wrapper_libs" = "no"; then
|
if test "$with_wrapper_libs" = "yes" -o "$with_wrapper_libs" = "no"; then
|
||||||
AC_MSG_ERROR([--with-wrapper-libs must have an argument. Aborting])
|
AC_MSG_ERROR([--with-wrapper-libs must have an argument. Aborting])
|
||||||
elif test ! -z "$with_wrapper_libs" ; then
|
elif test ! -z "$with_wrapper_libs" ; then
|
||||||
WRAPPER_EXTRA_LIBS="$with_wrapper_libs"
|
USER_WRAPPER_EXTRA_LIBS="$with_wrapper_libs"
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -90,6 +105,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_FINAL],[
|
|||||||
#
|
#
|
||||||
AC_MSG_CHECKING([for mpicc CFLAGS])
|
AC_MSG_CHECKING([for mpicc CFLAGS])
|
||||||
OMPI_UNIQ(WRAPPER_EXTRA_CFLAGS)
|
OMPI_UNIQ(WRAPPER_EXTRA_CFLAGS)
|
||||||
|
WRAPPER_EXTRA_CFLAGS="$WRAPPER_EXTRA_CFLAGS $USER_WRAPPER_EXTRA_CFLAGS"
|
||||||
AC_SUBST(WRAPPER_EXTRA_CFLAGS)
|
AC_SUBST(WRAPPER_EXTRA_CFLAGS)
|
||||||
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_CFLAGS, "$WRAPPER_EXTRA_CFLAGS",
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_CFLAGS, "$WRAPPER_EXTRA_CFLAGS",
|
||||||
[Additional CFLAGS to pass through the wrapper compilers])
|
[Additional CFLAGS to pass through the wrapper compilers])
|
||||||
@ -100,6 +116,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_FINAL],[
|
|||||||
#
|
#
|
||||||
AC_MSG_CHECKING([for mpiCC CXXFLAGS])
|
AC_MSG_CHECKING([for mpiCC CXXFLAGS])
|
||||||
OMPI_UNIQ(WRAPPER_EXTRA_CXXFLAGS)
|
OMPI_UNIQ(WRAPPER_EXTRA_CXXFLAGS)
|
||||||
|
WRAPPER_EXTRA_CXXFLAGS="$WRAPPER_EXTRA_CXXFLAGS $USER_WRAPPER_EXTRA_CXXFLAGS"
|
||||||
AC_SUBST(WRAPPER_EXTRA_CXXFLAGS)
|
AC_SUBST(WRAPPER_EXTRA_CXXFLAGS)
|
||||||
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_CXXFLAGS, "$WRAPPER_EXTRA_CXXFLAGS",
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_CXXFLAGS, "$WRAPPER_EXTRA_CXXFLAGS",
|
||||||
[Additional CXXFLAGS to pass through the wrapper compilers])
|
[Additional CXXFLAGS to pass through the wrapper compilers])
|
||||||
@ -110,6 +127,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_FINAL],[
|
|||||||
#
|
#
|
||||||
AC_MSG_CHECKING([for mpif77/mpif90 FFLAGS])
|
AC_MSG_CHECKING([for mpif77/mpif90 FFLAGS])
|
||||||
OMPI_UNIQ(WRAPPER_EXTRA_FFLAGS)
|
OMPI_UNIQ(WRAPPER_EXTRA_FFLAGS)
|
||||||
|
WRAPPER_EXTRA_FFLAGS="$WRAPPER_EXTRA_FFLAGS $USER_WRAPPER_EXTRA_FFLAGS"
|
||||||
AC_SUBST(WRAPPER_EXTRA_FFLAGS)
|
AC_SUBST(WRAPPER_EXTRA_FFLAGS)
|
||||||
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_FFLAGS, "$WRAPPER_EXTRA_FFLAGS",
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_FFLAGS, "$WRAPPER_EXTRA_FFLAGS",
|
||||||
[Additional FFLAGS to pass through the wrapper compilers])
|
[Additional FFLAGS to pass through the wrapper compilers])
|
||||||
@ -120,6 +138,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_FINAL],[
|
|||||||
#
|
#
|
||||||
AC_MSG_CHECKING([for mpif77/mpif90 FCFLAGS])
|
AC_MSG_CHECKING([for mpif77/mpif90 FCFLAGS])
|
||||||
OMPI_UNIQ(WRAPPER_EXTRA_FCFLAGS)
|
OMPI_UNIQ(WRAPPER_EXTRA_FCFLAGS)
|
||||||
|
WRAPPER_EXTRA_FCFLAGS="$WRAPPER_EXTRA_FCFLAGS $USER_WRAPPER_EXTRA_FCFLAGS"
|
||||||
AC_SUBST(WRAPPER_EXTRA_FCFLAGS)
|
AC_SUBST(WRAPPER_EXTRA_FCFLAGS)
|
||||||
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_FCFLAGS, "$WRAPPER_EXTRA_FCFLAGS",
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_FCFLAGS, "$WRAPPER_EXTRA_FCFLAGS",
|
||||||
[Additional FCFLAGS to pass through the wrapper compilers])
|
[Additional FCFLAGS to pass through the wrapper compilers])
|
||||||
@ -130,6 +149,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_FINAL],[
|
|||||||
#
|
#
|
||||||
AC_MSG_CHECKING([for wrapper compiler LDFLAGS])
|
AC_MSG_CHECKING([for wrapper compiler LDFLAGS])
|
||||||
OMPI_UNIQ(WRAPPER_EXTRA_LDFLAGS)
|
OMPI_UNIQ(WRAPPER_EXTRA_LDFLAGS)
|
||||||
|
WRAPPER_EXTRA_LDFLAGS="$WRAPPER_EXTRA_LDFLAGS $USER_WRAPPER_EXTRA_LDFLAGS"
|
||||||
AC_SUBST(WRAPPER_EXTRA_LDFLAGS)
|
AC_SUBST(WRAPPER_EXTRA_LDFLAGS)
|
||||||
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_LDFLAGS, "$WRAPPER_EXTRA_LDFLAGS",
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_LDFLAGS, "$WRAPPER_EXTRA_LDFLAGS",
|
||||||
[Additional LDFLAGS to pass through the wrapper compilers])
|
[Additional LDFLAGS to pass through the wrapper compilers])
|
||||||
@ -139,6 +159,7 @@ AC_DEFUN([OMPI_SETUP_WRAPPER_FINAL],[
|
|||||||
# WRAPPER_EXTRA_LIBS
|
# WRAPPER_EXTRA_LIBS
|
||||||
#
|
#
|
||||||
AC_MSG_CHECKING([for wrapper compiler LIBS])
|
AC_MSG_CHECKING([for wrapper compiler LIBS])
|
||||||
|
WRAPPER_EXTRA_LIBS="$WRAPPER_EXTRA_LIBS $USER_WRAPPER_EXTRA_LIBS"
|
||||||
AC_SUBST(WRAPPER_EXTRA_LIBS)
|
AC_SUBST(WRAPPER_EXTRA_LIBS)
|
||||||
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_LIBS, "$WRAPPER_EXTRA_LIBS",
|
AC_DEFINE_UNQUOTED(WRAPPER_EXTRA_LIBS, "$WRAPPER_EXTRA_LIBS",
|
||||||
[Additional LIBS to pass through the wrapper compilers])
|
[Additional LIBS to pass through the wrapper compilers])
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user