From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jyv9C-0004RG-4O for qemu-devel@nongnu.org; Wed, 21 May 2008 16:42:54 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jyv9A-0004Qx-Fq for qemu-devel@nongnu.org; Wed, 21 May 2008 16:42:53 -0400 Received: from [199.232.76.173] (port=46914 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jyv9A-0004Qu-A3 for qemu-devel@nongnu.org; Wed, 21 May 2008 16:42:52 -0400 Received: from e2.ny.us.ibm.com ([32.97.182.142]:40401) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jyv9A-00029Y-0p for qemu-devel@nongnu.org; Wed, 21 May 2008 16:42:52 -0400 Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by e2.ny.us.ibm.com (8.13.8/8.13.8) with ESMTP id m4LKf4QD003602 for ; Wed, 21 May 2008 16:41:04 -0400 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay02.pok.ibm.com (8.13.8/8.13.8/NCO v8.7) with ESMTP id m4LKf4QD143456 for ; Wed, 21 May 2008 16:41:04 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m4LKf4mo003929 for ; Wed, 21 May 2008 16:41:04 -0400 From: Anthony Liguori Date: Wed, 21 May 2008 15:40:59 -0500 Message-Id: <1211402459-28540-1-git-send-email-aliguori@us.ibm.com> Subject: [Qemu-devel] [PATCH] Don't require GCC3 unless necessary Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori , Paul Brook Now that i386, x86_64, and arm are converted to TCG, we should not insist on requiring GCC3 unless we're building a target that still requires dyngen. If we're using some targets that do require GCC3 and some that don't, always use GCC3 to ensure a consistent build. Signed-off-by: Anthony Liguori diff --git a/Makefile b/Makefile index 5bf9bbd..6505f0e 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,11 @@ LIBS+=$(AIOLIBS) all: $(TOOLS) $(DOCS) recurse-all -subdir-%: dyngen$(EXESUF) libqemu_common.a +ifeq ($(CONFIG_DYNGEN), yes) +SUBDIR_DEP=dyngen$(EXESUF) +endif + +subdir-%: $(SUBDIR_DEP) libqemu_common.a $(MAKE) -C $(subst subdir-,,$@) all recurse-all: $(patsubst %,subdir-%, $(TARGET_DIRS)) diff --git a/configure b/configure index 6b84f20..68ae4a9 100755 --- a/configure +++ b/configure @@ -461,6 +461,37 @@ if test "$mingw32" = "yes" ; then oss="no" fi +# If --target-list isn't specified, we need dyngen +if [ "$target_list" == "" ]; then + dyngen="yes" +else + dyngen="no" +fi + +# Check if any targets require dyngen +for target in $target_list; do + target_cpu=`echo $target | cut -d '-' -f 1` + [ "$target_cpu" = "alpha" ] && dyngen="yes" + [ "$target_cpu" = "m68k" ] && dyngen="yes" + [ "$target_cpu" = "mips" ] && dyngen="yes" + [ "$target_cpu" = "mipsel" ] && dyngen="yes" + [ "$target_cpu" = "mipsn32" ] && dyngen="yes" + [ "$target_cpu" = "mipsn32el" ] && dyngen="yes" + [ "$target_cpu" = "mips64" ] && dyngen="yes" + [ "$target_cpu" = "mips64el" ] && dyngen="yes" + [ "$target_cpu" = "ppc" ] && dyngen="yes" + [ "$target_cpu" = "ppcemb" ] && dyngen="yes" + [ "$target_cpu" = "ppc64" ] && dyngen="yes" + [ "$target_cpu" = "ppc64abi32" ] && dyngen="yes" + [ "$target_cpu" = "sh4" ] && dyngen="yes" + [ "$target_cpu" = "she4eb" ] && dyngen="yes" +done + +# If no targets require dyngen, use default CC instead of gcc3 +if [ "$dyngen" = "no" ]; then + check_gcc="no" +fi + # Check for gcc4, error if pre-gcc4 if test "$check_gcc" = "yes" ; then cat > $TMPC <> $config_mak echo "LDFLAGS=$LDFLAGS" >> $config_mak echo "EXESUF=$EXESUF" >> $config_mak echo "AIOLIBS=$AIOLIBS" >> $config_mak +echo "CONFIG_DYNGEN=$dyngen" >> $config_mak case "$cpu" in i386) echo "ARCH=i386" >> $config_mak @@ -1200,11 +1232,12 @@ case "$target_cpu" in echo "#define USE_KQEMU 1" >> $config_h fi gcc3minver=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.` - if test -n "$gcc3minver" -a $gcc3minver -gt 3 - then - echo "HAVE_GT_GCC_3_3=true" >> $config_mak - else - echo "HAVE_GT_GCC_3_3=false" >> $config_mak + if test -n "$gcc3minver" ; then + if test -a "$gcc3minver" -gt 3 ; then + echo "HAVE_GT_GCC_3_3=true" >> $config_mak + else + echo "HAVE_GT_GCC_3_3=false" >> $config_mak + fi fi ;; x86_64)