install-tools:
$(MAKE) -C tools install
+ifeq ($(CONFIG_QEMU_TRAD),y)
+QEMU_TRAD_DIR_TGT := tools/qemu-xen-traditional-dir
+
+tools/qemu-xen-traditional-dir:
+ $(MAKE) -C tools qemu-xen-traditional-dir-find
+
+.PHONY: tools/qemu-xen-traditional-dir-force-update
+tools/qemu-xen-traditional-dir-force-update:
+ $(MAKE) -C tools qemu-xen-traditional-dir-force-update
+endif
+
ifeq ($(CONFIG_IOEMU),y)
-install-tools: tools/qemu-xen-traditional-dir tools/qemu-xen-dir
+install-tools: $(QEMU_TRAD_DIR_TARGET) tools/qemu-xen-dir
endif
.PHONY: install-kernels
for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
.PHONY: install-stubdom
-install-stubdom: tools/qemu-xen-traditional-dir install-tools
+install-stubdom: $(QEMU_TRAD_DIR_TARGET) install-tools
$(MAKE) -C stubdom install
ifeq (x86_64,$(XEN_TARGET_ARCH))
XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
endif
-tools/qemu-xen-traditional-dir:
- $(MAKE) -C tools qemu-xen-traditional-dir-find
-
-.PHONY: tools/qemu-xen-traditional-dir-force-update
-tools/qemu-xen-traditional-dir-force-update:
- $(MAKE) -C tools qemu-xen-traditional-dir-force-update
-
tools/qemu-xen-dir:
$(MAKE) -C tools qemu-xen-dir-find
CONFIG_OVMF := @ovmf@
CONFIG_ROMBIOS := @rombios@
CONFIG_SEABIOS := @seabios@
+CONFIG_QEMU_TRAD := @qemu_traditional@
CONFIG_XEND := @xend@
CONFIG_BLKTAP1 := @blktap1@
QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi)
+ifneq ($(filter ioemu,$(STUBDOM_TARGETS)),)
+IOEMU_LINKFARM_TARGET := ioemu/linkfarm.stamp
+endif
+
ifeq ($(QEMU_ROOT),.)
$(XEN_ROOT)/tools/qemu-xen-traditional-dir:
$(MAKE) DESTDIR= -C $(XEN_ROOT)/tools qemu-xen-traditional-dir-find
touch ioemu/linkfarm.stamp
endif
-mk-headers-$(XEN_TARGET_ARCH): ioemu/linkfarm.stamp
+mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET)
mkdir -p include/xen && \
ln -sf $(wildcard $(XEN_ROOT)/xen/include/public/*.h) include/xen && \
ln -sf $(addprefix $(XEN_ROOT)/xen/include/public/,arch-x86 hvm io xsm) include/xen && \
STUBDOM_INSTALL
STUBDOM_BUILD
STUBDOM_TARGETS
+ioemu
vtpmmgr
vtpm
TPMEMU_VERSION
grub
caml
c
-ioemu
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
target_alias
host_alias
build_alias
enable_xenstore_stubdom
enable_vtpm_stubdom
enable_vtpmmgr_stubdom
+enable_qemu_traditional
enable_debug
enable_extfiles
'
_ACEOF
cat <<\_ACEOF
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
_ACEOF
fi
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-ioemu-stubdom Build and install ioemu-stubdom (default is ENABLED)
+ --enable-ioemu-stubdom Build and install ioemu-stubdom
--enable-c-stubdom Build and install c-stubdom (default is DISABLED)
--enable-caml-stubdom Build and install caml-stubdom (default is DISABLED)
--disable-pv-grub Build and install pv-grub (default is ENABLED)
--enable-vtpm-stubdom Build and install vtpm-stubdom
--enable-vtpmmgr-stubdom
Build and install vtpmmgr-stubdom
+
--disable-debug Disable debug build of stubdom (default is ENABLED)
--disable-extfiles Use xen extfiles repository for libraries (default
is ENABLED)
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
# M4 Macro includes
fi
-else
-
-
-ioemu=y
-STUBDOM_TARGETS="$STUBDOM_TARGETS ioemu"
-STUBDOM_BUILD="$STUBDOM_BUILD ioemu-stubdom"
-STUBDOM_INSTALL="$STUBDOM_INSTALL install-ioemu"
-
-
fi
-
# Check whether --enable-c-stubdom was given.
if test "${enable_c_stubdom+set}" = set; then :
enableval=$enable_c_stubdom;
+# Check whether --enable-qemu-traditional was given.
+if test "${enable_qemu_traditional+set}" = set; then :
+ enableval=$enable_qemu_traditional;
+else
+
+ case "$host_cpu" in
+ i[3456]86|x86_64)
+ enable_qemu_traditional="yes";;
+ *) enable_qemu_traditional="no";;
+ esac
+
+fi
+
+if test "x$enable_qemu_traditional" = "xyes"; then :
+
+ qemu_traditional=y
+else
+
+ qemu_traditional=n
+
+fi
+if test "x$ioemu" = "x"; then :
+
+ ioemu=$qemu_traditional
+
+fi
+echo "x$ioemu$qemu_traditional"
+if test "x$ioemu$qemu_traditional" = "xyn"; then :
+
+ as_fn_error $? "IOEMU stubdomain requires qemu-traditional" "$LINENO" 5
+
+fi
+
# Check whether --enable-debug was given.
if test "${enable_debug+set}" = set; then :
+if test "x$ioemu" = "xy" || test "x$ioemu" = "x"; then :
+
+
+ioemu=y
+STUBDOM_TARGETS="$STUBDOM_TARGETS ioemu"
+STUBDOM_BUILD="$STUBDOM_BUILD ioemu-stubdom"
+STUBDOM_INSTALL="$STUBDOM_INSTALL install-ioemu"
+
+
+else
+
+
+ioemu=n
+
+
+fi
+
+
+
AC_CONFIG_FILES([../config/Stubdom.mk])
AC_CONFIG_AUX_DIR([../])
+AC_CANONICAL_HOST
+
# M4 Macro includes
m4_include([../m4/stubdom.m4])
m4_include([../m4/features.m4])
m4_include([../m4/fetcher.m4])
# Enable/disable stub domains
-AX_STUBDOM_DEFAULT_ENABLE([ioemu-stubdom], [ioemu])
+AX_STUBDOM_CONDITIONAL([ioemu-stubdom], [ioemu])
AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c])
AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml])
AX_STUBDOM_DEFAULT_ENABLE([pv-grub], [grub])
AX_STUBDOM_CONDITIONAL([vtpm-stubdom], [vtpm])
AX_STUBDOM_CONDITIONAL([vtpmmgr-stubdom], [vtpmmgr])
+AC_ARG_ENABLE([qemu-traditional],,,[
+ case "$host_cpu" in
+ i[[3456]]86|x86_64)
+ enable_qemu_traditional="yes";;
+ *) enable_qemu_traditional="no";;
+ esac
+])
+AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
+ qemu_traditional=y],[
+ qemu_traditional=n
+])
+AS_IF([test "x$ioemu" = "x"], [
+ ioemu=$qemu_traditional
+])
+echo "x$ioemu$qemu_traditional"
+AS_IF([test "x$ioemu$qemu_traditional" = "xyn"], [
+ AC_MSG_ERROR(IOEMU stubdomain requires qemu-traditional)
+])
+
AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of stubdom])
AX_ARG_DEFAULT_ENABLE([extfiles], [Use xen extfiles repository for libraries])
#Conditionally enable these stubdoms based on the presense of dependencies
AX_STUBDOM_CONDITIONAL_FINISH([vtpm-stubdom], [vtpm])
AX_STUBDOM_CONDITIONAL_FINISH([vtpmmgr-stubdom], [vtpmmgr])
+AX_STUBDOM_CONDITIONAL_FINISH([ioemu-stubdom], [ioemu])
AX_STUBDOM_FINISH
AC_OUTPUT()
# do not recurse in to a dir we are about to delete
ifneq "$(MAKECMDGOALS)" "distclean"
-SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
+SUBDIRS-$(CONFIG_QEMU_TRAD) += qemu-xen-traditional-dir
SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
endif
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Qemu traditional enabled */
+#undef HAVE_QEMU_TRADITIONAL
+
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
APPEND_INCLUDES
PREPEND_LIB
PREPEND_INCLUDES
+qemu_traditional
blktap1
xend
debug
enable_debug
enable_xend
enable_blktap1
+enable_qemu_traditional
'
ac_precious_vars='build_alias
host_alias
--disable-debug Disable debug build of tools (default is ENABLED)
--disable-xend Disable xend toolstack (default is ENABLED)
--enable-blktap1 Disable blktap1 tools (default is DISABLED)
+ --enable-qemu-traditional
+ Enable qemu traditional device model, (DEFAULT is on
+ for x86, otherwise off)
Some influential environment variables:
CC C compiler command
+# Check whether --enable-qemu-traditional was given.
+if test "${enable_qemu_traditional+set}" = set; then :
+ enableval=$enable_qemu_traditional;
+else
+
+ case "$host_cpu" in
+ i[3456]86|x86_64)
+ enable_qemu_traditional="yes";;
+ *) enable_qemu_traditional="no";;
+ esac
+
+fi
+
+if test "x$enable_qemu_traditional" = "xyes"; then :
+
+
+$as_echo "#define HAVE_QEMU_TRADITIONAL 1" >>confdefs.h
+
+ qemu_traditional=y
+else
+
+ qemu_traditional=n
+
+fi
+
+
AX_ARG_DEFAULT_ENABLE([xend], [Disable xend toolstack])
AX_ARG_DEFAULT_DISABLE([blktap1], [Disable blktap1 tools])
+AC_ARG_ENABLE([qemu-traditional],
+ AS_HELP_STRING([--enable-qemu-traditional],
+ [Enable qemu traditional device model, (DEFAULT is on for x86, otherwise off)]),,[
+ case "$host_cpu" in
+ i[[3456]]86|x86_64)
+ enable_qemu_traditional="yes";;
+ *) enable_qemu_traditional="no";;
+ esac
+])
+AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
+AC_DEFINE([HAVE_QEMU_TRADITIONAL], [1], [Qemu traditional enabled])
+ qemu_traditional=y],[
+ qemu_traditional=n
+])
+AC_SUBST(qemu_traditional)
+
AC_ARG_VAR([PREPEND_INCLUDES],
[List of include folders to prepend to CFLAGS (without -I)])
AC_ARG_VAR([PREPEND_LIB],