1
1

configury: correctly perform make distclean when {libevent,hwloc,pmix} are external components

Thanks Jeff for the guidance

Fixes open-mpi/ompi#1683

note:
in order to keep this commit easy to review, some AS_IF([...]) were replaced with
AS_IF([false], ...) or AS_IF_([true], ...)
these will be removed and re-idented in a subsequent commit
Этот коммит содержится в:
Gilles Gouaillardet 2016-07-04 17:01:35 +09:00
родитель 4bc08d64e9
Коммит 846360fd4c
3 изменённых файлов: 47 добавлений и 10 удалений

Просмотреть файл

@ -3,7 +3,7 @@
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights reserved.
# Copyright (c) 2015 Intel, Inc. All rights reserved.
# Copyright (c) 2015 Research Organization for Information Science
# Copyright (c) 2015-2016 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
#
# $COPYRIGHT$
@ -92,7 +92,7 @@ AC_DEFUN([MCA_opal_event_libevent2022_CONFIG],[
libevent_basedir="opal/mca/event/libevent2022"
# If we're not building externally, configure this component
AS_IF([test "$with_libevent" = "internal" || test -z "$with_libevent" || test "$with_libevent" = "yes"],
AS_IF([true],
[MCA_opal_event_libevent2022_DO_THE_CONFIG],
[AC_MSG_WARN([using an external libevent; disqualifiying this component])
$2])
@ -189,6 +189,18 @@ AC_DEFUN([MCA_opal_event_libevent2022_DO_THE_CONFIG], [
# libevent/include/event2/event-config.h!). Otherwise, set it to
# 0.
libevent_file=$libevent_basedir/libevent/config.h
# If we are not building the internal libevent, then indicate that
# this component should not be built. NOTE: we still did all the
# above configury so that all the proper GNU Autotools
# infrastructure is setup properly (e.g., w.r.t. SUBDIRS=libevent in
# this directory's Makefile.am, we still need the Autotools "make
# distclean" infrastructure to work properly).
AS_IF([test "$with_libevent" != "internal" && test -n "$with_libevent" && test "$with_libevent" != "yes"],
[AC_MSG_WARN([using an external libevent; disqualifying this component])
libevent_happy=no])
AS_IF([test "$libevent_happy" = "yes" && test -r $libevent_file],
[OPAL_HAVE_WORKING_EVENTOPS=`grep HAVE_WORKING_EVENTOPS $libevent_file | awk '{print [$]3 }'`
$1],

Просмотреть файл

@ -2,7 +2,7 @@
#
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
# Copyright (c) 2015 Research Organization for Information Science
# Copyright (c) 2015-2016 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
# reserved.
@ -72,20 +72,25 @@ AC_DEFUN([MCA_opal_hwloc_hwloc1113_CONFIG],[
AC_CONFIG_FILES([opal/mca/hwloc/hwloc1113/Makefile])
OPAL_VAR_SCOPE_PUSH([HWLOC_VERSION opal_hwloc_hwloc1113_save_CPPFLAGS opal_hwloc_hwloc1113_save_LDFLAGS opal_hwloc_hwloc1113_save_LIBS opal_hwloc_hwloc1113_save_cairo opal_hwloc_hwloc1113_save_xml opal_hwloc_hwloc1113_basedir opal_hwloc_hwloc1113_file opal_hwloc_hwloc1113_save_cflags CPPFLAGS_save LIBS_save])
OPAL_VAR_SCOPE_PUSH([HWLOC_VERSION opal_hwloc_hwloc1113_save_CPPFLAGS opal_hwloc_hwloc1113_save_LDFLAGS opal_hwloc_hwloc1113_save_LIBS opal_hwloc_hwloc1113_save_cairo opal_hwloc_hwloc1113_save_xml opal_hwloc_hwloc1113_basedir opal_hwloc_hwloc1113_file opal_hwloc_hwloc1113_save_cflags CPPFLAGS_save LIBS_save opal_hwloc_external])
# default to this component not providing support
opal_hwloc_hwloc1113_basedir=opal/mca/hwloc/hwloc1113
opal_hwloc_hwloc1113_support=no
if test "$with_hwloc" = "internal" || test -z "$with_hwloc" || test "$with_hwloc" = "yes"; then
AS_IF([test "$with_hwloc" = "internal" || test -z "$with_hwloc" || test "$with_hwloc" = "yes"],
[opal_hwloc_external="no"],
[opal_hwloc_external="yes"])
if true; then
opal_hwloc_hwloc1113_save_CPPFLAGS=$CPPFLAGS
opal_hwloc_hwloc1113_save_LDFLAGS=$LDFLAGS
opal_hwloc_hwloc1113_save_LIBS=$LIBS
# Run the hwloc configuration - set the prefix to minimize
# the chance that someone will use the internal symbols
HWLOC_SET_SYMBOL_PREFIX([opal_hwloc1113_])
# Run the hwloc configuration - if no external hwloc, then set the prefix
# to minimize the chance that someone will use the internal symbols
AS_IF([test "$opal_hwloc_external" = "no"],
[HWLOC_SET_SYMBOL_PREFIX([opal_hwloc1113_])])
# save XML or graphical options
opal_hwloc_hwloc1113_save_cairo=$enable_cairo
@ -165,6 +170,16 @@ AC_DEFUN([MCA_opal_hwloc_hwloc1113_CONFIG],[
hwloc_hwloc1113_WRAPPER_EXTRA_CPPFLAGS='-I${pkgincludedir}/'"$opal_hwloc_hwloc1113_basedir/hwloc/include"
fi
# If we are not building the internal hwloc, then indicate that
# this component should not be built. NOTE: we still did all the
# above configury so that all the proper GNU Autotools
# infrastructure is setup properly (e.g., w.r.t. SUBDIRS=hwloc in
# this directory's Makefile.am, we still need the Autotools "make
# distclean" infrastructure to work properly).
AS_IF([test "$opal_hwloc_external" = "yes"],
[AC_MSG_WARN([using an external hwloc; disqualifying this component])
opal_hwloc_hwloc1113_support=no])
# Done!
AS_IF([test "$opal_hwloc_hwloc1113_support" = "yes"],
[$1],

Просмотреть файл

@ -14,7 +14,7 @@
# All rights reserved.
# Copyright (c) 2010-2016 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2013-2015 Intel, Inc. All rights reserved.
# Copyright (c) 2015 Research Organization for Information Science
# Copyright (c) 2015-2016 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
@ -30,7 +30,7 @@ AC_DEFUN([MCA_opal_pmix_pmix2x_CONFIG],[
OPAL_VAR_SCOPE_PUSH([PMIX_VERSION opal_pmix_pmix2x_save_CPPFLAGS opal_pmix_pmix2x_save_LDFLAGS opal_pmix_pmix2x_save_LIBS opal_pmix_pmix2x_basedir opal_pmix_pmix2x_save_cflags])
AS_IF([test "$opal_external_pmix_happy" = "yes"],
AS_IF([false],
[AC_MSG_WARN([using an external pmix; disqualifiying this component])
opal_pmix_pmix2x_happy=0],
[PMIX_VERSION=
@ -69,6 +69,16 @@ AC_DEFUN([MCA_opal_pmix_pmix2x_CONFIG],[
LIBS=$opal_pmix_pmix2x_save_LIBS
])
# If we are not building the internal pmix, then indicate that
# this component should not be built. NOTE: we still did all the
# above configury so that all the proper GNU Autotools
# infrastructure is setup properly (e.g., w.r.t. SUBDIRS=pmix in
# this directory's Makefile.am, we still need the Autotools "make
# distclean" infrastructure to work properly).
AS_IF([test "$opal_external_pmix_happy" = "yes"],
[AC_MSG_WARN([using an external pmix; disqualifying this component])
opal_pmix_pmix2x_happy=0])
AS_IF([test $opal_pmix_pmix2x_happy -eq 1],
[$1],
[$2])