|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2] tools: fix dependency for ipxe and rombios
It appears that the test in 01d631028 for ipxe's dependency on rombios
is not good enough. Configuring with --disable-rombios doesn't disable
ipxe.
Fix it by testing the dependency in AC_ARG_ENABLE and AC_ARG_WITH at
the same time.
Now we have four options for ipxe:
--enable-ipxe enable building in-tree ipxe
--disable-ipxe disable building in-tree ipxe
--with-system-ipxe specify a path to be baked into code, disable
building in-tree ipxe, this trumps --{en,dis}able-ipxe
--without-system-ipxe no effect
Any enablement of ipxe also depends on the presence of rombios.
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
I opt to maintain consistency with other options.
We probably need similar fix with other --without-* options.
---
tools/configure | 70 ++++++++++++++++++++++++++++--------------------------
tools/configure.ac | 28 ++++++++++++++--------
2 files changed, 54 insertions(+), 44 deletions(-)
diff --git a/tools/configure b/tools/configure
index 3b55fb2e36..a3011159fc 100755
--- a/tools/configure
+++ b/tools/configure
@@ -693,6 +693,7 @@ APPEND_INCLUDES
PREPEND_LIB
PREPEND_INCLUDES
EXTRA_QEMUU_CONFIGURE_ARGS
+ipxe
qemu_xen_systemd
qemu_xen_path
qemu_xen
@@ -703,7 +704,6 @@ AS86
qemu_traditional
blktap2
LINUX_BACKEND_MODULES
-ipxe
seabios
ovmf
xsmpolicy
@@ -806,7 +806,6 @@ enable_ocamltools
enable_xsmpolicy
enable_ovmf
enable_seabios
-enable_ipxe
with_linux_backend_modules
enable_blktap2
enable_qemu_traditional
@@ -814,6 +813,7 @@ enable_rombios
with_system_qemu
with_system_seabios
with_system_ovmf
+enable_ipxe
with_system_ipxe
with_extra_qemuu_configure_args
with_xenstored
@@ -1491,13 +1491,14 @@ Optional Features:
--disable-xsmpolicy Disable XSM policy compilation (default is ENABLED)
--enable-ovmf Enable OVMF (default is DISABLED)
--disable-seabios Disable SeaBIOS (default is ENABLED)
- --disable-ipxe Disable IPXE (default is ENABLED)
--enable-blktap2 Enable blktap2, (DEFAULT is off)
--enable-qemu-traditional
Enable qemu traditional device model, (DEFAULT is on
for Linux or NetBSD x86, otherwise off)
--enable-rombios Enable ROMBIOS, (DEFAULT is on if qemu-traditional
is enabled, otherwise off)
+ --disable-ipxe Enable in-tree IPXE, (DEFAULT is on if rombios is
+ enabled, otherwise off, see also --with-system-ipxe)
--enable-systemd Enable systemd support (default is DISABLED)
Optional Packages:
@@ -1533,7 +1534,10 @@ Optional Packages:
and installing our own version
--with-system-ipxe[=PATH]
Use system supplied IPXE PATH instead of building
- and installing our own version
+ and installing our own version, it takes precedence
+ over --{en,dis}able-ipxe and is bound by the
+ presence of rombios, --without-system-ipxe has no
+ effect
--with-extra-qemuu-configure-args[="--ARG1 ..."]
List of additional configure options for upstream
qemu
@@ -4191,29 +4195,6 @@ seabios=$ax_cv_seabios
-# Check whether --enable-ipxe was given.
-if test "${enable_ipxe+set}" = set; then :
- enableval=$enable_ipxe;
-fi
-
-
-if test "x$enable_ipxe" = "xno"; then :
-
- ax_cv_ipxe="n"
-
-elif test "x$enable_ipxe" = "xyes"; then :
-
- ax_cv_ipxe="y"
-
-elif test -z $ax_cv_ipxe; then :
-
- ax_cv_ipxe="y"
-
-fi
-ipxe=$ax_cv_ipxe
-
-
-
# Check whether --with-linux-backend-modules was given.
if test "${with_linux_backend_modules+set}" = set; then :
@@ -4604,22 +4585,42 @@ _ACEOF
fi
+# Check whether --enable-ipxe was given.
+if test "${enable_ipxe+set}" = set; then :
+ enableval=$enable_ipxe;
+ if test "x$enable_ipxe" = "xno"; then :
+ ipxe=n
+else
+ ipxe=y
+fi
+ if test "x$enable_rombios" = "xno" -a "x$ipxe" = "xy" ; then :
+ ipxe=n
+fi
+
+else
+
+ if test "x$enable_rombios" = "xno"; then :
+ ipxe=n
+else
+ ipxe=y
+fi
+
+fi
+
# Check whether --with-system-ipxe was given.
if test "${with_system_ipxe+set}" = set; then :
withval=$with_system_ipxe;
- # Disable compilation of IPXE.
- ipxe=n
case $withval in
no) ipxe_path= ;;
- /*) ipxe_path=$withval ;;
+ /*) ipxe_path=$withval; ipxe=n ;;
*) as_fn_error $? "IPXE specified, but is not an absolute path"
"$LINENO" 5 ;;
esac
+ if test "x$enable_rombios" = "xno"; then :
- # IPXE depends on Rombios
- if test "x$enable_rombios" = "xno"; then
- as_fn_error $? "Rombios is required for using IPXE" "$LINENO" 5
- fi
+ ipxe_path=
+
+fi
fi
@@ -4634,6 +4635,7 @@ _ACEOF
fi
+
# Check whether --with-extra-qemuu-configure-args was given.
if test "${with_extra_qemuu_configure_args+set}" = set; then :
withval=$with_extra_qemuu_configure_args;
diff --git a/tools/configure.ac b/tools/configure.ac
index 0f85472602..b8d48028ee 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -84,7 +84,6 @@ AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
-AX_ARG_DEFAULT_ENABLE([ipxe], [Disable IPXE])
AC_ARG_WITH([linux-backend-modules],
AS_HELP_STRING([--with-linux-backend-modules="mod1 mod2"],
@@ -244,28 +243,37 @@ AS_IF([test "x$ovmf" = "xy" -o -n "$ovmf_path" ], [
[OVMF path])
])
+AC_ARG_ENABLE([ipxe],
+ AS_HELP_STRING([--disable-ipxe],
+ [Enable in-tree IPXE, (DEFAULT is on if rombios is enabled,
+ otherwise off, see also --with-system-ipxe)]),
+ [
+ AS_IF([test "x$enable_ipxe" = "xno"], [ipxe=n], [ipxe=y])
+ AS_IF([test "x$enable_rombios" = "xno" -a "x$ipxe" = "xy" ], [ipxe=n], [])
+ ],
+ [
+ AS_IF([test "x$enable_rombios" = "xno"], [ipxe=n], [ipxe=y])
+])
AC_ARG_WITH([system-ipxe],
AS_HELP_STRING([--with-system-ipxe@<:@=PATH@:>@],
[Use system supplied IPXE PATH instead of building and installing
- our own version]),[
- # Disable compilation of IPXE.
- ipxe=n
+ our own version, it takes precedence over --{en,dis}able-ipxe and is
+ bound by the presence of rombios, --without-system-ipxe has no
effect]),[
case $withval in
no) ipxe_path= ;;
- /*) ipxe_path=$withval ;;
+ /*) ipxe_path=$withval; ipxe=n ;;
*) AC_MSG_ERROR([IPXE specified, but is not an absolute path]) ;;
esac
-
- # IPXE depends on Rombios
- if test "x$enable_rombios" = "xno"; then
- AC_MSG_ERROR([Rombios is required for using IPXE])
- fi
+ AS_IF([test "x$enable_rombios" = "xno"], [
+ ipxe_path=
+ ], [])
],[])
AS_IF([test "x$ipxe" = "xy" -o -n "$ipxe_path" ], [
AC_DEFINE_UNQUOTED([IPXE_PATH],
["${ipxe_path:-$XENFIRMWAREDIR/ipxe.bin}"],
[IPXE path])
])
+AC_SUBST(ipxe)
AC_ARG_WITH([extra-qemuu-configure-args],
AS_HELP_STRING([--with-extra-qemuu-configure-args@<:@="--ARG1 ..."@:>@],
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |