From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NScgI-00055p-LZ for qemu-devel@nongnu.org; Wed, 06 Jan 2010 15:40:38 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NScgD-0004yY-Ia for qemu-devel@nongnu.org; Wed, 06 Jan 2010 15:40:37 -0500 Received: from [199.232.76.173] (port=37173 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NScgD-0004yK-Bs for qemu-devel@nongnu.org; Wed, 06 Jan 2010 15:40:33 -0500 Received: from mail-px0-f189.google.com ([209.85.216.189]:60807) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NScgC-0005we-Uz for qemu-devel@nongnu.org; Wed, 06 Jan 2010 15:40:33 -0500 Received: by pxi27 with SMTP id 27so11227770pxi.4 for ; Wed, 06 Jan 2010 12:40:31 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <65261088-E3B4-4411-876C-79819E075E36@web.de> References: <1262268274-1043-1-git-send-email-andreas.faerber@web.de> <65261088-E3B4-4411-876C-79819E075E36@web.de> From: Blue Swirl Date: Wed, 6 Jan 2010 20:40:11 +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: "Kirill A. Shutemov" , Paolo Bonzini , QEMU Developers , Palle Lyckegaard , Juan Quintela On Wed, Jan 6, 2010 at 7:53 PM, Andreas F=C3=A4rber wrote: > > Am 06.01.2010 um 20:24 schrieb Blue Swirl: > >> On Wed, Jan 6, 2010 at 6:51 PM, Andreas F=C3=A4rber >> wrote: >>> >>> Am 04.01.2010 um 21:47 schrieb Blue Swirl: >>> >>>> 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 >>>>>> drop >>>>>> static libraries completely: >>>>>> >>>>>> Move shared obj-y definitions to Makefile.objs, prefixed >>>>>> {common-,hw-,user-}, >>>>>> 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 >>>>>> obsoleted >>>>>> =C2=A0by "user_only: compile everything with -fpie" (Kirill A. Shute= mov) > >>>> There is still one problem, tools need config-host.h but the >>>> dependencies are not correct: >>>> =C2=A0CC =C2=A0 =C2=A0qemu-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 >>>> directory >>> >>> Fix coming up. Basically, $(GENERATED_HEADERS) were previously used on >>> _all_ >>> object files via rules.mak. That does not work when referencing objects >>> from >>> another Makefile, so the modelling needs to be done explicitly. >> >> OK. Since there have been no objections, I'd like to apply this soon. > > That would be very much appreciated. > > I have not tested bsd-user. Could you please check that on your BSD setup= ? Seems to work, as do Milax and mingw32.