From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=53721 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PkKkT-0001Te-QR for qemu-devel@nongnu.org; Tue, 01 Feb 2011 13:14:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PkKjw-0003xN-6X for qemu-devel@nongnu.org; Tue, 01 Feb 2011 13:14:16 -0500 Received: from moutng.kundenserver.de ([212.227.17.10]:52384) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PkKjv-0003wt-Nb for qemu-devel@nongnu.org; Tue, 01 Feb 2011 13:14:08 -0500 Message-ID: <4D484D68.40800@mail.berlios.de> Date: Tue, 01 Feb 2011 19:14:00 +0100 From: Stefan Weil MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 1/4] Add config-devices.h again References: <1296579203-21083-1-git-send-email-ehabkost@redhat.com> <1296579203-21083-2-git-send-email-ehabkost@redhat.com> In-Reply-To: <1296579203-21083-2-git-send-email-ehabkost@redhat.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost Cc: qemu-devel@nongnu.org, Juan Quintela Am 01.02.2011 17:53, schrieb Eduardo Habkost: > This reverts part of commit a992fe3d0fc185112677286f7a02204d8245b61e. > > We do have code that needs #ifdefs depending on the list of enabled devices, > but currently that code breaks when we try to disable a feature that is enabled > by default. > > For example, if we try to disable CONFIG_VMWARE_VGA, we get the following: > > LINK x86_64-softmmu/qemu-system-x86_64 > pc.o: In function `pc_vga_init': > /home/ehabkost/pessoal/proj/virt/qemu/qemu/hw/pc.c:991: undefined reference to `pci_vmsvga_init' > collect2: ld returned 1 exit status > make[1]: *** [qemu-system-x86_64] Error 1 > rm config-devices.h-timestamp > make: *** [subdir-x86_64-softmmu] Error 2 > > config-devices.h will allow us to add an #ifdef to fix the above error, and > other similar cases. > > Signed-off-by: Eduardo Habkost > --- > Makefile | 7 +++++-- > Makefile.target | 2 +- > config.h | 11 +++++++++++ > 3 files changed, 17 insertions(+), 3 deletions(-) > > diff --git a/Makefile b/Makefile > index 4e120a2..22b53f6 100644 > --- a/Makefile > +++ b/Makefile > @@ -1,6 +1,6 @@ > # Makefile for QEMU. > > -GENERATED_HEADERS = config-host.h trace.h qemu-options.def > +GENERATED_HEADERS = config-host.h trace.h qemu-options.def config-all-devices.h > ifeq ($(TRACE_BACKEND),dtrace) > GENERATED_HEADERS += trace-dtrace.h > endif > @@ -77,6 +77,9 @@ config-host.h-timestamp: config-host.mak > qemu-options.def: $(SRC_PATH)/qemu-options.hx > $(call quiet-command,sh $(SRC_PATH)/hxtool -h< $< > $@," GEN $@") > > +config-all-devices.h: config-all-devices.h-timestamp > +config-all-devices.h-timestamp: config-all-devices.mak > + > SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS)) > > subdir-%: $(GENERATED_HEADERS) > @@ -190,7 +193,7 @@ clean: > > distclean: clean > rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi > - rm -f config-all-devices.mak > + rm -f config-all-devices.mak config-all-devices.h* > rm -f roms/seabios/config.mak roms/vgabios/config.mak > rm -f qemu-doc.info qemu-doc.aux qemu-doc.cp qemu-doc.dvi qemu-doc.fn qemu-doc.info qemu-doc.ky qemu-doc.log qemu-doc.pdf qemu-doc.pg qemu-doc.toc qemu-doc.tp qemu-doc.vr > rm -f qemu-tech.info qemu-tech.aux qemu-tech.cp qemu-tech.dvi qemu-tech.fn qemu-tech.info qemu-tech.ky qemu-tech.log qemu-tech.pdf qemu-tech.pg qemu-tech.toc qemu-tech.tp qemu-tech.vr > diff --git a/Makefile.target b/Makefile.target > index 2800f47..03fc486 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -1,6 +1,6 @@ > # -*- Mode: makefile -*- > > -GENERATED_HEADERS = config-target.h > +GENERATED_HEADERS = config-target.h config-devices.h > CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y) > > include ../config-host.mak > diff --git a/config.h b/config.h > index e20f786..07d79d4 100644 > --- a/config.h > +++ b/config.h > @@ -1,2 +1,13 @@ > + > #include "config-host.h" > #include "config-target.h" > + > +/* We want to include different config files for specific targets > + And for the common library. They need a different name because > + we don't want to rely in paths */ > on paths? > + > +#if defined(NEED_CPU_H) > +#include "config-devices.h" > +#else > +#include "config-all-devices.h" > +#endif >