On Sun, Jul 24, 2011 at 9:36 PM, Michael Roth <mdr...@linux.vnet.ibm.com> wrote: > QAPI requires python to generate code. Check for python during > configuration and allow python to be specified manually.
Now your patch is almost identical to mine. Maybe you missed it: http://lists.nongnu.org/archive/html/qemu-devel/2011-07/msg02373.html. There is still one difference, my version puts the python stuff close to make and install handling, which is more logical since they all are build tools. > Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> > --- > 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 600da9b..16652b5 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="${cross_prefix}${PYTHON-python}" > > # 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=*) python="$optarg" > + ;; > *) 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 to python executable [$python]" > 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 ! has $python; then > + echo "python executable not found: $python. You can specify with > --python" > + exit 1 > +fi > + > +########################################## > # glib support probe > if $pkg_config --modversion glib-2.0 > /dev/null 2>&1 ; then > glib_cflags=`$pkg_config --cflags glib-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 $python" > > 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" >> $config_host_mak > > # generate list of library paths for linker script > > -- > 1.7.0.4 > >