From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MQNsh-0005kF-10 for qemu-devel@nongnu.org; Mon, 13 Jul 2009 11:55:55 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MQNsb-0005gC-Bw for qemu-devel@nongnu.org; Mon, 13 Jul 2009 11:55:53 -0400 Received: from [199.232.76.173] (port=45742 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MQNsb-0005fz-0s for qemu-devel@nongnu.org; Mon, 13 Jul 2009 11:55:49 -0400 Received: from mx2.redhat.com ([66.187.237.31]:54950) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MQNsZ-0005qS-3a for qemu-devel@nongnu.org; Mon, 13 Jul 2009 11:55:47 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6DFtjkN022826 for ; Mon, 13 Jul 2009 11:55:45 -0400 From: quintela@redhat.com Date: Mon, 13 Jul 2009 17:53:39 +0200 Message-Id: Subject: [Qemu-devel] [PATCH 00/26] More Build System cleanups (v3) List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Juan Quintela From: Juan Quintela Hi Yet more cleanups. Apart from rebasing to today qemu, I have: Re-factor ARCH/TARGET_ARCH code to avoid duplicated code. That code is not finished yet, but you can get one idea of the way that I think should be cleaned. Basically I am: a- generating the config*.h variables from the config*.mak variables (that is still done on configure, but will be done other place at some point). b- use the pattern: var="" case $other_var in .... lot of stuff .... esac if [ "$var" = "" ]; then var=default_value fi .... use $var .... Anthony, just feel free to stop on the 19 patch (that is the last one that I sent in the previous series). As always, any comments, suggestions? Later, Juan. v2: This series rebase my changes on top of today git. Also add more cleanups. Anthony, feel free to cherry pick any patches that you like, if you don't want all of them. - The bigger stuff here is move to only one qemu compilation rule for both bsd-user/darwin-user/linux-user/softmmu (the only thing that really changed was ARLIBS - Start moving CFLAGS/LDFLAGS setup to ./configure. Just removed OS_* and ARCH_*, planing how to move the other ones. Comments? For yesterday series, only comment was that we needed more of it :) Later, Juan "compiling for qemu ifdef removal prize" v1: More cleanups, 1st two are two compile fixes for my previous series (the XEN one already sent to the list. Generate TARGET_BASE_ARCH and TARGET_CPU on configure, and then we don't complicate Makefile.target having to regerate it. Switch all objects that depends of one traget to obj-$(TARGET_BASE_ARCH)-y variable, that way we would be able to share Makefiles at some point. Once there, fix kvm, xen and kqemu to not being duplicated for each arch that support i.t Juan Quintela (26): fix XEN Build fix sparc not solaris build Remove duplicated definition use block-nested-y for files inside block/ use nwfpe-obj-y for consistence Remove unused Makefile variable already defined several lines before in block-obj-y configure already knows what TARGET_BASE_ARCH we need, no need to put the logic in Makefile.target TARGET_ARCH2 is already known at configure time. change ifdefs by obj-$(TARGET_BASE_ARCH) configure xen in a single place configure kvm in a single place configure kqemu in a single place BASE_LDFLAGS is not used anywhere else TARGET_ARCH == TARGET_BASE_ARCH in m68k and arm Refactor a single rule to generate all qemu-* executables qemu binary don't exist anymore. I guess not much people is compiling on alpha We can wrap OS_CFLAGS/OS_LDFLAGS in CFLAGS/LDFLAGS at configure time We can wrap ARCH_CFLAGS/ARCH_LDFLAGS in CFLAGS/LDFLAGS at configure time generate ARCH name instead of coding it Refactor common code using a list Refactor targe_bigendian selection in another list print only once TARGET_ARCH Only setup TARGET_ARCH when it is different of generate TARGET_ARCH for config.h generate TARGET_ for config.h Makefile | 26 +++--- Makefile.hw | 3 - Makefile.target | 282 ++++++++++++++++++++++--------------------------------- configure | 260 ++++++++++++++------------------------------------- 4 files changed, 195 insertions(+), 376 deletions(-)