From 23da75404d87003c44524ab8cc60a8f78292e801 Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Sat, 18 Dec 2021 16:28:08 +1100 Subject: rumpdisk: Link with rumpvfs_nofifofs if present --- config.make.in | 1 + configure.ac | 29 ++++++++++++++++++++++++++--- rumpdisk/Makefile | 10 ++++++++++ 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..0c994061 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="-lrump" +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include +#define _STANDALONE +#include ]], + [])], + [HAVE_LIBRUMP=yes], + [HAVE_LIBRUMP=no]) AC_SUBST([HAVE_LIBRUMP]) +LIBS="-lrumpvfs_nofifofs_pic" +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include +#define _STANDALONE +#include ]], + [])], + [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 -- cgit v1.2.3