coroutine: adding configure option for sigaltstack coroutine backend

It's possible to use sigaltstack backend with --with-coroutine=sigaltstack

v2: changed from enable/disable configure flags

Signed-off-by: Alex Barcelo <abarcelo@ac.upc.edu>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Alex Barcelo 2012-02-28 12:25:51 +01:00 committed by Kevin Wolf
parent 519175a2fd
commit fe91bfa8a2
2 changed files with 9 additions and 1 deletions

View File

@ -17,8 +17,12 @@ coroutine-obj-y += qemu-coroutine-sleep.o
ifeq ($(CONFIG_UCONTEXT_COROUTINE),y) ifeq ($(CONFIG_UCONTEXT_COROUTINE),y)
coroutine-obj-$(CONFIG_POSIX) += coroutine-ucontext.o coroutine-obj-$(CONFIG_POSIX) += coroutine-ucontext.o
else else
ifeq ($(CONFIG_SIGALTSTACK_COROUTINE),y)
coroutine-obj-$(CONFIG_POSIX) += coroutine-sigaltstack.o
else
coroutine-obj-$(CONFIG_POSIX) += coroutine-gthread.o coroutine-obj-$(CONFIG_POSIX) += coroutine-gthread.o
endif endif
endif
coroutine-obj-$(CONFIG_WIN32) += coroutine-win32.o coroutine-obj-$(CONFIG_WIN32) += coroutine-win32.o
####################################################################### #######################################################################

6
configure vendored
View File

@ -1114,7 +1114,7 @@ echo " --enable-usb-redir enable usb network redirection support"
echo " --disable-guest-agent disable building of the QEMU Guest Agent" echo " --disable-guest-agent disable building of the QEMU Guest Agent"
echo " --enable-guest-agent enable building of the QEMU Guest Agent" echo " --enable-guest-agent enable building of the QEMU Guest Agent"
echo " --with-coroutine=BACKEND coroutine backend. Supported options:" echo " --with-coroutine=BACKEND coroutine backend. Supported options:"
echo " gthread, ucontext, windows" echo " gthread, ucontext, sigaltstack, windows"
echo "" echo ""
echo "NOTE: The object files are built at the place where configure is launched" echo "NOTE: The object files are built at the place where configure is launched"
exit 1 exit 1
@ -2745,6 +2745,8 @@ elif test "$coroutine" = "gthread" ; then
coroutine_backend=gthread coroutine_backend=gthread
elif test "$coroutine" = "windows" ; then elif test "$coroutine" = "windows" ; then
coroutine_backend=windows coroutine_backend=windows
elif test "$coroutine" = "sigaltstack" ; then
coroutine_backend=sigaltstack
else else
echo echo
echo "Error: unknown coroutine backend $coroutine" echo "Error: unknown coroutine backend $coroutine"
@ -3269,6 +3271,8 @@ fi
if test "$coroutine_backend" = "ucontext" ; then if test "$coroutine_backend" = "ucontext" ; then
echo "CONFIG_UCONTEXT_COROUTINE=y" >> $config_host_mak echo "CONFIG_UCONTEXT_COROUTINE=y" >> $config_host_mak
elif test "$coroutine_backend" = "sigaltstack" ; then
echo "CONFIG_SIGALTSTACK_COROUTINE=y" >> $config_host_mak
fi fi
if test "$open_by_handle_at" = "yes" ; then if test "$open_by_handle_at" = "yes" ; then