qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qapi: check for python, allow path to be specif


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH] qapi: check for python, allow path to be specified
Date: Sun, 24 Jul 2011 20:28:25 +0300

On Sun, Jul 24, 2011 at 2:16 AM, Michael Roth <address@hidden> wrote:
> QAPI requires python to generate code. Check for python during
> configuration and allow python to be specified manually.
>
> Signed-off-by: Michael Roth <address@hidden>
> ---
>  Makefile  |   12 ++++++------
>  configure |   13 +++++++++++++
>  2 files changed, 19 insertions(+), 6 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index f3a03ad..daa3aa0 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -168,22 +168,22 @@ test-visitor.o test-qmp-commands.o qemu-ga$(EXESUF): 
> QEMU_CFLAGS += -I $(qapi-di
>
>  $(qapi-dir)/test-qapi-types.c: $(qapi-dir)/test-qapi-types.h
>  $(qapi-dir)/test-qapi-types.h: $(SRC_PATH)/qapi-schema-test.json 
> $(SRC_PATH)/scripts/qapi-types.py
> -       $(call quiet-command,python $(SRC_PATH)/scripts/qapi-types.py -o 
> "$(qapi-dir)" -p "test-" < $<, "  GEN   $@")
> +       $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py -o 
> "$(qapi-dir)" -p "test-" < $<, "  GEN   $@")
>  $(qapi-dir)/test-qapi-visit.c: $(qapi-dir)/test-qapi-visit.h
>  $(qapi-dir)/test-qapi-visit.h: $(SRC_PATH)/qapi-schema-test.json 
> $(SRC_PATH)/scripts/qapi-visit.py
> -       $(call quiet-command,python $(SRC_PATH)/scripts/qapi-visit.py -o 
> "$(qapi-dir)" -p "test-" < $<, "  GEN   $@")
> +       $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py -o 
> "$(qapi-dir)" -p "test-" < $<, "  GEN   $@")
>  $(qapi-dir)/test-qmp-commands.h: $(qapi-dir)/test-qmp-marshal.c
>  $(qapi-dir)/test-qmp-marshal.c: $(SRC_PATH)/qapi-schema-test.json 
> $(SRC_PATH)/scripts/qapi-commands.py
> -           $(call quiet-command,python $(SRC_PATH)/scripts/qapi-commands.py 
> -o "$(qapi-dir)" -p "test-" < $<, "  GEN   $@")
> +           $(call quiet-command,$(PYTHON) 
> $(SRC_PATH)/scripts/qapi-commands.py -o "$(qapi-dir)" -p "test-" < $<, "  GEN 
>   $@")
>
>  $(qapi-dir)/qga-qapi-types.c: $(qapi-dir)/qga-qapi-types.h
>  $(qapi-dir)/qga-qapi-types.h: $(SRC_PATH)/qapi-schema-guest.json 
> $(SRC_PATH)/scripts/qapi-types.py
> -       $(call quiet-command,python $(SRC_PATH)/scripts/qapi-types.py -o 
> "$(qapi-dir)" -p "qga-" < $<, "  GEN   $@")
> +       $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py -o 
> "$(qapi-dir)" -p "qga-" < $<, "  GEN   $@")
>  $(qapi-dir)/qga-qapi-visit.c: $(qapi-dir)/qga-qapi-visit.h
>  $(qapi-dir)/qga-qapi-visit.h: $(SRC_PATH)/qapi-schema-guest.json 
> $(SRC_PATH)/scripts/qapi-visit.py
> -       $(call quiet-command,python $(SRC_PATH)/scripts/qapi-visit.py -o 
> "$(qapi-dir)" -p "qga-" < $<, "  GEN   $@")
> +       $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py -o 
> "$(qapi-dir)" -p "qga-" < $<, "  GEN   $@")
>  $(qapi-dir)/qga-qmp-marshal.c: $(SRC_PATH)/qapi-schema-guest.json 
> $(SRC_PATH)/scripts/qapi-commands.py
> -       $(call quiet-command,python $(SRC_PATH)/scripts/qapi-commands.py -o 
> "$(qapi-dir)" -p "qga-" < $<, "  GEN   $@")
> +       $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py 
> -o "$(qapi-dir)" -p "qga-" < $<, "  GEN   $@")
>
>  test-visitor.o: $(addprefix $(qapi-dir)/, test-qapi-types.c 
> test-qapi-types.h test-qapi-visit.c test-qapi-visit.h) $(qapi-obj-y)
>  test-visitor: test-visitor.o qfloat.o qint.o qdict.o qstring.o qlist.o 
> qbool.o $(qapi-obj-y) error.o osdep.o qemu-malloc.o $(oslib-obj-y) qjson.o 
> json-streamer.o json-lexer.o json-parser.o qerror.o qemu-error.o qemu-tool.o 
> $(qapi-dir)/test-qapi-visit.o $(qapi-dir)/test-qapi-types.o
> diff --git a/configure b/configure
> index 6911c3b..c0cb979 100755
> --- a/configure
> +++ b/configure
> @@ -225,6 +225,7 @@ strip="${cross_prefix}${STRIP-strip}"
>  windres="${cross_prefix}${WINDRES-windres}"
>  pkg_config="${cross_prefix}${PKG_CONFIG-pkg-config}"
>  sdl_config="${cross_prefix}${SDL_CONFIG-sdl-config}"
> +python_path="${cross_prefix}${PYTHON_PATH-python}"

In my version, the environment variable is named PYTHON, which I think
is more logical and also consistent with MAKE, STRIP etc.

>
>  # default flags for all hosts
>  QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS"
> @@ -748,6 +749,8 @@ for opt do
>   ;;
>   --enable-usb-redir) usb_redir="yes"
>   ;;
> +  --python-path=*) python_path="$optarg"

Also here the other tools are specified with --make and --install.

> +  ;;
>   *) echo "ERROR: unknown option $opt"; show_help="yes"
>   ;;
>   esac
> @@ -1025,6 +1028,7 @@ echo "  --disable-smartcard-nss  disable smartcard nss 
> support"
>  echo "  --enable-smartcard-nss   enable smartcard nss support"
>  echo "  --disable-usb-redir      disable usb network redirection support"
>  echo "  --enable-usb-redir       enable usb network redirection support"
> +echo "  --python-path=PATH       path to python executable"
>  echo ""
>  echo "NOTE: The object files are built at the place where configure is 
> launched"
>  exit 1
> @@ -1810,6 +1814,13 @@ EOF
>  fi
>
>  ##########################################
> +# python probe
> +if ! $python_path -V >/dev/null 2>&1; then

I used 'has'.

> +    echo "python executable not found: $python_path. You can specify with 
> --python-path"
> +    exit 1
> +fi
> +
> +##########################################
>  # glib support probe
>  if $pkg_config --modversion gthread-2.0 gio-2.0 > /dev/null 2>&1 ; then
>     glib_cflags=`$pkg_config --cflags gthread-2.0 gio-2.0 2>/dev/null`
> @@ -2655,6 +2666,7 @@ echo "xfsctl support    $xfs"
>  echo "nss used          $smartcard_nss"
>  echo "usb net redir     $usb_redir"
>  echo "OpenGL support    $opengl"
> +echo "python path       $python_path"

Other tools are printed out without the word 'path'.

>
>  if test $sdl_too_old = "yes"; then
>  echo "-> Your SDL version is too old - please upgrade to have SDL support"
> @@ -3026,6 +3038,7 @@ echo "ARLIBS_END=$arlibs_end" >> $config_host_mak
>  echo "LIBS+=$LIBS" >> $config_host_mak
>  echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
>  echo "EXESUF=$EXESUF" >> $config_host_mak
> +echo "PYTHON=$python_path" >> $config_host_mak
>
>  # generate list of library paths for linker script
>
> --
> 1.7.0.4
>
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]