* [Qemu-devel] [PULL 0/5] Configury/build system patches for 1.7
@ 2013-10-17 15:35 Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 1/5] rules.mak: New logical functions for handling y/n values Paolo Bonzini
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Paolo Bonzini @ 2013-10-17 15:35 UTC (permalink / raw)
To: qemu-devel
Anthony,
The following changes since commit 39c153b80f890dc5f02465dc59992e195abd5f40:
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging (2013-10-10 13:16:25 -0700)
are available in the git repository at:
git://github.com/bonzini/qemu.git configure
for you to fetch changes up to 2324841c0275f31505168e7a6ceb71bcede92d33:
ui/Makefile.objs: delete unnecessary cocoa.o dependency (2013-10-16 18:21:01 +0200)
These five patches are from Peter and/or from my summer of code
student, Akos Kovacs. Peter picked up some small cleanups that
Akos did and improved them.
----------------------------------------------------------------
Peter Maydell (3):
rules.mak: New logical functions for handling y/n values
rules.mak: New string testing functions
ui/Makefile.objs: delete unnecessary cocoa.o dependency
Ákos Kovács (2):
Makefile.target: CONFIG_NO_* variables removed
default-configs/: CONFIG_GDBSTUB_XML removed
Makefile.target | 10 +++-------
default-configs/arm-linux-user.mak | 2 --
default-configs/arm-softmmu.mak | 1 -
default-configs/armeb-linux-user.mak | 2 --
default-configs/m68k-linux-user.mak | 2 --
default-configs/m68k-softmmu.mak | 1 -
default-configs/ppc-linux-user.mak | 2 --
default-configs/ppc-softmmu.mak | 1 -
default-configs/ppc64-linux-user.mak | 2 --
default-configs/ppc64-softmmu.mak | 1 -
default-configs/ppc64abi32-linux-user.mak | 2 --
default-configs/ppcemb-softmmu.mak | 1 -
hw/pci/Makefile.objs | 2 +-
rules.mak | 28 ++++++++++++++++++++++++++++
target-arm/Makefile.objs | 2 +-
target-i386/Makefile.objs | 2 +-
target-ppc/Makefile.objs | 2 +-
ui/Makefile.objs | 2 --
18 files changed, 35 insertions(+), 30 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PULL 1/5] rules.mak: New logical functions for handling y/n values
2013-10-17 15:35 [Qemu-devel] [PULL 0/5] Configury/build system patches for 1.7 Paolo Bonzini
@ 2013-10-17 15:35 ` Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 2/5] rules.mak: New string testing functions Paolo Bonzini
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2013-10-17 15:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
From: Peter Maydell <peter.maydell@linaro.org>
Add new logical functions for handling y/n values like those we
use in CONFIG_FOO variables:
lnot : logical NOT
land : logical AND
lor : logical OR
lxor : logical XOR
leqv : logical equality, inverse of lxor
lif : like Make's $(if) but with an eq-like test
Based on an idea by Ákos Kovács <akoskovacs@gmx.com>.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
rules.mak | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/rules.mak b/rules.mak
index abc2e84..65a1b96 100644
--- a/rules.mak
+++ b/rules.mak
@@ -89,6 +89,23 @@ find-in-path = $(if $(find-string /, $1), \
$(wildcard $1), \
$(wildcard $(patsubst %, %/$1, $(subst :, ,$(PATH)))))
+# Logical functions (for operating on y/n values like CONFIG_FOO vars)
+# Inputs to these must be either "y" (true) or "n" or "" (both false)
+# Output is always either "y" or "n".
+# Usage: $(call land,$(CONFIG_FOO),$(CONFIG_BAR))
+# Logical NOT
+lnot = $(if $(subst n,,$1),n,y)
+# Logical AND
+land = $(if $(findstring yy,$1$2),y,n)
+# Logical OR
+lor = $(if $(findstring y,$1$2),y,n)
+# Logical XOR (note that this is the inverse of leqv)
+lxor = $(if $(filter $(call lnot,$1),$(call lnot,$2)),n,y)
+# Logical equivalence (note that leqv "","n" is true)
+leqv = $(if $(filter $(call lnot,$1),$(call lnot,$2)),y,n)
+# Logical if: like make's $(if) but with an leqv-like test
+lif = $(if $(subst n,,$1),$2,$3)
+
# Generate files with tracetool
TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
--
1.8.3.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PULL 2/5] rules.mak: New string testing functions
2013-10-17 15:35 [Qemu-devel] [PULL 0/5] Configury/build system patches for 1.7 Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 1/5] rules.mak: New logical functions for handling y/n values Paolo Bonzini
@ 2013-10-17 15:35 ` Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 3/5] Makefile.target: CONFIG_NO_* variables removed Paolo Bonzini
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2013-10-17 15:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
From: Peter Maydell <peter.maydell@linaro.org>
Add new string testing functions which return a y/n result:
eq : are two strings equal (ignoring leading/trailing space)?
ne : are two strings unequal?
isempty : is a string empty?
notempty : is a string non-empty?
Based on an idea by Ákos Kovács <akoskovacs@gmx.com>.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
rules.mak | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/rules.mak b/rules.mak
index 65a1b96..49edb9b 100644
--- a/rules.mak
+++ b/rules.mak
@@ -106,6 +106,17 @@ leqv = $(if $(filter $(call lnot,$1),$(call lnot,$2)),y,n)
# Logical if: like make's $(if) but with an leqv-like test
lif = $(if $(subst n,,$1),$2,$3)
+# String testing functions: inputs to these can be any string;
+# the output is always either "y" or "n". Leading and trailing whitespace
+# is ignored when comparing strings.
+# String equality
+eq = $(if $(subst $2,,$1)$(subst $1,,$2),n,y)
+# String inequality
+ne = $(if $(subst $2,,$1)$(subst $1,,$2),y,n)
+# Emptiness/non-emptiness tests:
+isempty = $(if $1,n,y)
+notempty = $(if $1,y,n)
+
# Generate files with tracetool
TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
--
1.8.3.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PULL 3/5] Makefile.target: CONFIG_NO_* variables removed
2013-10-17 15:35 [Qemu-devel] [PULL 0/5] Configury/build system patches for 1.7 Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 1/5] rules.mak: New logical functions for handling y/n values Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 2/5] rules.mak: New string testing functions Paolo Bonzini
@ 2013-10-17 15:35 ` Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 4/5] default-configs/: CONFIG_GDBSTUB_XML removed Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 5/5] ui/Makefile.objs: delete unnecessary cocoa.o dependency Paolo Bonzini
4 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2013-10-17 15:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Ákos Kovács
From: Ákos Kovács <akoskovacs@gmx.com>
CONFIG_NO_* variables replaced with the lnot logical function
Signed-off-by: Ákos Kovács <akoskovacs@gmx.com>
[PMM: fixed a few CONFIG_NO_* uses that were missed]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.target | 8 ++------
hw/pci/Makefile.objs | 2 +-
target-arm/Makefile.objs | 2 +-
target-i386/Makefile.objs | 2 +-
target-ppc/Makefile.objs | 2 +-
5 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index 9a49852..bbc668b 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -70,10 +70,6 @@ all: $(PROGS) stap
# Dummy command so that make thinks it has done something
@true
-CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
-CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)
-CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
-
#########################################################
# cpu emulator library
obj-y = exec.o translate-all.o cpu-exec.o
@@ -84,7 +80,7 @@ obj-y += fpu/softfloat.o
obj-y += target-$(TARGET_BASE_ARCH)/
obj-y += disas.o
obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
-obj-$(CONFIG_NO_KVM) += kvm-stub.o
+obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
#########################################################
# Linux user emulator target
@@ -125,7 +121,7 @@ LIBS+=$(libs_softmmu)
# xen support
obj-$(CONFIG_XEN) += xen-all.o xen-mapcache.o
-obj-$(CONFIG_NO_XEN) += xen-stub.o
+obj-$(call lnot,$(CONFIG_XEN)) += xen-stub.o
# Hardware support
ifeq ($(TARGET_NAME), sparc64)
diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
index 720f438..80f8aa6 100644
--- a/hw/pci/Makefile.objs
+++ b/hw/pci/Makefile.objs
@@ -5,7 +5,7 @@ common-obj-$(CONFIG_PCI) += slotid_cap.o
common-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
-common-obj-$(CONFIG_NO_PCI) += pci-stub.o
+common-obj-$(call lnot,$(CONFIG_PCI)) += pci-stub.o
common-obj-$(CONFIG_ALL) += pci-stub.o
common-obj-$(CONFIG_PCI_HOTPLUG_OLD) += pci-hotplug-old.o
diff --git a/target-arm/Makefile.objs b/target-arm/Makefile.objs
index 6453f5c..356fbfc 100644
--- a/target-arm/Makefile.objs
+++ b/target-arm/Makefile.objs
@@ -1,7 +1,7 @@
obj-y += arm-semi.o
obj-$(CONFIG_SOFTMMU) += machine.o
obj-$(CONFIG_KVM) += kvm.o
-obj-$(CONFIG_NO_KVM) += kvm-stub.o
+obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
obj-y += translate.o op_helper.o helper.o cpu.o
obj-y += neon_helper.o iwmmxt_helper.o
obj-y += gdbstub.o
diff --git a/target-i386/Makefile.objs b/target-i386/Makefile.objs
index da1fc40..027b94e 100644
--- a/target-i386/Makefile.objs
+++ b/target-i386/Makefile.objs
@@ -4,6 +4,6 @@ obj-y += smm_helper.o misc_helper.o mem_helper.o seg_helper.o
obj-y += gdbstub.o
obj-$(CONFIG_SOFTMMU) += machine.o arch_memory_mapping.o arch_dump.o
obj-$(CONFIG_KVM) += kvm.o
-obj-$(CONFIG_NO_KVM) += kvm-stub.o
+obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
obj-$(CONFIG_LINUX_USER) += ioport-user.o
obj-$(CONFIG_BSD_USER) += ioport-user.o
diff --git a/target-ppc/Makefile.objs b/target-ppc/Makefile.objs
index f72e399..94d6d0c 100644
--- a/target-ppc/Makefile.objs
+++ b/target-ppc/Makefile.objs
@@ -5,7 +5,7 @@ obj-y += machine.o mmu_helper.o mmu-hash32.o
obj-$(TARGET_PPC64) += mmu-hash64.o
endif
obj-$(CONFIG_KVM) += kvm.o kvm_ppc.o
-obj-$(CONFIG_NO_KVM) += kvm-stub.o
+obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
obj-y += excp_helper.o
obj-y += fpu_helper.o
obj-y += int_helper.o
--
1.8.3.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PULL 4/5] default-configs/: CONFIG_GDBSTUB_XML removed
2013-10-17 15:35 [Qemu-devel] [PULL 0/5] Configury/build system patches for 1.7 Paolo Bonzini
` (2 preceding siblings ...)
2013-10-17 15:35 ` [Qemu-devel] [PULL 3/5] Makefile.target: CONFIG_NO_* variables removed Paolo Bonzini
@ 2013-10-17 15:35 ` Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 5/5] ui/Makefile.objs: delete unnecessary cocoa.o dependency Paolo Bonzini
4 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2013-10-17 15:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Ákos Kovács
From: Ákos Kovács <akoskovacs@gmx.com>
Makefile.target: Build gdbstub-xml.o only when
TARGET_XML_FILES is not empty.
Signed-off-by: Ákos Kovács <akoskovacs@gmx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.target | 2 +-
default-configs/arm-linux-user.mak | 2 --
default-configs/arm-softmmu.mak | 1 -
default-configs/armeb-linux-user.mak | 2 --
default-configs/m68k-linux-user.mak | 2 --
default-configs/m68k-softmmu.mak | 1 -
default-configs/ppc-linux-user.mak | 2 --
default-configs/ppc-softmmu.mak | 1 -
default-configs/ppc64-linux-user.mak | 2 --
default-configs/ppc64-softmmu.mak | 1 -
default-configs/ppc64abi32-linux-user.mak | 2 --
default-configs/ppcemb-softmmu.mak | 1 -
12 files changed, 1 insertion(+), 18 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index bbc668b..af6ac7e 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -79,7 +79,7 @@ obj-$(CONFIG_TCG_INTERPRETER) += disas/tci.o
obj-y += fpu/softfloat.o
obj-y += target-$(TARGET_BASE_ARCH)/
obj-y += disas.o
-obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
+obj-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
#########################################################
diff --git a/default-configs/arm-linux-user.mak b/default-configs/arm-linux-user.mak
index 46d4aa2..413361a 100644
--- a/default-configs/arm-linux-user.mak
+++ b/default-configs/arm-linux-user.mak
@@ -1,3 +1 @@
# Default configuration for arm-linux-user
-
-CONFIG_GDBSTUB_XML=y
diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index ac0815d..d13bc2b 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -2,7 +2,6 @@
include pci.mak
include usb.mak
-CONFIG_GDBSTUB_XML=y
CONFIG_VGA=y
CONFIG_ISA_MMIO=y
CONFIG_NAND=y
diff --git a/default-configs/armeb-linux-user.mak b/default-configs/armeb-linux-user.mak
index 41d0cc4..bf2ffe7 100644
--- a/default-configs/armeb-linux-user.mak
+++ b/default-configs/armeb-linux-user.mak
@@ -1,3 +1 @@
# Default configuration for armeb-linux-user
-
-CONFIG_GDBSTUB_XML=y
diff --git a/default-configs/m68k-linux-user.mak b/default-configs/m68k-linux-user.mak
index f3487aa..06cd5ed 100644
--- a/default-configs/m68k-linux-user.mak
+++ b/default-configs/m68k-linux-user.mak
@@ -1,3 +1 @@
# Default configuration for m68k-linux-user
-
-CONFIG_GDBSTUB_XML=y
diff --git a/default-configs/m68k-softmmu.mak b/default-configs/m68k-softmmu.mak
index 51fe5bb..d9552df 100644
--- a/default-configs/m68k-softmmu.mak
+++ b/default-configs/m68k-softmmu.mak
@@ -3,5 +3,4 @@
include pci.mak
include usb.mak
CONFIG_COLDFIRE=y
-CONFIG_GDBSTUB_XML=y
CONFIG_PTIMER=y
diff --git a/default-configs/ppc-linux-user.mak b/default-configs/ppc-linux-user.mak
index 681a945..6273df2 100644
--- a/default-configs/ppc-linux-user.mak
+++ b/default-configs/ppc-linux-user.mak
@@ -1,3 +1 @@
# Default configuration for ppc-linux-user
-
-CONFIG_GDBSTUB_XML=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index eac0b28..f5cd0bd 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -3,7 +3,6 @@
include pci.mak
include sound.mak
include usb.mak
-CONFIG_GDBSTUB_XML=y
CONFIG_ISA_MMIO=y
CONFIG_ESCC=y
CONFIG_M48T59=y
diff --git a/default-configs/ppc64-linux-user.mak b/default-configs/ppc64-linux-user.mak
index 089c08f..422d3fb 100644
--- a/default-configs/ppc64-linux-user.mak
+++ b/default-configs/ppc64-linux-user.mak
@@ -1,3 +1 @@
# Default configuration for ppc64-linux-user
-
-CONFIG_GDBSTUB_XML=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index 7831c2b..975112a 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -3,7 +3,6 @@
include pci.mak
include sound.mak
include usb.mak
-CONFIG_GDBSTUB_XML=y
CONFIG_ISA_MMIO=y
CONFIG_ESCC=y
CONFIG_M48T59=y
diff --git a/default-configs/ppc64abi32-linux-user.mak b/default-configs/ppc64abi32-linux-user.mak
index f038ffd..1c657ec 100644
--- a/default-configs/ppc64abi32-linux-user.mak
+++ b/default-configs/ppc64abi32-linux-user.mak
@@ -1,3 +1 @@
# Default configuration for ppc64abi32-linux-user
-
-CONFIG_GDBSTUB_XML=y
diff --git a/default-configs/ppcemb-softmmu.mak b/default-configs/ppcemb-softmmu.mak
index 86080a7..4411203 100644
--- a/default-configs/ppcemb-softmmu.mak
+++ b/default-configs/ppcemb-softmmu.mak
@@ -3,7 +3,6 @@
include pci.mak
include sound.mak
include usb.mak
-CONFIG_GDBSTUB_XML=y
CONFIG_ISA_MMIO=y
CONFIG_ESCC=y
CONFIG_M48T59=y
--
1.8.3.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PULL 5/5] ui/Makefile.objs: delete unnecessary cocoa.o dependency
2013-10-17 15:35 [Qemu-devel] [PULL 0/5] Configury/build system patches for 1.7 Paolo Bonzini
` (3 preceding siblings ...)
2013-10-17 15:35 ` [Qemu-devel] [PULL 4/5] default-configs/: CONFIG_GDBSTUB_XML removed Paolo Bonzini
@ 2013-10-17 15:35 ` Paolo Bonzini
4 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2013-10-17 15:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Fam Zheng
From: Peter Maydell <peter.maydell@linaro.org>
Delete an unnecessary dependency for cocoa.o; we already have
a general rule that tells Make that we can build a .o file
from a .m source using an ObjC compiler, so this specific
rule is unnecessary. Further, it is using the dubious construct
"$(SRC_PATH)/$(obj)" to get at the source directory, which will
break when $(obj) is redefined as part of the preparation for
per-object library support.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
ui/Makefile.objs | 2 --
1 file changed, 2 deletions(-)
diff --git a/ui/Makefile.objs b/ui/Makefile.objs
index 6ddc0de..f33be47 100644
--- a/ui/Makefile.objs
+++ b/ui/Makefile.objs
@@ -17,6 +17,4 @@ common-obj-$(CONFIG_GTK) += gtk.o x_keymap.o
$(obj)/sdl.o $(obj)/sdl_zoom.o: QEMU_CFLAGS += $(SDL_CFLAGS)
-$(obj)/cocoa.o: $(SRC_PATH)/$(obj)/cocoa.m
-
$(obj)/gtk.o: QEMU_CFLAGS += $(GTK_CFLAGS) $(VTE_CFLAGS)
--
1.8.3.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-10-17 15:36 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-17 15:35 [Qemu-devel] [PULL 0/5] Configury/build system patches for 1.7 Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 1/5] rules.mak: New logical functions for handling y/n values Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 2/5] rules.mak: New string testing functions Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 3/5] Makefile.target: CONFIG_NO_* variables removed Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 4/5] default-configs/: CONFIG_GDBSTUB_XML removed Paolo Bonzini
2013-10-17 15:35 ` [Qemu-devel] [PULL 5/5] ui/Makefile.objs: delete unnecessary cocoa.o dependency Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).