diff options
author | Damien Zammit <damien@zamaudio.com> | 2021-12-28 16:51:14 +1100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-12-28 10:32:47 +0100 |
commit | 4fbbf561a41be515a96b34afce1fd40fec9d3182 (patch) | |
tree | ea2ea3f2e325b0f38abb8c3aa1383457cc3450fc | |
parent | 570fa49449ad9e01f7087f725ee6e073220db237 (diff) | |
download | hurd-4fbbf561a41be515a96b34afce1fd40fec9d3182.tar.gz hurd-4fbbf561a41be515a96b34afce1fd40fec9d3182.tar.bz2 hurd-4fbbf561a41be515a96b34afce1fd40fec9d3182.zip |
rumpdisk: Link with rumpvfs_nofifofs if present
Message-Id: <20211228055114.173039-1-damien@zamaudio.com>
-rw-r--r-- | config.make.in | 1 | ||||
-rw-r--r-- | configure.ac | 29 | ||||
-rw-r--r-- | 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..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 |