[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] Check for gcc3 only if compiling dyngen targets
From: |
Hervé Poussineau |
Subject: |
[Qemu-devel] [PATCH] Check for gcc3 only if compiling dyngen targets |
Date: |
Fri, 22 Aug 2008 19:45:44 +0200 |
User-agent: |
Thunderbird 2.0.0.16 (Windows/20080708) |
Hi,
If no configured target needs dyngen, gcc3.x is not required. Currently,
you have to explicitly pass --disable-gcc-check flag to allow compilation.
Attached patch removes gcc check if no selected target needs dyngen.
I had to move gcc4 detection later in the configure script
Hervé
Index: configure
===================================================================
--- configure (revision 5030)
+++ configure (working copy)
@@ -468,40 +468,6 @@
oss="no"
fi
-# Check for gcc4, error if pre-gcc4
-if test "$check_gcc" = "yes" ; then
- cat > $TMPC <<EOF
-#if __GNUC__ < 4
-#error gcc3
-#endif
-int main(){return 0;}
-EOF
- if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
- echo "WARNING: \"$cc\" looks like gcc 4.x"
- found_compat_cc="no"
- if test "$gcc3_search" = "yes" ; then
- echo "Looking for gcc 3.x"
- for compat_cc in $gcc3_list ; do
- if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep
'(GCC) 3.' > /dev/null 2>&1 ; then
- echo "Found \"$compat_cc\""
- cc="$cross_prefix$compat_cc"
- found_compat_cc="yes"
- break
- fi
- done
- if test "$found_compat_cc" = "no" ; then
- echo "gcc 3.x not found!"
- fi
- fi
- if test "$found_compat_cc" = "no" ; then
- echo "QEMU is known to have problems when compiled with gcc 4.x"
- echo "It is recommended that you use gcc 3.x to build QEMU"
- echo "To use this compiler anyway, configure with
--disable-gcc-check"
- exit 1;
- fi
- fi
-fi
-
#
# Solaris specific configure tool chain decisions
#
@@ -1305,6 +1271,7 @@
bflt="no"
elfload32="no"
target_nptl="no"
+requires_gcc3="no"
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
@@ -1341,6 +1308,7 @@
echo "#define TARGET_ARCH \"alpha\"" >> $config_h
echo "#define TARGET_ALPHA 1" >> $config_h
echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
+ requires_gcc3="yes"
;;
arm|armeb)
echo "TARGET_ARCH=arm" >> $config_mak
@@ -1385,6 +1353,7 @@
echo "#define TARGET_ARCH \"ppc\"" >> $config_h
echo "#define TARGET_PPC 1" >> $config_h
echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
+ requires_gcc3="yes"
;;
ppcemb)
echo "TARGET_ARCH=ppcemb" >> $config_mak
@@ -1394,6 +1363,7 @@
echo "#define TARGET_PPC 1" >> $config_h
echo "#define TARGET_PPCEMB 1" >> $config_h
echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
+ requires_gcc3="yes"
;;
ppc64)
echo "TARGET_ARCH=ppc64" >> $config_mak
@@ -1403,6 +1373,7 @@
echo "#define TARGET_PPC 1" >> $config_h
echo "#define TARGET_PPC64 1" >> $config_h
echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
+ requires_gcc3="yes"
;;
ppc64abi32)
echo "TARGET_ARCH=ppc64" >> $config_mak
@@ -1414,6 +1385,7 @@
echo "#define TARGET_PPC64 1" >> $config_h
echo "#define TARGET_ABI32 1" >> $config_h
echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
+ requires_gcc3="yes"
;;
sh4|sh4eb)
echo "TARGET_ARCH=sh4" >> $config_mak
@@ -1422,6 +1394,7 @@
echo "#define TARGET_SH4 1" >> $config_h
echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
bflt="yes"
+ requires_gcc3="yes"
;;
sparc)
echo "TARGET_ARCH=sparc" >> $config_mak
@@ -1503,6 +1476,44 @@
done # for target in $targets
+if test "$requires_gcc3" = "no" ; then
+ check_gcc="no"
+fi
+
+# Check for gcc4, error if pre-gcc4
+if test "$check_gcc" = "yes" ; then
+ cat > $TMPC <<EOF
+#if __GNUC__ < 4
+#error gcc3
+#endif
+int main(){return 0;}
+EOF
+ if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
+ echo "WARNING: \"$cc\" looks like gcc 4.x"
+ found_compat_cc="no"
+ if test "$gcc3_search" = "yes" ; then
+ echo "Looking for gcc 3.x"
+ for compat_cc in $gcc3_list ; do
+ if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep
'(GCC) 3.' > /dev/null 2>&1 ; then
+ echo "Found \"$compat_cc\""
+ cc="$cross_prefix$compat_cc"
+ found_compat_cc="yes"
+ break
+ fi
+ done
+ if test "$found_compat_cc" = "no" ; then
+ echo "gcc 3.x not found!"
+ fi
+ fi
+ if test "$found_compat_cc" = "no" ; then
+ echo "QEMU is known to have problems when compiled with gcc 4.x"
+ echo "It is recommended that you use gcc 3.x to build QEMU"
+ echo "To use this compiler anyway, configure with
--disable-gcc-check"
+ exit 1;
+ fi
+ fi
+fi
+
# build tree in object directory if source path is different from current one
if test "$source_path_used" = "yes" ; then
DIRS="tests tests/cris slirp audio"
- [Qemu-devel] [PATCH] Check for gcc3 only if compiling dyngen targets,
Hervé Poussineau <=