Message ID | 1311463002-2438-1-git-send-email-mdroth@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On Sun, Jul 24, 2011 at 2:16 AM, Michael Roth <mdroth@linux.vnet.ibm.com> wrote: > QAPI requires python to generate code. Check for python during > configuration and allow python to be specified manually. > > Signed-off-by: Michael Roth <mdroth@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 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 > > >
On 07/24/2011 12:28 PM, Blue Swirl wrote: > On Sun, Jul 24, 2011 at 2:16 AM, Michael Roth<mdroth@linux.vnet.ibm.com> wrote: >> QAPI requires python to generate code. Check for python during >> configuration and allow python to be specified manually. >> >> Signed-off-by: Michael Roth<mdroth@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 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. > Thanks, I agree. Not sure what swung me in the other direction.. The v2 I just sent should have all these addressed accordingly.
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}" # 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" + ;; *) 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 + 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" 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
QAPI requires python to generate code. Check for python during configuration and allow python to be specified manually. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> --- Makefile | 12 ++++++------ configure | 13 +++++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-)