diff mbox series

[v2,2/3] tools: add configure option for libfsimage

Message ID 20230808132219.6422-3-jgross@suse.com (mailing list archive)
State New, archived
Headers show
Series tools: add some more configure options | expand

Commit Message

Jürgen Groß Aug. 8, 2023, 1:22 p.m. UTC
The only in-tree user of libfsimage is pygrub. Now that it is possible
to disable the build of pygrub, the same should be possible for
libfsimage.

Add an option for controlling the build of libfsimage. The default is
on if pygrub is being built, and off if it isn't. Without pygrub the
build of libfsimage can be enabled via --enable-libfsimage.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add check for pygrub enabled and libfsimage disabled (Andrew Cooper)
---
 config/Tools.mk.in |  1 +
 tools/Makefile     |  2 +-
 tools/configure    | 40 ++++++++++++++++++++++++++++++++++++++++
 tools/configure.ac | 21 +++++++++++++++++++++
 4 files changed, 63 insertions(+), 1 deletion(-)

Comments

Anthony PERARD Aug. 8, 2023, 1:46 p.m. UTC | #1
On Tue, Aug 08, 2023 at 03:22:18PM +0200, Juergen Gross wrote:
> The only in-tree user of libfsimage is pygrub. Now that it is possible
> to disable the build of pygrub, the same should be possible for
> libfsimage.
> 
> Add an option for controlling the build of libfsimage. The default is
> on if pygrub is being built, and off if it isn't. Without pygrub the
> build of libfsimage can be enabled via --enable-libfsimage.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,
diff mbox series

Patch

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 432d7496f1..b54ab21f96 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -49,6 +49,7 @@  CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@
 CONFIG_LIBNL        := @libnl@
 CONFIG_GOLANG       := @golang@
 CONFIG_PYGRUB       := @pygrub@
+CONFIG_LIBFSIMAGE   := @libfsimage@
 
 CONFIG_SYSTEMD      := @systemd@
 SYSTEMD_CFLAGS      := @SYSTEMD_CFLAGS@
diff --git a/tools/Makefile b/tools/Makefile
index bbd75ebc1a..311a9098d7 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -18,7 +18,7 @@  SUBDIRS-$(CONFIG_X86) += firmware
 SUBDIRS-y += console
 SUBDIRS-y += xenmon
 SUBDIRS-$(XENSTAT_XENTOP) += xentop
-SUBDIRS-y += libfsimage
+SUBDIRS-$(CONFIG_LIBFSIMAGE) += libfsimage
 SUBDIRS-$(CONFIG_Linux) += vchan
 
 # do not recurse in to a dir we are about to delete
diff --git a/tools/configure b/tools/configure
index 44ec7a6477..ed4eb64568 100755
--- a/tools/configure
+++ b/tools/configure
@@ -700,6 +700,7 @@  EXTRA_QEMUU_CONFIGURE_ARGS
 qemu_xen_systemd
 qemu_xen_path
 qemu_xen
+libfsimage
 rombios
 BCC
 LD86
@@ -818,6 +819,7 @@  enable_qemu_traditional
 enable_ipxe
 with_system_ipxe
 enable_rombios
+enable_libfsimage
 with_system_qemu
 with_stubdom_qmp_proxy
 with_system_seabios
@@ -1508,6 +1510,8 @@  Optional Features:
                           --with-system-ipxe)
   --enable-rombios        Enable ROMBIOS, (DEFAULT is on if qemu-traditional
                           or ipxe is enabled, otherwise off)
+  --enable-libfsimage     Enable libfsimage, (DEFAULT is on if pygrub is
+                          enabled, otherwise off)
   --enable-systemd        Enable systemd support (default is DISABLED)
   --enable-9pfs           Explicitly enable 9pfs support in QEMU build
                           (default is to defer to QEMU configure default)
@@ -4629,6 +4633,42 @@  $as_echo "#define HAVE_PYGRUB 1" >>confdefs.h
 
 fi
 
+# Check whether --enable-libfsimage was given.
+if test "${enable_libfsimage+set}" = set; then :
+  enableval=$enable_libfsimage;
+else
+
+    if test "x$pygrub" = "xn"; then :
+
+        enable_libfsimage="no"
+
+else
+
+        enable_libfsimage="yes"
+
+fi
+
+fi
+
+if test "x$enable_libfsimage" = "xyes"; then :
+
+    libfsimage=y
+
+else
+
+    if test "x$pygrub" = "xy"; then :
+
+        as_fn_error $? "pygrub needs libfsimage" "$LINENO" 5
+
+else
+
+        libfsimage=n
+
+fi
+
+fi
+
+
 
 # Check whether --with-system-qemu was given.
 if test "${with_system_qemu+set}" = set; then :
diff --git a/tools/configure.ac b/tools/configure.ac
index 0d1c8f9fa3..618ef8c63f 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -189,6 +189,27 @@  AS_IF([test "x$pygrub" = "xy"], [
     AC_DEFINE([HAVE_PYGRUB], [1], [pygrub enabled])
 ])
 
+AC_ARG_ENABLE([libfsimage],
+    AS_HELP_STRING([--enable-libfsimage],
+                   [Enable libfsimage, (DEFAULT is on if pygrub is enabled,
+                    otherwise off)]),,[
+    AS_IF([test "x$pygrub" = "xn"], [
+        enable_libfsimage="no"
+    ], [
+        enable_libfsimage="yes"
+    ])
+])
+AS_IF([test "x$enable_libfsimage" = "xyes"], [
+    libfsimage=y
+], [
+    AS_IF([test "x$pygrub" = "xy"], [
+        AC_MSG_ERROR([pygrub needs libfsimage])
+    ], [
+        libfsimage=n
+    ])
+])
+AC_SUBST(libfsimage)
+
 AC_ARG_WITH([system-qemu],
     AS_HELP_STRING([--with-system-qemu@<:@=PATH@:>@],
        [Use system supplied qemu PATH or qemu (taken from $PATH) as qemu-xen