apply patch from MArk Elbrecht tpo update comment and copyright
[deliverable/binutils-gdb.git] / config-ml.in
index 03f20aef816d80d2e91c12ee105b21d5ae52a8a8..503f7cf1a182fa72d2ec7f88d8f16b6962d7f033 100644 (file)
 # We have to handle being invoked by both Cygnus configure and Autoconf.
 #
 # Cygnus configure incoming variables:
-# srcdir, subdir, target, arguments
+# srcdir, subdir, host, arguments
 #
 # Autoconf incoming variables:
-# srcdir, target, ac_configure_args
+# srcdir, host, ac_configure_args
 #
-# We *could* figure srcdir and target out, but we'd have to do work that
+# We *could* figure srcdir and host out, but we'd have to do work that
 # our caller has already done to figure them out and requiring these two
 # seems reasonable.
+# Note that `host' in this case is GCC's `target'.  Target libraries are
+# configured for a particular host.
 
 if [ -n "${ac_configure_args}" ]; then
   Makefile=${ac_file-Makefile}
@@ -99,6 +101,7 @@ fi
 
 # Scan all the arguments and set all the ones we need.
 
+ml_verbose=--verbose
 for option in ${ml_arguments}
 do
   case $option in
@@ -128,6 +131,9 @@ do
   --norecursion | --no*)
        ml_norecursion=yes
        ;;
+  --silent | --sil* | --quiet | --q*)
+       ml_verbose=--silent
+       ;;
   --verbose | --v | --verb*)
        ml_verbose=--verbose
        ;;
@@ -200,36 +206,65 @@ for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
   fi
 done
 
-case "${target}" in
-# start-sanitize-arc
-arc-sbp-elf*)
+# Target libraries are configured for the host they run on, so we check
+# $host here, not $target.
+
+case "${host}" in
+arc-*-elf*)
        if [ x$enable_biendian != xyes ]
        then
          old_multidirs=${multidirs}
-         multidirs=
+         multidirs=""
          for x in ${old_multidirs}; do
            case "${x}" in
-             *be*) ;;
-             *) if [ x"$multidirs" = x ]; then
-                  multidirs="$x";
-                else
-                  multidirs="${multidirs} ${x}"; 
-                fi
-                ;;
+             *be*) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
        ;;
-# end-sanitize-arc
-mips*-*-*)
-       if [ x$enable_single_float = xno ]
+arm-*-*)
+       if [ x"$enable_fpu" = xno ]
        then
-         old_multidirs="${multidirs}"
+         old_multidirs=${multidirs}
          multidirs=""
          for x in ${old_multidirs}; do
-           case "$x" in
-             *single* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+           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
@@ -239,12 +274,14 @@ mips*-*-*)
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *el* ) : ;;
-             *eb* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *le* ) : ;;
+             *be* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
+       ;;
+m68*-*-*)
        if [ x$enable_softfloat = xno ]
        then
          old_multidirs="${multidirs}"
@@ -252,97 +289,133 @@ mips*-*-*)
          for x in ${old_multidirs}; do
            case "$x" in
              *soft-float* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       if [ x$enable_m68881 = xno ]
+       then
+         old_multidirs="${multidirs}"
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "$x" in
+             *m68881* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       if [ x$enable_m68000 = xno ]
+       then
+         old_multidirs="${multidirs}"
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "$x" in
+             *m68000* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
+           esac
+         done
+       fi
+       if [ x$enable_m68020 = xno ]
+       then
+         old_multidirs="${multidirs}"
+         multidirs=""
+         for x in ${old_multidirs}; do
+           case "$x" in
+             *m68020* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
        ;;
-powerpc*-*-* | rs6000*-*-*)
-       if [ x$enable_softfloat = xno ]
+mips*-*-*)
+       if [ x$enable_single_float = xno ]
        then
          old_multidirs="${multidirs}"
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *soft-float* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *single* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
-       if [ x$enable_commoncpu = xno ]
+       if [ x$enable_biendian = xno ]
        then
          old_multidirs="${multidirs}"
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *common* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *el* ) : ;;
+             *eb* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
-       if [ x$enable_powercpu = xno ]
+       if [ x$enable_softfloat = xno ]
        then
          old_multidirs="${multidirs}"
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             power | */power | */power/* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *soft-float* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
-       if [ x$enable_power2cpu = xno ]
+       ;;
+powerpc*-*-* | rs6000*-*-*)
+       if [ x$enable_softfloat = xno ]
        then
          old_multidirs="${multidirs}"
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *power2* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *soft-float* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
-       if [ x$enable_powerpccpu = xno ]
+       if [ x$enable_powercpu = xno ]
        then
          old_multidirs="${multidirs}"
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *powerpc* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             power | */power | */power/* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
-       if [ x$enable_601cpu = xno ]
+       if [ x$enable_powerpccpu = xno ]
        then
          old_multidirs="${multidirs}"
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *601* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *powerpc* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
-       if [ x$enable_biendian = xno ]
+       if [ x$enable_powerpcos = xno ]
        then
          old_multidirs="${multidirs}"
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *endian* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *mcall-linux* | *mcall-solaris* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
-       if [ x$enable_relocatable = xno ]
+       if [ x$enable_biendian = xno ]
        then
          old_multidirs="${multidirs}"
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *relocatable* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *mlittle* | *mbig* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
@@ -352,8 +425,8 @@ powerpc*-*-* | rs6000*-*-*)
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *sysv* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *mcall-sysv* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
@@ -363,14 +436,18 @@ powerpc*-*-* | rs6000*-*-*)
          multidirs=""
          for x in ${old_multidirs}; do
            case "$x" in
-             *aix* ) : ;;
-             *) if [ x"$multidirs" = x ]; then multidirs="$x"; else multidirs="${multidirs} ${x}"; fi ;;
+             *mcall-aix* ) : ;;
+             *) multidirs="${multidirs} ${x}" ;;
            esac
          done
        fi
        ;;
 esac
 
+# Remove extraneous blanks from multidirs.
+# Tests like `if [ -n "$multidirs" ]' require it.
+multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
+
 # Add code to library's top level makefile to handle building the multilib
 # subdirs.
 
@@ -398,6 +475,7 @@ multi-do:
                                CXXFLAGS="$(CXXFLAGS) $${flags}" \
                                LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
                                LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
+                               LDFLAGS="$(LDFLAGS) $${flags}" \
                                $(DO)); then \
                  true; \
                else \
@@ -553,6 +631,13 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
       fi
       (cd ${ml_dir}/${ml_libdir};
        ../${dotdot}${ml_unsubdir}symlink-tree ../${dotdot}${ml_unsubdir}${ml_libdir} "")
+      if [ -f ${ml_dir}/${ml_libdir}/Makefile ]; then
+       if [ x"${MAKE}" = x ]; then
+         (cd ${ml_dir}/${ml_libdir}; make distclean)
+       else
+         (cd ${ml_dir}/${ml_libdir}; ${MAKE} distclean)
+       fi
+      fi
       ml_newsrcdir="."
       ml_srcdiroption=
       multisrctop=${dotdot}
This page took 0.027138 seconds and 4 git commands to generate.