* [Qemu-devel] [PATCH 1/9] tools: split monitor-dummy.c, clean up qemu-tool.c
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
@ 2012-09-17 16:44 ` Paolo Bonzini
2012-09-17 16:44 ` [Qemu-devel] [PATCH 2/9] block: move QEMUIOVector functions to iov.c Paolo Bonzini
` (8 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-17 16:44 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, afaerber
qemu-ga uses glib mostly, so it does not need a large part of the dummy
functions in qemu-tool.o (which are more related to the main loop and/or
the block layer). Split the functions required by QAPI out into
monitor-dummy.c.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 2 +-
Makefile.objs | 2 +-
monitor-dummy.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
qemu-tool.c | 54 ------------------------------------------------
4 file modificati, 66 inserzioni(+), 56 rimozioni(-)
create mode 100644 monitor-dummy.c
diff --git a/Makefile b/Makefile
index 1cd5bc8..6426d85 100644
--- a/Makefile
+++ b/Makefile
@@ -153,7 +153,7 @@ endif
qemu-img.o: qemu-img-cmds.h
tools-obj-y = $(oslib-obj-y) $(trace-obj-y) qemu-tool.o qemu-timer.o \
- qemu-timer-common.o main-loop.o notify.o \
+ qemu-timer-common.o main-loop.o notify.o monitor-dummy.o \
iohandler.o cutils.o iov.o async.o
tools-obj-$(CONFIG_POSIX) += compatfd.o
diff --git a/Makefile.objs b/Makefile.objs
index 4412757..5c622d6 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -228,7 +228,7 @@ universal-obj-y += $(qapi-obj-y)
######################################################################
# guest agent
-qga-obj-y = qga/ qemu-ga.o module.o
+qga-obj-y = qga/ qemu-ga.o module.o monitor-dummy.o
qga-obj-$(CONFIG_WIN32) += oslib-win32.o
qga-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-sockets.o qemu-option.o
diff --git a/monitor-dummy.c b/monitor-dummy.c
new file mode 100644
index 0000000..9aa87b3
--- /dev/null
+++ b/monitor-dummy.c
@@ -0,0 +1,64 @@
+/*
+ * Compatibility for qemu-img/qemu-nbd
+ *
+ * Copyright IBM, Corp. 2008
+ *
+ * Authors:
+ * Anthony Liguori <aliguori@us.ibm.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2. See
+ * the COPYING file in the top-level directory.
+ *
+ * Contributions after 2012-01-13 are licensed under the terms of the
+ * GNU GPL, version 2 or (at your option) any later version.
+ */
+
+#include "qemu-common.h"
+#include "monitor.h"
+
+Monitor *cur_mon;
+
+int monitor_cur_is_qmp(void)
+{
+ return 0;
+}
+
+void monitor_set_error(Monitor *mon, QError *qerror)
+{
+}
+
+void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
+{
+}
+
+void monitor_printf(Monitor *mon, const char *fmt, ...)
+{
+}
+
+void monitor_print_filename(Monitor *mon, const char *filename)
+{
+}
+
+void monitor_protocol_event(MonitorEvent event, QObject *data)
+{
+}
+
+int monitor_fdset_get_fd(int64_t fdset_id, int flags)
+{
+ return -1;
+}
+
+int monitor_fdset_dup_fd_add(int64_t fdset_id, int dup_fd)
+{
+ return -1;
+}
+
+int monitor_fdset_dup_fd_remove(int dup_fd)
+{
+ return -1;
+}
+
+int monitor_fdset_dup_fd_find(int dup_fd)
+{
+ return -1;
+}
diff --git a/qemu-tool.c b/qemu-tool.c
index 18205ba..ec5a659 100644
--- a/qemu-tool.c
+++ b/qemu-tool.c
@@ -14,7 +14,6 @@
*/
#include "qemu-common.h"
-#include "monitor.h"
#include "qemu-timer.h"
#include "qemu-log.h"
#include "migration.h"
@@ -24,64 +23,11 @@
#include <sys/time.h>
-struct QEMUBH
-{
- QEMUBHFunc *cb;
- void *opaque;
-};
-
const char *qemu_get_vm_name(void)
{
return NULL;
}
-Monitor *cur_mon;
-
-int monitor_cur_is_qmp(void)
-{
- return 0;
-}
-
-void monitor_set_error(Monitor *mon, QError *qerror)
-{
-}
-
-void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
-{
-}
-
-void monitor_printf(Monitor *mon, const char *fmt, ...)
-{
-}
-
-void monitor_print_filename(Monitor *mon, const char *filename)
-{
-}
-
-void monitor_protocol_event(MonitorEvent event, QObject *data)
-{
-}
-
-int monitor_fdset_get_fd(int64_t fdset_id, int flags)
-{
- return -1;
-}
-
-int monitor_fdset_dup_fd_add(int64_t fdset_id, int dup_fd)
-{
- return -1;
-}
-
-int monitor_fdset_dup_fd_remove(int dup_fd)
-{
- return -1;
-}
-
-int monitor_fdset_dup_fd_find(int dup_fd)
-{
- return -1;
-}
-
int64_t cpu_get_clock(void)
{
return qemu_get_clock_ns(rt_clock);
--
1.7.12
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH 2/9] block: move QEMUIOVector functions to iov.c
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
2012-09-17 16:44 ` [Qemu-devel] [PATCH 1/9] tools: split monitor-dummy.c, clean up qemu-tool.c Paolo Bonzini
@ 2012-09-17 16:44 ` Paolo Bonzini
2012-09-17 16:44 ` [Qemu-devel] [PATCH 3/9] build: avoid duplicate appearance of files Paolo Bonzini
` (7 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-17 16:44 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, afaerber
They do not really belong in cutils.c, and this way we can remove
iov.c from user-mode emulation.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.objs | 2 +-
cutils.c | 103 ---------------------------------------------------------
iov.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 file modificati, 105 inserzioni(+), 104 rimozioni(-)
diff --git a/Makefile.objs b/Makefile.objs
index 5c622d6..abb7d0f 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -108,7 +108,7 @@ endif
user-obj-y =
user-obj-y += envlist.o path.o
user-obj-y += tcg-runtime.o host-utils.o
-user-obj-y += cutils.o iov.o cache-utils.o
+user-obj-y += cutils.o cache-utils.o
user-obj-y += module.o
user-obj-y += qemu-user.o
user-obj-y += $(trace-obj-y)
diff --git a/cutils.c b/cutils.c
index 8ef648f..8fe2dd2 100644
--- a/cutils.c
+++ b/cutils.c
@@ -142,109 +142,6 @@ int qemu_fdatasync(int fd)
#endif
}
-/* io vectors */
-
-void qemu_iovec_init(QEMUIOVector *qiov, int alloc_hint)
-{
- qiov->iov = g_malloc(alloc_hint * sizeof(struct iovec));
- qiov->niov = 0;
- qiov->nalloc = alloc_hint;
- qiov->size = 0;
-}
-
-void qemu_iovec_init_external(QEMUIOVector *qiov, struct iovec *iov, int niov)
-{
- int i;
-
- qiov->iov = iov;
- qiov->niov = niov;
- qiov->nalloc = -1;
- qiov->size = 0;
- for (i = 0; i < niov; i++)
- qiov->size += iov[i].iov_len;
-}
-
-void qemu_iovec_add(QEMUIOVector *qiov, void *base, size_t len)
-{
- assert(qiov->nalloc != -1);
-
- if (qiov->niov == qiov->nalloc) {
- qiov->nalloc = 2 * qiov->nalloc + 1;
- qiov->iov = g_realloc(qiov->iov, qiov->nalloc * sizeof(struct iovec));
- }
- qiov->iov[qiov->niov].iov_base = base;
- qiov->iov[qiov->niov].iov_len = len;
- qiov->size += len;
- ++qiov->niov;
-}
-
-/*
- * Concatenates (partial) iovecs from src to the end of dst.
- * It starts copying after skipping `soffset' bytes at the
- * beginning of src and adds individual vectors from src to
- * dst copies up to `sbytes' bytes total, or up to the end
- * of src if it comes first. This way, it is okay to specify
- * very large value for `sbytes' to indicate "up to the end
- * of src".
- * Only vector pointers are processed, not the actual data buffers.
- */
-void qemu_iovec_concat(QEMUIOVector *dst,
- QEMUIOVector *src, size_t soffset, size_t sbytes)
-{
- int i;
- size_t done;
- struct iovec *siov = src->iov;
- assert(dst->nalloc != -1);
- assert(src->size >= soffset);
- for (i = 0, done = 0; done < sbytes && i < src->niov; i++) {
- if (soffset < siov[i].iov_len) {
- size_t len = MIN(siov[i].iov_len - soffset, sbytes - done);
- qemu_iovec_add(dst, siov[i].iov_base + soffset, len);
- done += len;
- soffset = 0;
- } else {
- soffset -= siov[i].iov_len;
- }
- }
- /* return done; */
-}
-
-void qemu_iovec_destroy(QEMUIOVector *qiov)
-{
- assert(qiov->nalloc != -1);
-
- qemu_iovec_reset(qiov);
- g_free(qiov->iov);
- qiov->nalloc = 0;
- qiov->iov = NULL;
-}
-
-void qemu_iovec_reset(QEMUIOVector *qiov)
-{
- assert(qiov->nalloc != -1);
-
- qiov->niov = 0;
- qiov->size = 0;
-}
-
-size_t qemu_iovec_to_buf(QEMUIOVector *qiov, size_t offset,
- void *buf, size_t bytes)
-{
- return iov_to_buf(qiov->iov, qiov->niov, offset, buf, bytes);
-}
-
-size_t qemu_iovec_from_buf(QEMUIOVector *qiov, size_t offset,
- const void *buf, size_t bytes)
-{
- return iov_from_buf(qiov->iov, qiov->niov, offset, buf, bytes);
-}
-
-size_t qemu_iovec_memset(QEMUIOVector *qiov, size_t offset,
- int fillc, size_t bytes)
-{
- return iov_memset(qiov->iov, qiov->niov, offset, fillc, bytes);
-}
-
/*
* Checks if a buffer is all zeroes
*
diff --git a/iov.c b/iov.c
index 60705c7..493e712 100644
--- a/iov.c
+++ b/iov.c
@@ -228,3 +228,107 @@ void iov_hexdump(const struct iovec *iov, const unsigned int iov_cnt,
fprintf(fp, "\n");
}
}
+
+
+/* dynamically-allocated io vectors */
+
+void qemu_iovec_init(QEMUIOVector *qiov, int alloc_hint)
+{
+ qiov->iov = g_malloc(alloc_hint * sizeof(struct iovec));
+ qiov->niov = 0;
+ qiov->nalloc = alloc_hint;
+ qiov->size = 0;
+}
+
+void qemu_iovec_init_external(QEMUIOVector *qiov, struct iovec *iov, int niov)
+{
+ int i;
+
+ qiov->iov = iov;
+ qiov->niov = niov;
+ qiov->nalloc = -1;
+ qiov->size = 0;
+ for (i = 0; i < niov; i++)
+ qiov->size += iov[i].iov_len;
+}
+
+void qemu_iovec_add(QEMUIOVector *qiov, void *base, size_t len)
+{
+ assert(qiov->nalloc != -1);
+
+ if (qiov->niov == qiov->nalloc) {
+ qiov->nalloc = 2 * qiov->nalloc + 1;
+ qiov->iov = g_realloc(qiov->iov, qiov->nalloc * sizeof(struct iovec));
+ }
+ qiov->iov[qiov->niov].iov_base = base;
+ qiov->iov[qiov->niov].iov_len = len;
+ qiov->size += len;
+ ++qiov->niov;
+}
+
+/*
+ * Concatenates (partial) iovecs from src to the end of dst.
+ * It starts copying after skipping `soffset' bytes at the
+ * beginning of src and adds individual vectors from src to
+ * dst copies up to `sbytes' bytes total, or up to the end
+ * of src if it comes first. This way, it is okay to specify
+ * very large value for `sbytes' to indicate "up to the end
+ * of src".
+ * Only vector pointers are processed, not the actual data buffers.
+ */
+void qemu_iovec_concat(QEMUIOVector *dst,
+ QEMUIOVector *src, size_t soffset, size_t sbytes)
+{
+ int i;
+ size_t done;
+ struct iovec *siov = src->iov;
+ assert(dst->nalloc != -1);
+ assert(src->size >= soffset);
+ for (i = 0, done = 0; done < sbytes && i < src->niov; i++) {
+ if (soffset < siov[i].iov_len) {
+ size_t len = MIN(siov[i].iov_len - soffset, sbytes - done);
+ qemu_iovec_add(dst, siov[i].iov_base + soffset, len);
+ done += len;
+ soffset = 0;
+ } else {
+ soffset -= siov[i].iov_len;
+ }
+ }
+ /* return done; */
+}
+
+void qemu_iovec_destroy(QEMUIOVector *qiov)
+{
+ assert(qiov->nalloc != -1);
+
+ qemu_iovec_reset(qiov);
+ g_free(qiov->iov);
+ qiov->nalloc = 0;
+ qiov->iov = NULL;
+}
+
+void qemu_iovec_reset(QEMUIOVector *qiov)
+{
+ assert(qiov->nalloc != -1);
+
+ qiov->niov = 0;
+ qiov->size = 0;
+}
+
+size_t qemu_iovec_to_buf(QEMUIOVector *qiov, size_t offset,
+ void *buf, size_t bytes)
+{
+ return iov_to_buf(qiov->iov, qiov->niov, offset, buf, bytes);
+}
+
+size_t qemu_iovec_from_buf(QEMUIOVector *qiov, size_t offset,
+ const void *buf, size_t bytes)
+{
+ return iov_from_buf(qiov->iov, qiov->niov, offset, buf, bytes);
+}
+
+size_t qemu_iovec_memset(QEMUIOVector *qiov, size_t offset,
+ int fillc, size_t bytes)
+{
+ return iov_memset(qiov->iov, qiov->niov, offset, fillc, bytes);
+}
--
1.7.12
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH 3/9] build: avoid duplicate appearance of files
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
2012-09-17 16:44 ` [Qemu-devel] [PATCH 1/9] tools: split monitor-dummy.c, clean up qemu-tool.c Paolo Bonzini
2012-09-17 16:44 ` [Qemu-devel] [PATCH 2/9] block: move QEMUIOVector functions to iov.c Paolo Bonzini
@ 2012-09-17 16:44 ` Paolo Bonzini
2012-09-17 16:44 ` [Qemu-devel] [PATCH 4/9] qemu-ga: do not include the QEMU main loop and dependencies Paolo Bonzini
` (6 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-17 16:44 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, afaerber
cutils.c and iov.c appeared in the Makefile in multiple spots. Clean
this up by moving them respectively to oslib-obj-y and block-obj-y.
Notably, qemu-ga and user-mode emulation both need cutils.c but not iov.c.
async.o was linked in tools via both tools-obj-y and block-obj-y.
Remove the former, which is unnecessary.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 2 +-
Makefile.objs | 8 ++++----
2 file modificati, 5 inserzioni(+), 5 rimozioni(-)
diff --git a/Makefile b/Makefile
index 6426d85..5240834 100644
--- a/Makefile
+++ b/Makefile
@@ -154,7 +154,7 @@ qemu-img.o: qemu-img-cmds.h
tools-obj-y = $(oslib-obj-y) $(trace-obj-y) qemu-tool.o qemu-timer.o \
qemu-timer-common.o main-loop.o notify.o monitor-dummy.o \
- iohandler.o cutils.o iov.o async.o
+ iohandler.o
tools-obj-$(CONFIG_POSIX) += compatfd.o
qemu-img$(EXESUF): qemu-img.o $(tools-obj-y) $(block-obj-y)
diff --git a/Makefile.objs b/Makefile.objs
index abb7d0f..cf00fd5 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -19,7 +19,7 @@ universal-obj-y += $(qom-obj-y)
#######################################################################
# oslib-obj-y is code depending on the OS (win32 vs posix)
-oslib-obj-y = osdep.o
+oslib-obj-y = osdep.o cutils.o
oslib-obj-$(CONFIG_WIN32) += oslib-win32.o qemu-thread-win32.o
oslib-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-thread-posix.o
@@ -41,7 +41,7 @@ coroutine-obj-$(CONFIG_WIN32) += coroutine-win32.o
#######################################################################
# block-obj-y is code used by both qemu system emulation and qemu-img
-block-obj-y = cutils.o iov.o cache-utils.o qemu-option.o module.o async.o
+block-obj-y = iov.o cache-utils.o qemu-option.o module.o async.o
block-obj-y += nbd.o block.o aio.o aes.o qemu-config.o qemu-progress.o qemu-sockets.o
block-obj-y += $(coroutine-obj-y) $(qobject-obj-y) $(version-obj-y)
block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
@@ -89,7 +89,7 @@ common-obj-y += hw/
common-obj-y += ui/
common-obj-y += bt-host.o bt-vhci.o
-common-obj-y += iov.o acl.o
+common-obj-y += acl.o
common-obj-$(CONFIG_POSIX) += compatfd.o
common-obj-y += notify.o event_notifier.o
common-obj-y += qemu-timer.o qemu-timer-common.o
@@ -108,7 +108,7 @@ endif
user-obj-y =
user-obj-y += envlist.o path.o
user-obj-y += tcg-runtime.o host-utils.o
-user-obj-y += cutils.o cache-utils.o
+user-obj-y += cache-utils.o
user-obj-y += module.o
user-obj-y += qemu-user.o
user-obj-y += $(trace-obj-y)
--
1.7.12
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH 4/9] qemu-ga: do not include the QEMU main loop and dependencies
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
` (2 preceding siblings ...)
2012-09-17 16:44 ` [Qemu-devel] [PATCH 3/9] build: avoid duplicate appearance of files Paolo Bonzini
@ 2012-09-17 16:44 ` Paolo Bonzini
2012-09-17 16:44 ` [Qemu-devel] [PATCH 5/9] build: add object directory to QEMU_INCLUDES Paolo Bonzini
` (5 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-17 16:44 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, afaerber
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 2 +-
1 file modificato, 1 inserzione(+). 1 rimozione(-)
diff --git a/Makefile b/Makefile
index 5240834..fffbbb8 100644
--- a/Makefile
+++ b/Makefile
@@ -206,7 +206,7 @@ $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qmp-commands.h)
$(qga-obj-y) qemu-ga.o: $(QGALIB_GEN)
-qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(tools-obj-y) $(qapi-obj-y) $(qobject-obj-y) $(version-obj-y)
+qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(trace-obj-y) $(oslib-obj-y) $(qapi-obj-y) $(qobject-obj-y) $(version-obj-y)
QEMULIBS=libhw32 libhw64 libuser libdis libdis-user
--
1.7.12
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH 5/9] build: add object directory to QEMU_INCLUDES
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
` (3 preceding siblings ...)
2012-09-17 16:44 ` [Qemu-devel] [PATCH 4/9] qemu-ga: do not include the QEMU main loop and dependencies Paolo Bonzini
@ 2012-09-17 16:44 ` Paolo Bonzini
2012-09-17 16:45 ` [Qemu-devel] [PATCH 6/9] build: add $(TARGET_DIR) to "GEN config-target.h" lines Paolo Bonzini
` (4 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-17 16:44 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, afaerber
When using a recursive make, -I. will automatically let you include
generated files from a nested directory. This doesn't work for
nonrecursive make such as the one used by QEMU. Add a rule that
fixes this.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
rules.mak | 3 +++
1 file modificato, 3 inserzioni(+)
diff --git a/rules.mak b/rules.mak
index 1b173aa..0327426 100644
--- a/rules.mak
+++ b/rules.mak
@@ -14,6 +14,9 @@ MAKEFLAGS += -rR
# Flags for dependency generation
QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d
+# Same as -I., but for the object directory
+QEMU_CFLAGS += -I$(@D)
+
%.o: %.c
$(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@")
--
1.7.12
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH 6/9] build: add $(TARGET_DIR) to "GEN config-target.h" lines
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
` (4 preceding siblings ...)
2012-09-17 16:44 ` [Qemu-devel] [PATCH 5/9] build: add object directory to QEMU_INCLUDES Paolo Bonzini
@ 2012-09-17 16:45 ` Paolo Bonzini
2012-09-17 16:45 ` [Qemu-devel] [PATCH 7/9] build: use nesting magic for tools-obj-y Paolo Bonzini
` (3 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-17 16:45 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, afaerber
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
rules.mak | 2 +-
1 file modificato, 1 inserzione(+). 1 rimozione(-)
diff --git a/rules.mak b/rules.mak
index 0327426..13ba62b 100644
--- a/rules.mak
+++ b/rules.mak
@@ -71,7 +71,7 @@ TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
@test -f $@ || cp $< $@
%.h-timestamp: %.mak
- $(call quiet-command, sh $(SRC_PATH)/scripts/create_config < $< > $@, " GEN $*.h")
+ $(call quiet-command, sh $(SRC_PATH)/scripts/create_config < $< > $@, " GEN $(TARGET_DIR)$*.h")
@cmp $@ $*.h >/dev/null 2>&1 || cp $@ $*.h
# will delete the target of a rule if commands exit with a nonzero exit status
--
1.7.12
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH 7/9] build: use nesting magic for tools-obj-y
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
` (5 preceding siblings ...)
2012-09-17 16:45 ` [Qemu-devel] [PATCH 6/9] build: add $(TARGET_DIR) to "GEN config-target.h" lines Paolo Bonzini
@ 2012-09-17 16:45 ` Paolo Bonzini
2012-09-17 16:45 ` [Qemu-devel] [PATCH 8/9] libcacard: add include/ to CFLAGS Paolo Bonzini
` (2 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-17 16:45 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, afaerber
Move this variable to Makefile.objs, together with all the other lists
of object files.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 5 -----
Makefile.objs | 9 +++++++++
2 file modificati, 9 inserzioni(+), 5 rimozioni(-)
diff --git a/Makefile b/Makefile
index fffbbb8..a8078ec 100644
--- a/Makefile
+++ b/Makefile
@@ -152,11 +152,6 @@ endif
qemu-img.o: qemu-img-cmds.h
-tools-obj-y = $(oslib-obj-y) $(trace-obj-y) qemu-tool.o qemu-timer.o \
- qemu-timer-common.o main-loop.o notify.o monitor-dummy.o \
- iohandler.o
-tools-obj-$(CONFIG_POSIX) += compatfd.o
-
qemu-img$(EXESUF): qemu-img.o $(tools-obj-y) $(block-obj-y)
qemu-nbd$(EXESUF): qemu-nbd.o $(tools-obj-y) $(block-obj-y)
qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y)
diff --git a/Makefile.objs b/Makefile.objs
index cf00fd5..85bd70b 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -226,6 +226,14 @@ common-obj-y += qmp.o hmp.o
universal-obj-y += $(qapi-obj-y)
######################################################################
+# tools-obj-y is shared by qemu-img, qemu-io, qemu-nbd
+
+tools-obj-y = $(oslib-obj-y) $(trace-obj-y) qemu-tool.o qemu-timer.o
+tools-obj-y += qemu-timer-common.o main-loop.o notify.o monitor-dummy.o
+tools-obj-y += iohandler.o
+tools-obj-$(CONFIG_POSIX) += compatfd.o
+
+######################################################################
# guest agent
qga-obj-y = qga/ qemu-ga.o module.o monitor-dummy.o
@@ -246,5 +254,6 @@ nested-vars += \
qapi-obj-y \
user-obj-y \
common-obj-y \
+ tools-obj-y \
extra-obj-y
dummy := $(call unnest-vars)
--
1.7.12
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH 8/9] libcacard: add include/ to CFLAGS
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
` (6 preceding siblings ...)
2012-09-17 16:45 ` [Qemu-devel] [PATCH 7/9] build: use nesting magic for tools-obj-y Paolo Bonzini
@ 2012-09-17 16:45 ` Paolo Bonzini
2012-09-17 16:45 ` [Qemu-devel] [PATCH 9/9] libcacard: remove dependency on QEMU main loop Paolo Bonzini
2012-09-19 14:38 ` [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
9 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-17 16:45 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, afaerber
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
libcacard/Makefile | 2 +-
1 file modificato, 1 inserzione(+). 1 rimozione(-)
diff --git a/libcacard/Makefile b/libcacard/Makefile
index 63990b7..c2c0212 100644
--- a/libcacard/Makefile
+++ b/libcacard/Makefile
@@ -10,7 +10,7 @@ $(call set-vpath, $(SRC_PATH))
QEMU_OBJS=$(oslib-obj-y) qemu-timer-common.o $(trace-obj-y)
QEMU_OBJS_LIB=$(patsubst %.o,%.lo,$(QEMU_OBJS))
-QEMU_CFLAGS+=-I../
+QEMU_CFLAGS+=-I../ -I$(SRC_PATH)/include
libcacard.lib-y=$(patsubst %.o,%.lo,$(libcacard-y))
--
1.7.12
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH 9/9] libcacard: remove dependency on QEMU main loop
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
` (7 preceding siblings ...)
2012-09-17 16:45 ` [Qemu-devel] [PATCH 8/9] libcacard: add include/ to CFLAGS Paolo Bonzini
@ 2012-09-17 16:45 ` Paolo Bonzini
2012-09-19 14:38 ` [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
9 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-17 16:45 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, afaerber
libcacard does not use the QEMU main loop, do not link it in.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 2 +-
1 file modificato, 1 inserzione(+). 1 rimozione(-)
diff --git a/Makefile b/Makefile
index a8078ec..4cc4e3a 100644
--- a/Makefile
+++ b/Makefile
@@ -158,7 +158,7 @@ qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y)
qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o
-vscclient$(EXESUF): $(libcacard-y) $(oslib-obj-y) $(trace-obj-y) $(tools-obj-y) qemu-timer-common.o libcacard/vscclient.o
+vscclient$(EXESUF): $(libcacard-y) $(oslib-obj-y) $(trace-obj-y) monitor-dummy.o qemu-timer-common.o libcacard/vscclient.o
$(call quiet-command,$(CC) $(LDFLAGS) -o $@ $^ $(libcacard_libs) $(LIBS)," LINK $@")
fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/virtio-9p-marshal.o oslib-posix.o $(trace-obj-y)
--
1.7.12
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 0/9] build cleanups
2012-09-17 16:44 [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
` (8 preceding siblings ...)
2012-09-17 16:45 ` [Qemu-devel] [PATCH 9/9] libcacard: remove dependency on QEMU main loop Paolo Bonzini
@ 2012-09-19 14:38 ` Paolo Bonzini
2012-09-25 21:04 ` Anthony Liguori
9 siblings, 1 reply; 12+ messages in thread
From: Paolo Bonzini @ 2012-09-19 14:38 UTC (permalink / raw)
To: qemu-devel
Il 17/09/2012 18:44, Paolo Bonzini ha scritto:
> Here are some cleanups to the build system, removing some unused files
> from some of the products or fixing some strange behavior that bit me
> while looking at the tree reorganization.
>
> Paolo
>
> Paolo Bonzini (9):
> tools: split monitor-dummy.c, clean up qemu-tool.c
> block: move QEMUIOVector functions to iov.c
> build: avoid duplicate appearance of files
> qemu-ga: do not include the QEMU main loop and dependencies
> build: add object directory to QEMU_INCLUDES
> build: add $(TARGET_DIR) to "GEN config-target.h" lines
> build: use nesting magic for tools-obj-y
> libcacard: add include/ to CFLAGS
> libcacard: remove dependency on QEMU main loop
>
> Makefile | 9 ++---
> Makefile.objs | 19 +++++++---
> cutils.c | 103 ----------------------------------------------------
> iov.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> libcacard/Makefile | 2 +-
> monitor-dummy.c | 64 +++++++++++++++++++++++++++++++++
> qemu-tool.c | 54 ----------------------------
> rules.mak | 5 ++-
> 8 file modificati, 189 inserzioni(+), 171 rimozioni(-)
> create mode 100644 monitor-dummy.c
>
Doesn't apply anymore. :(
Paolo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 0/9] build cleanups
2012-09-19 14:38 ` [Qemu-devel] [PATCH 0/9] build cleanups Paolo Bonzini
@ 2012-09-25 21:04 ` Anthony Liguori
0 siblings, 0 replies; 12+ messages in thread
From: Anthony Liguori @ 2012-09-25 21:04 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel
Paolo Bonzini <pbonzini@redhat.com> writes:
> Il 17/09/2012 18:44, Paolo Bonzini ha scritto:
>> Here are some cleanups to the build system, removing some unused files
>> from some of the products or fixing some strange behavior that bit me
>> while looking at the tree reorganization.
>>
>> Paolo
>>
>> Paolo Bonzini (9):
>> tools: split monitor-dummy.c, clean up qemu-tool.c
>> block: move QEMUIOVector functions to iov.c
>> build: avoid duplicate appearance of files
>> qemu-ga: do not include the QEMU main loop and dependencies
>> build: add object directory to QEMU_INCLUDES
>> build: add $(TARGET_DIR) to "GEN config-target.h" lines
>> build: use nesting magic for tools-obj-y
>> libcacard: add include/ to CFLAGS
>> libcacard: remove dependency on QEMU main loop
>>
>> Makefile | 9 ++---
>> Makefile.objs | 19 +++++++---
>> cutils.c | 103 ----------------------------------------------------
>> iov.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>> libcacard/Makefile | 2 +-
>> monitor-dummy.c | 64 +++++++++++++++++++++++++++++++++
>> qemu-tool.c | 54 ----------------------------
>> rules.mak | 5 ++-
>> 8 file modificati, 189 inserzioni(+), 171 rimozioni(-)
>> create mode 100644 monitor-dummy.c
>>
>
> Doesn't apply anymore. :(
FWIW, it breaks make check too:
LINK tests/check-qdict
iohandler.o: In function `qemu_init_child_watch':
/home/anthony/git/qemu/iohandler.c:172: undefined reference to `qemu_bh_new'
iohandler.o: In function `sigchld_handler':
/home/anthony/git/qemu/iohandler.c:154: undefined reference to `qemu_bh_schedule'
main-loop.o: In function `main_loop_wait':
/home/anthony/git/qemu/main-loop.c:506: undefined reference to `qemu_bh_poll'
/home/anthony/git/qemu/main-loop.c:481: undefined reference to `qemu_bh_update_timeout'
collect2: ld returned 1 exit status
make: *** [tests/check-qdict] Error 1
Regards,
Anthony Liguori
>
> Paolo
^ permalink raw reply [flat|nested] 12+ messages in thread