OSDN Git Service

* resource.c (mark_target_live_regs): For unconditional branches,
[pf3gnuchains/gcc-fork.git] / config-ml.in
index ed8b1ed..1151108 100644 (file)
@@ -218,6 +218,75 @@ arc-*-elf*)
          done
        fi
        ;;
+arm-*-*)
+       if [ x"$enable_fpu" = xno ]
+       then
+         old_multidirs=${multidirs}
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "${x}" in
+             *fpu*) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       if [ x"$enable_26bit" = xno ]
+       then
+         old_multidirs=${multidirs}
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "${x}" in
+             *26bit*) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       if [ x"$enable_underscore" = xno ]
+       then
+         old_multidirs=${multidirs}
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "${x}" in
+             *under*) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       if [ x"$enable_interwork" = xno ]
+       then
+         old_multidirs=${multidirs}
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "${x}" in
+             *interwork*) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       if [ x$enable_biendian = xno ]
+       then
+         old_multidirs="${multidirs}"
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "$x" in
+             *le* ) : ;;
+             *be* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       if [ x"$enable_nofmult" = xno ]
+       then
+         old_multidirs="${multidirs}"
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "$x" in
+             *nofmult* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       ;;
 m68*-*-*)
        if [ x$enable_softfloat = xno ]
        then
@@ -627,7 +696,18 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
     if [ -f ${ml_newsrcdir}/configure ]; then
       ml_recprog=${ml_newsrcdir}/configure
     fi
-    if eval ${ml_config_shell} ${ml_recprog} \
+
+    # find compiler flag corresponding to ${ml_dir}
+    for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do 
+      dir=`echo $i | sed -e 's/;.*$//'`
+      if [ "${dir}" = "${ml_dir}" ]; then
+        flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`
+        break
+      fi
+    done
+    ml_config_env='CC="${CC} $flags"'
+
+    if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
        --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
        ${ml_arguments} ${ml_srcdiroption} ; then
       true