From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NSFWk-0003M9-AG for qemu-devel@nongnu.org; Tue, 05 Jan 2010 14:57:14 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NSFWf-0003Kf-Oq for qemu-devel@nongnu.org; Tue, 05 Jan 2010 14:57:14 -0500 Received: from [199.232.76.173] (port=43205 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NSFWf-0003Kc-Kr for qemu-devel@nongnu.org; Tue, 05 Jan 2010 14:57:09 -0500 Received: from mx20.gnu.org ([199.232.41.8]:36443) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NSFWf-0005Ca-8g for qemu-devel@nongnu.org; Tue, 05 Jan 2010 14:57:09 -0500 Received: from mail-pw0-f43.google.com ([209.85.160.43]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NRtrb-0001NT-TW for qemu-devel@nongnu.org; Mon, 04 Jan 2010 15:49:20 -0500 Received: by pwj11 with SMTP id 11so10371814pwj.2 for ; Mon, 04 Jan 2010 12:48:18 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <1262268274-1043-1-git-send-email-andreas.faerber@web.de> From: Blue Swirl Date: Mon, 4 Jan 2010 20:47:58 +0000 Message-ID: Subject: Re: [Qemu-devel] [PATCH v2] Drop --whole-archive and static libraries Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?Q?Andreas_F=C3=A4rber?= Cc: qemu-devel@nongnu.org, =?UTF-8?Q?Andreas_F=C3=A4rber?= , Juan Quintela , "Kirill A. Shutemov" , Paolo Bonzini , Palle Lyckegaard On Sun, Jan 3, 2010 at 12:31 PM, Blue Swirl wrote: > 2009/12/31 Andreas F=C3=A4rber : >> From: Andreas F=C3=A4rber >> >> Juan has contributed a cool Makefile infrastructure that enables us to d= rop >> static libraries completely: >> >> Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,us= er-}, >> and link those object files directly into the executables. >> >> Replace HWLIB by HWDIR, specifying only the directory. >> >> Drop --whole-archive and ARLIBS in Makefiles and configure. >> >> Drop GENERATED_HEADERS dependency in rules.mak, since this rebuilds all >> common objects after generating a target-specific header; add dependency >> rules to Makefile and Makefile.target instead. >> >> v2: >> - Don't try to include /config.mak for user emulators >> - Changes to user object paths ("Quickfix for libuser.a drop") were obso= leted >> =C2=A0by "user_only: compile everything with -fpie" (Kirill A. Shutemov) > > Breaks build: > =C2=A0CC =C2=A0 =C2=A0i386-softmmu/i386-dis.o > make[1]: *** No rule to make target `/loader.o', needed by `qemu'. =C2=A0= Stop. I found out that completely removing the object directory and recreating it from scratch helps. This sucks bisectability-wise, is there any way to avoid it? There is still one problem, tools need config-host.h but the dependencies are not correct: CC qemu-nbd.o In file included from /src/qemu/qemu-nbd.c:19: /src/qemu/qemu-common.h:32:25: error: config-host.h: No such file or direct= ory