Skip to content

Commit

Permalink
Merge pull request #3247 from grondo/hostlist
Browse files Browse the repository at this point in the history
add hostlist library for encoding/decoding RFC29 hostlists
  • Loading branch information
mergify[bot] committed Oct 7, 2020
2 parents 5b26a12 + 40ee8e2 commit d6cddb3
Show file tree
Hide file tree
Showing 18 changed files with 3,642 additions and 24 deletions.
8 changes: 8 additions & 0 deletions configure.ac
Expand Up @@ -85,6 +85,12 @@ LIBFLUX_SCHEDUTIL_AGE=0
LIBFLUX_SCHEDUTIL_VERSION_INFO=$LIBFLUX_SCHEDUTIL_CURRENT:$LIBFLUX_SCHEDUTIL_REVISION:$LIBFLUX_SCHEDUTIL_AGE
AC_SUBST([LIBFLUX_SCHEDUTIL_VERSION_INFO])

LIBFLUX_HOSTLIST_CURRENT=1
LIBFLUX_HOSTLIST_REVISION=0
LIBFLUX_HOSTLIST_AGE=0
LIBFLUX_HOSTLIST_VERSION_INFO=$LIBFLUX_HOSTLIST_CURRENT:$LIBFLUX_HOSTLIST_REVISION:$LIBFLUX_HOSTLIST_AGE
AC_SUBST([LIBFLUX_HOSTLIST_VERSION_INFO])

##
# Checks for programs
##
Expand Down Expand Up @@ -483,6 +489,7 @@ AC_CONFIG_FILES( \
src/common/libyuarel/Makefile \
src/common/libdebugged/Makefile \
src/common/libterminus/Makefile \
src/common/libhostlist/Makefile \
src/bindings/Makefile \
src/bindings/lua/Makefile \
src/bindings/python/Makefile \
Expand Down Expand Up @@ -520,6 +527,7 @@ AC_CONFIG_FILES( \
etc/flux-optparse.pc \
etc/flux-idset.pc \
etc/flux-schedutil.pc \
etc/flux-hostlist.pc \
etc/flux.service \
doc/Makefile \
doc/test/Makefile \
Expand Down
3 changes: 2 additions & 1 deletion etc/Makefile.am
Expand Up @@ -39,7 +39,8 @@ pkgconfig_DATA = flux-core.pc \
flux-pmi.pc \
flux-optparse.pc \
flux-idset.pc \
flux-schedutil.pc
flux-schedutil.pc \
flux-hostlist.pc
endif

noinst_SCRIPTS = \
Expand Down
10 changes: 10 additions & 0 deletions etc/flux-hostlist.pc.in
@@ -0,0 +1,10 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@

Name: flux-hostlist
Description: Flux Resource Manager Hostlist Library
Version: @PACKAGE_VERSION@
Libs: -L${libdir} -lflux-hostlist
Cflags: -I${includedir}
59 changes: 36 additions & 23 deletions src/common/Makefile.am
@@ -1,25 +1,27 @@
SUBDIRS = libtap \
libtestutil \
libev \
libyuarel \
libpmi \
liblsd \
libutil \
libflux \
libkvs \
libjob \
liboptparse \
libidset \
libtomlc99 \
libsubprocess \
libaggregate \
libschedutil \
libeventlog \
libioencode \
librouter \
libdebugged \
libterminus \
libcontent
SUBDIRS = \
libtap \
libtestutil \
libev \
libyuarel \
libpmi \
liblsd \
libutil \
libflux \
libkvs \
libjob \
liboptparse \
libidset \
libtomlc99 \
libsubprocess \
libaggregate \
libschedutil \
libeventlog \
libioencode \
librouter \
libdebugged \
libterminus \
libcontent \
libhostlist

AM_CFLAGS = $(WARNING_CFLAGS) $(CODE_COVERAGE_CFLAGS)
AM_LDFLAGS = $(CODE_COVERAGE_LIBS)
Expand Down Expand Up @@ -53,7 +55,8 @@ libflux_internal_la_LDFLAGS = $(san_ld_zdef_flag)
lib_LTLIBRARIES = libflux-core.la \
libflux-optparse.la \
libflux-idset.la \
libflux-schedutil.la
libflux-schedutil.la \
libflux-hostlist.la

fluxlib_LTLIBRARIES = libpmi.la libpmi2.la

Expand Down Expand Up @@ -103,6 +106,15 @@ libflux_schedutil_la_LDFLAGS = \
-shared -export-dynamic --disable-static \
$(san_ld_zdef_flag)

libflux_hostlist_la_SOURCES =
libflux_hostlist_la_LIBADD = \
$(builddir)/libhostlist/libhostlist.la
libflux_hostlist_la_LDFLAGS = \
-Wl,--version-script=$(srcdir)/libflux-hostlist.map \
-version-info @LIBFLUX_HOSTLIST_VERSION_INFO@ \
-shared -export-dynamic --disable-static \
$(san_ld_zdef_flag)

libpmi_la_SOURCES =
libpmi_la_LIBADD = \
$(builddir)/libpmi/libpmi_client.la \
Expand Down Expand Up @@ -130,5 +142,6 @@ EXTRA_DIST = \
libflux-optparse.map \
libflux-idset.map \
libflux-schedutil.map \
libflux-hostlist.map \
libpmi.map \
libpmi2.map
6 changes: 6 additions & 0 deletions src/common/libflux-hostlist.map
@@ -0,0 +1,6 @@
{ global:
hostlist_*;
__asan*;
local: *;
};

75 changes: 75 additions & 0 deletions src/common/libhostlist/Makefile.am
@@ -0,0 +1,75 @@
AM_CFLAGS = \
-I$(top_srcdir) \
$(WARNING_CFLAGS) \
$(CODE_COVERAGE_CFLAGS)

AM_LDFLAGS = \
$(CODE_COVERAGE_LIBS)

noinst_LTLIBRARIES = \
libhostlist.la

fluxinclude_HEADERS = \
hostlist.h

libhostlist_la_SOURCES = \
util.h \
util.c \
hostname.h \
hostname.c \
hostrange.h \
hostrange.c \
hostlist.h \
hostlist.c

libhostlist_la_CPPFLAGS = \
$(AM_CPPFLAGS)
libhostlist_la_LDFLAGS = \
-avoid-version -module -shared -export-dynamic \
$(AM_LDFLAGS)


TESTS = \
test_util.t \
test_hostname.t \
test_hostrange.t \
test_hostlist.t

check_PROGRAMS = \
$(TESTS)

TEST_EXTENSIONS = .t
T_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
$(top_srcdir)/config/tap-driver.sh

test_hostname_t_SOURCES = \
test/hostname.c
test_hostname_t_CPPFLAGS = \
$(AM_CPPFLAGS)
test_hostname_t_LDADD = \
$(top_builddir)/src/common/libtap/libtap.la \
$(top_builddir)/src/common/libhostlist/libhostlist.la

test_util_t_SOURCES = \
test/util.c
test_util_t_CPPFLAGS = \
$(AM_CPPFLAGS)
test_util_t_LDADD = \
$(top_builddir)/src/common/libtap/libtap.la \
$(top_builddir)/src/common/libhostlist/libhostlist.la

test_hostrange_t_SOURCES = \
test/hostrange.c
test_hostrange_t_CPPFLAGS = \
$(AM_CPPFLAGS)
test_hostrange_t_LDADD = \
$(top_builddir)/src/common/libtap/libtap.la \
$(top_builddir)/src/common/libhostlist/libhostlist.la

test_hostlist_t_SOURCES = \
test/hostlist.c
test_hostlist_t_CPPFLAGS = \
$(AM_CPPFLAGS)
test_hostlist_t_LDADD = \
$(top_builddir)/src/common/libtap/libtap.la \
$(top_builddir)/src/common/libhostlist/libhostlist.la

0 comments on commit d6cddb3

Please sign in to comment.