[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
- [PATCH 0/5] hurd: Patches for new librump, Damien Zammit, 2021/12/26
- [PATCH 1/5] rumpdisk: define _STANDALONE to avoid register_t, Damien Zammit, 2021/12/26
- [PATCH 2/5] rumpdisk: Link with rumpvfs_nofifofs if present,
Damien Zammit <=
- [PATCH 4/5] pci-arbiter,rumpdisk: Lock all memory for swapping, Damien Zammit, 2021/12/26
- [PATCH 5/5] rumpdisk: Fault-in the memory pages, Damien Zammit, 2021/12/26
- [PATCH 3/5] rumpdisk: Use raw uncached character device rwdXd, Damien Zammit, 2021/12/26