summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2021-12-28 16:51:14 +1100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-12-28 10:32:47 +0100
commit4fbbf561a41be515a96b34afce1fd40fec9d3182 (patch)
treeea2ea3f2e325b0f38abb8c3aa1383457cc3450fc
parent570fa49449ad9e01f7087f725ee6e073220db237 (diff)
rumpdisk: Link with rumpvfs_nofifofs if present
Message-Id: <20211228055114.173039-1-damien@zamaudio.com>
-rw-r--r--config.make.in1
-rw-r--r--configure.ac29
-rw-r--r--rumpdisk/Makefile10
3 files changed, 37 insertions, 3 deletions
diff --git a/config.make.in b/config.make.in
index e4f856f2..7c113c37 100644
--- a/config.make.in
+++ b/config.make.in
@@ -108,6 +108,7 @@ HAVE_LIBLWIP = @HAVE_LIBLWIP@
# Whether we found librump.
HAVE_LIBRUMP = @HAVE_LIBRUMP@
+HAVE_LIBRUMP_VFSNOFIFO = @HAVE_LIBRUMP_VFSNOFIFO@
# How to compile and link against liblwip.
liblwip_CFLAGS = @liblwip_CFLAGS@
diff --git a/configure.ac b/configure.ac
index 9f131e9a..cb9d3fdc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -233,11 +233,34 @@ AS_IF([test "x$with_libz" != xno], [
])
AC_SUBST([HAVE_LIBZ])
-AC_CHECK_HEADER([rump/rump.h], [
- AC_CHECK_LIB(rump, rump_init, [HAVE_LIBRUMP=yes], [HAVE_LIBRUMP=no])
- ], [HAVE_LIBRUMP=no])
+# Save
+oldLIBS="$LIBS"
+
+LIBS="$oldLIBS -lrump"
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <hurd.h>
+#define _STANDALONE
+#include <rump/rump.h>]],
+ [])],
+ [HAVE_LIBRUMP=yes],
+ [HAVE_LIBRUMP=no])
AC_SUBST([HAVE_LIBRUMP])
+LIBS="$oldLIBS -lrumpvfs_nofifofs_pic"
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <hurd.h>
+#define _STANDALONE
+#include <rump/rump.h>]],
+ [])],
+ [HAVE_LIBRUMP_VFSNOFIFO=yes],
+ [HAVE_LIBRUMP_VFSNOFIFO=no])
+AC_SUBST([HAVE_LIBRUMP_VFSNOFIFO])
+
+# Reset
+LIBS="$oldLIBS"
+
AC_ARG_ENABLE(boot-store-types,
[ --enable-boot-store-types=TYPES...
list of store types included in statically
diff --git a/rumpdisk/Makefile b/rumpdisk/Makefile
index cf7c9df0..51304594 100644
--- a/rumpdisk/Makefile
+++ b/rumpdisk/Makefile
@@ -19,6 +19,16 @@ RUMPPATH=/usr/lib
RUMPLIBS=rump rumpuser rumpdev rumpdev_disk rumpdev_pci rumpvfs rumpdev_ahcisata
RUMPEXTRA=rumpdev_scsipi
+# If we have a configured tree, include the configuration so that we
+# can conditionally build translators.
+ifneq (,$(wildcard ../config.make))
+ include ../config.make
+endif
+
+ifeq ($(HAVE_LIBRUMP_VFSNOFIFO),yes)
+RUMPLIBS += rumpvfs_nofifofs
+endif
+
dir := rumpdisk
makemode := server