bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/5] rumpdisk: Link with rumpvfs_nofifofs if present


From: Damien Zammit
Subject: [PATCH 2/5] rumpdisk: Link with rumpvfs_nofifofs if present
Date: Sun, 26 Dec 2021 22:38:54 +1100

This is needed because some symbols have moved to another library.

---
 config.make.in    |  1 +
 configure.ac      | 35 ++++++++++++++++++++++++++++++++---
 rumpdisk/Makefile | 10 ++++++++++
 3 files changed, 43 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..f37fc5f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -233,11 +233,40 @@ 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])
+AC_CACHE_CHECK(for librump, rump_cv_HAVE_LIBRUMP, [dnl
+cat > conftest.c <<EOF
+#include <hurd.h>
+#define _STANDALONE
+#include <rump/rump.h>
+main () { return 0; }
+EOF
+if AC_TRY_COMMAND([${CC-cc} conftest.c -o conftest -lrump 
1>&AS_MESSAGE_LOG_FD])
+then
+  rump_cv_HAVE_LIBRUMP=yes
+else
+  rump_cv_HAVE_LIBRUMP=no
+fi
+rm -f conftest*])
+HAVE_LIBRUMP=$rump_cv_HAVE_LIBRUMP
 AC_SUBST([HAVE_LIBRUMP])
 
+AC_CACHE_CHECK(for librumpvfs_nofifofs, rump_cv_HAVE_LIBRUMP_VFSNOFIFO, [dnl
+cat > conftest.c <<EOF
+#include <hurd.h>
+#define _STANDALONE
+#include <rump/rump.h>
+main () { return 0; }
+EOF
+if AC_TRY_COMMAND([${CC-cc} conftest.c -o conftest -lrumpvfs_nofifofs_pic 
1>&AS_MESSAGE_LOG_FD])
+then
+  rump_cv_HAVE_LIBRUMP_VFSNOFIFO=yes
+else
+  rump_cv_HAVE_LIBRUMP_VFSNOFIFO=no
+fi
+rm -f conftest*])
+HAVE_LIBRUMP_VFSNOFIFO=$rump_cv_HAVE_LIBRUMP_VFSNOFIFO
+AC_SUBST([HAVE_LIBRUMP_VFSNOFIFO])
+
 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
 
-- 
2.33.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]