Skip to content

Commit

Permalink
Merge pull request #2597 from rhc54/topic/flux
Browse files Browse the repository at this point in the history
Add a flux component for LLNL
  • Loading branch information
rhc54 authored Dec 17, 2016
2 parents ced245d + 215d629 commit 49328eb
Show file tree
Hide file tree
Showing 11 changed files with 1,248 additions and 0 deletions.
38 changes: 38 additions & 0 deletions opal/mca/pmix/flux/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#
# Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#

sources = \
pmix_flux.h \
pmix_flux_component.c \
pmix_flux.c

# Make the output library in this directory, and name it either
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
# (for static builds).

if MCA_BUILD_opal_pmix_flux_DSO
component_noinst =
component_install = mca_pmix_flux.la
else
component_noinst = libmca_pmix_flux.la
component_install =
endif

mcacomponentdir = $(opallibdir)
mcacomponent_LTLIBRARIES = $(component_install)
mca_pmix_flux_la_SOURCES = $(sources)
mca_pmix_flux_la_CPPFLAGS = $(FLUX_PMI_CFLAGS)
mca_pmix_flux_la_LDFLAGS = -module -avoid-version
mca_pmix_flux_la_LIBADD = $(FLUX_PMI_LIBS)

noinst_LTLIBRARIES = $(component_noinst)
libmca_pmix_flux_la_SOURCES =$(sources)
libmca_pmix_flux_la_CPPFLAGS = $(FLUX_PMI_CFLAGS)
libmca_pmix_flux_la_LDFLAGS = -module -avoid-version
libmca_pmix_flux_la_LIBADD = $(FLUX_PMI_LIBS)
63 changes: 63 additions & 0 deletions opal/mca/pmix/flux/configure.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# -*- shell-script -*-
#
# Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#

# MCA_pmix_flux_CONFIG([action-if-found], [action-if-not-found])
# -----------------------------------------------------------
AC_DEFUN([MCA_opal_pmix_flux_CONFIG], [

AC_CONFIG_FILES([opal/mca/pmix/flux/Makefile])

AC_ARG_WITH([flux-pmi],
[AC_HELP_STRING([--with-flux-pmi],
[Build Flux PMI support (default: yes)])])

AC_ARG_WITH([flux-pmi-library],
[AC_HELP_STRING([--with-flux-pmi-library],
[Link Flux PMI support with PMI library at build time. Otherwise the library is opened at runtime at location specified by FLUX_PMI_LIBRARY_PATH environment variable. Use this option to enable Flux support when building statically or without dlopen support (default: no)])])


# pkg-config check aborts configure on failure
AC_MSG_CHECKING([if user wants Flux support to link against PMI library])
AS_IF([test "x$with_flux_pmi_library" != "xyes"],
[AC_MSG_RESULT([no])
$3],
[AC_MSG_RESULT([yes])
PKG_CHECK_MODULES([FLUX_PMI], [flux-pmi], [], [])
have_flux_pmi_library=yes
AC_DEFINE([HAVE_FLUX_PMI_LIBRARY], [1],
[Flux support builds against external PMI library])
])

AC_MSG_CHECKING([if Flux support allowed to use dlopen])
AS_IF([test $OPAL_ENABLE_DLOPEN_SUPPORT -eq 1 && test "x$compile_mode" = "xdso"],
[AC_MSG_RESULT([yes])
flux_can_dlopen=yes
],
[AC_MSG_RESULT([no])
])

AC_MSG_CHECKING([Checking if Flux PMI support can be built])
AS_IF([test "x$with_flux_pmi" != "xno" && ( test "x$have_flux_pmi_library" = "xyes" || test "x$flux_can_dlopen" = "xyes" ) ],
[AC_MSG_RESULT([yes])
opal_enable_flux=yes
],
[AC_MSG_RESULT([no])
AS_IF([test "x$with_flux_pmi" = "xyes"],
[AC_MSG_ERROR([Aborting since Flux PMI support was requested])
])
])

# Evaluate succeed / fail
AS_IF([test "x$opal_enable_flux" = "xyes"],
[$1
# need to set the wrapper flags for static builds
pmix_flux_WRAPPER_EXTRA_LIBS="$FLUX_PMI_LIBS"],
[$2])
])
7 changes: 7 additions & 0 deletions opal/mca/pmix/flux/owner.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#
# owner/status file
# owner: institution that is responsible for this package
# status: e.g. active, maintenance, unmaintained
#
owner: INTEL
status: active
Loading

0 comments on commit 49328eb

Please sign in to comment.