Stefan Weil <w...@mail.berlios.de> wrote: > 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<ehabk...@redhat.com> >> --- >> 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?
yeap, sorry.