On 06/08/2011 12:39 PM, Luiz Capitulino wrote:
On Fri, 3 Jun 2011 17:33:16 -0500
Michael Roth<mdr...@linux.vnet.ibm.com> wrote:
Signed-off-by: Michael Roth<mdr...@linux.vnet.ibm.com>
This doesn't build:
~/src/qmp-unstable/build (qapi-review)/ mk test-visiter
GEN qapi-generated/test-qapi-types.h
GEN qapi-generated/test-qapi-visit.h
CC qapi/qmp-input-visiter.o
CC qapi/qmp-output-visiter.o
/home/lcapitulino/src/qmp-unstable/qapi/qmp-input-visiter.c:239:1: fatal error:
opening dependency file qapi/qmp-input-visiter.d: No such file or directory
compilation terminated.
/home/lcapitulino/src/qmp-unstable/qapi/qmp-output-visiter.c:180:1: fatal
error: opening dependency file qapi/qmp-output-visiter.d: No such file or
directory
compilation terminated.
make: *** [qapi/qmp-output-visiter.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [qapi/qmp-input-visiter.o] Error 1
~/src/qmp-unstable/build (qapi-review)/
I guess this is happening because all qapi files being added by this series
are not built. A patch adding a C file should also update the relevant
Makefile so tha the c file can be built and tested (if possible).
Hmm, this commit builds for me with `./configure && make clean && make
test-visiter`.
Is there something different about your build process, like a seperate
output directory or something?
---
Makefile | 14 ++++++++++++++
Makefile.objs | 7 +++++++
2 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index cf318c8..7176176 100644
--- a/Makefile
+++ b/Makefile
@@ -145,6 +145,19 @@ check-qlist: check-qlist.o qlist.o qint.o
$(CHECK_PROG_DEPS)
check-qfloat: check-qfloat.o qfloat.o $(CHECK_PROG_DEPS)
check-qjson: check-qjson.o qfloat.o qint.o qdict.o qstring.o qlist.o qbool.o
qjson.o json-streamer.o json-lexer.o json-parser.o error.o qerror.o
qemu-error.o $(CHECK_PROG_DEPS)
+qapi-dir := qapi-generated
+$(qapi-obj-y) test-visiter.o: QEMU_CFLAGS += -I $(qapi-dir)
+
+$(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 $@")
+$(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 $@")
+
+test-visiter.o: $(addprefix $(qapi-dir)/, test-qapi-types.c test-qapi-types.h
test-qapi-visit.c test-qapi-visit.h)
+test-visiter: test-visiter.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
+
QEMULIBS=libhw32 libhw64 libuser libdis libdis-user
clean:
@@ -157,6 +170,7 @@ clean:
rm -f trace.c trace.h trace.c-timestamp trace.h-timestamp
rm -f trace-dtrace.dtrace trace-dtrace.dtrace-timestamp
rm -f trace-dtrace.h trace-dtrace.h-timestamp
+ rm -rf $(qapi-dir)
$(MAKE) -C tests clean
for d in $(ALL_SUBDIRS) $(QEMULIBS) libcacard; do \
if test -d $$d; then $(MAKE) -C $$d $@ || exit 1; fi; \
diff --git a/Makefile.objs b/Makefile.objs
index eb264d9..9b77d10 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -362,6 +362,13 @@ endif
libcacard-y = cac.o event.o vcard.o vreader.o vcard_emul_nss.o
vcard_emul_type.o card_7816.o
+######################################################################
+# qapi
+
+qapi-nested-y = qmp-input-visiter.o qmp-output-visiter.o qapi-dealloc-visiter.o
+qapi-nested-y += qmp-registry.o qmp-dispatch.o
+qapi-obj-y = $(addprefix qapi/, $(qapi-nested-y))
+
vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)