From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LynQc-0006rY-Gt for qemu-devel@nongnu.org; Tue, 28 Apr 2009 09:32:54 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LynQU-0006l7-UJ for qemu-devel@nongnu.org; Tue, 28 Apr 2009 09:32:51 -0400 Received: from [199.232.76.173] (port=44649 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LynQU-0006kw-Du for qemu-devel@nongnu.org; Tue, 28 Apr 2009 09:32:46 -0400 Received: from mx20.gnu.org ([199.232.41.8]:29713) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LynQU-0005et-3T for qemu-devel@nongnu.org; Tue, 28 Apr 2009 09:32:46 -0400 Received: from mail.codesourcery.com ([65.74.133.4]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LynQS-0004sV-Mf for qemu-devel@nongnu.org; Tue, 28 Apr 2009 09:32:45 -0400 From: Paul Brook Subject: Re: [Qemu-devel] [PATCH, RFC] Smarter compilation for target devices Date: Tue, 28 Apr 2009 14:32:41 +0100 References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200904281432.42291.paul@codesourcery.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Blue Swirl > Compile target devices only once for each endian and word size combination, > saving a few compiles if large number of targets are enabled. > +CPPFLAGS=-I. -I.. -I$(SRC_PATH) -MMD -MT $@ -MP -DNEED_CPU_H > +# Warning: Do not add new files here if they have conditional code > +# with #ifdef TARGET_xxx etc, use TARGET_PAGE_SIZE or reference > +# CPUState This is just asking for trouble. Anything that includes cpu.h must be rebuilt for every cpu. IMO a necessary prerequisite for this change is reworking header files so that you can't accidentally use the wrong symbols. Also, which bitwidth are you intending to distinguish here? target_ulong or target_phys_addr_t? With a few exceptions, devices don't care about the former. Duplicating this logic is both cpu.h and configure is also asking for trouble. At minimum the build should fail if they disagree. Paul