| # Configure fragment invoked in the post-target section for subdirs | 
 | # wanting multilib support. | 
 | # | 
 | # Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, | 
 | # 2005, 2006, 2007, 2008, 2010, 2011, 2014 Free Software Foundation, Inc. | 
 | # | 
 | # This file is free software; you can redistribute it and/or modify | 
 | # it under the terms of the GNU General Public License as published by | 
 | # the Free Software Foundation; either version 2 of the License, or | 
 | # (at your option) any later version. | 
 | # | 
 | # This program is distributed in the hope that it will be useful, | 
 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 | # GNU General Public License for more details. | 
 | # | 
 | # You should have received a copy of the GNU General Public License | 
 | # along with this program; if not, write to the Free Software | 
 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, | 
 | # Boston, MA 02110-1301, USA. | 
 | # | 
 | # As a special exception to the GNU General Public License, if you | 
 | # distribute this file as part of a program that contains a | 
 | # configuration script generated by Autoconf, you may include it under | 
 | # the same distribution terms that you use for the rest of that program. | 
 | # | 
 | # Please report bugs to <gcc-bugs@gnu.org> | 
 | # and send patches to <gcc-patches@gnu.org>. | 
 |  | 
 | # It is advisable to support a few --enable/--disable options to let the | 
 | # user select which libraries s/he really wants. | 
 | # | 
 | # Subdirectories wishing to use multilib should put the following lines | 
 | # in the "post-target" section of configure.ac. | 
 | # | 
 | # if [ "${srcdir}" = "." ] ; then | 
 | #   if [ "${with_target_subdir}" != "." ] ; then | 
 | #     . ${with_multisrctop}../../config-ml.in | 
 | #   else | 
 | #     . ${with_multisrctop}../config-ml.in | 
 | #   fi | 
 | # else | 
 | #   . ${srcdir}/../config-ml.in | 
 | # fi | 
 | # | 
 | # | 
 | # Things are complicated because 6 separate cases must be handled: | 
 | # 2 (native, cross) x 3 (absolute-path, relative-not-dot, dot) = 6. | 
 | # | 
 | # srcdir=. is special.  It must handle make programs that don't handle VPATH. | 
 | # To implement this, a symlink tree is built for each library and for each | 
 | # multilib subdir. | 
 | # | 
 | # The build tree is layed out as | 
 | # | 
 | # ./ | 
 | #   newlib | 
 | #   m68020/ | 
 | #          newlib | 
 | #          m68881/ | 
 | #                 newlib | 
 | # | 
 | # The nice feature about this arrangement is that inter-library references | 
 | # in the build tree work without having to care where you are.  Note that | 
 | # inter-library references also work in the source tree because symlink trees | 
 | # are built when srcdir=. | 
 | # | 
 | # Unfortunately, trying to access the libraries in the build tree requires | 
 | # the user to manually choose which library to use as GCC won't be able to | 
 | # find the right one.  This is viewed as the lesser of two evils. | 
 | # | 
 | # Configure variables: | 
 | # ${with_target_subdir} = "." for native, or ${target_alias} for cross. | 
 | # Set by top level Makefile. | 
 | # ${with_multisrctop} = how many levels of multilibs there are in the source | 
 | # tree.  It exists to handle the case of configuring in the source tree: | 
 | # ${srcdir} is not constant. | 
 | # ${with_multisubdir} = name of multilib subdirectory (eg: m68020/m68881). | 
 | # | 
 | # Makefile variables: | 
 | # MULTISRCTOP = number of multilib levels in source tree (+1 if cross) | 
 | # (FIXME: note that this is different than ${with_multisrctop}.  Check out.). | 
 | # MULTIBUILDTOP = number of multilib levels in build tree | 
 | # MULTIDIRS = list of multilib subdirs (eg: m68000 m68020 ...) | 
 | # (only defined in each library's main Makefile). | 
 | # MULTISUBDIR = installed subdirectory name with leading '/' (eg: /m68000) | 
 | # (only defined in each multilib subdir). | 
 |  | 
 | # FIXME: Multilib is currently disabled by default for everything other than | 
 | # newlib.  It is up to each target to turn on multilib support for the other | 
 | # libraries as desired. | 
 |  | 
 | # Autoconf incoming variables: | 
 | # srcdir, host, ac_configure_args | 
 | # | 
 | # 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. | 
 |  | 
 | Makefile=${ac_file-Makefile} | 
 | ml_config_shell=${CONFIG_SHELL-/bin/sh} | 
 | ml_realsrcdir=${srcdir} | 
 |  | 
 | # Scan all the arguments and set all the ones we need. | 
 |  | 
 | scan_arguments () | 
 | { | 
 |   ml_verbose=--verbose | 
 |   for option | 
 |   do | 
 |     # Strip single quotes surrounding individual options, that is, remove one | 
 |     # level of shell quoting for these. | 
 |     case $option in | 
 |       \'*\') eval option=$option ;; | 
 |     esac | 
 |  | 
 |     case $option in | 
 |       --*) ;; | 
 |       -*) option=-$option ;; | 
 |     esac | 
 |  | 
 |     case $option in | 
 |       --*=*) | 
 | 	optarg=`echo $option | sed -e 's/^[^=]*=//'` | 
 | 	;; | 
 |     esac | 
 |  | 
 |     case $option in | 
 |       --disable-*) | 
 | 	enableopt=`echo ${option} | sed 's:^--disable-:enable_:;s:-:_:g'` | 
 | 	eval $enableopt=no | 
 | 	;; | 
 |       --enable-*) | 
 | 	case "$option" in | 
 | 	*=*)	;; | 
 | 	*)	optarg=yes ;; | 
 | 	esac | 
 | 	enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'` | 
 | 	# enable_shared and enable_static are handled by configure. | 
 | 	# Don't undo its work. | 
 | 	case $enableopt in | 
 | 	enable_shared | enable_static) ;; | 
 | 	*) eval $enableopt='$optarg' ;; | 
 | 	esac | 
 | 	;; | 
 |       --norecursion | --no-recursion) | 
 | 	ml_norecursion=yes | 
 | 	;; | 
 |       --silent | --sil* | --quiet | --q*) | 
 | 	ml_verbose=--silent | 
 | 	;; | 
 |       --verbose | --v | --verb*) | 
 | 	ml_verbose=--verbose | 
 | 	;; | 
 |       --with-*) | 
 | 	case "$option" in | 
 | 	*=*)	;; | 
 | 	*)	optarg=yes ;; | 
 | 	esac | 
 | 	withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'` | 
 | 	eval $withopt='$optarg' | 
 | 	;; | 
 |       --without-*) | 
 | 	withopt=`echo ${option} | sed 's:^--::;s:out::;s:-:_:g'` | 
 | 	eval $withopt=no | 
 | 	;; | 
 |     esac | 
 |   done | 
 | } | 
 | # Use eval to properly handle configure arguments such as | 
 | # --enable-foo='--enable-a=1 --enable-b=2 --enable-c=3'. | 
 | eval scan_arguments "${ac_configure_args}" | 
 | unset scan_arguments | 
 |  | 
 | # Only do this if --enable-multilib. | 
 | if [ "${enable_multilib}" = yes ]; then | 
 |  | 
 | # Compute whether this is the library's top level directory | 
 | # (ie: not a multilib subdirectory, and not a subdirectory like newlib/src). | 
 | # ${with_multisubdir} tells us we're in the right branch, but we could be | 
 | # in a subdir of that. | 
 | # ??? The previous version could void this test by separating the process into | 
 | # two files: one that only the library's toplevel configure.ac ran (to | 
 | # configure the multilib subdirs), and another that all configure.ac's ran to | 
 | # update the Makefile.  It seemed reasonable to collapse all multilib support | 
 | # into one file, but it does leave us with having to perform this test. | 
 | ml_toplevel_p=no | 
 | if [ -z "${with_multisubdir}" ]; then | 
 |   if [ "${srcdir}" = "." ]; then | 
 |     # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}. | 
 |     # ${with_target_subdir} = "." for native, otherwise target alias. | 
 |     if [ "${with_target_subdir}" = "." ]; then | 
 |       if [ -f ${ml_realsrcdir}/../config-ml.in ]; then | 
 | 	ml_toplevel_p=yes | 
 |       fi | 
 |     else | 
 |       if [ -f ${ml_realsrcdir}/../../config-ml.in ]; then | 
 | 	ml_toplevel_p=yes | 
 |       fi | 
 |     fi | 
 |   else | 
 |     # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}. | 
 |     if [ -f ${ml_realsrcdir}/../config-ml.in ]; then | 
 |       ml_toplevel_p=yes | 
 |     fi | 
 |   fi | 
 | fi | 
 |  | 
 | # If this is the library's top level directory, set multidirs to the | 
 | # multilib subdirs to support.  This lives at the top because we need | 
 | # `multidirs' set right away. | 
 |  | 
 | if [ "${ml_toplevel_p}" = yes ]; then | 
 |  | 
 | multidirs= | 
 | for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do | 
 |   dir=`echo $i | sed -e 's/;.*$//'` | 
 |   if [ "${dir}" = "." ]; then | 
 |     true | 
 |   else | 
 |     if [ -z "${multidirs}" ]; then | 
 |       multidirs="${dir}" | 
 |     else | 
 |       multidirs="${multidirs} ${dir}" | 
 |     fi | 
 |   fi | 
 | done | 
 |  | 
 | # Target libraries are configured for the host they run on, so we check | 
 | # $host here, not $target. | 
 |  | 
 | case "${host}" in | 
 | 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 | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      *soft-float* ) : ;; | 
 | 	      *) 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 | 
 | 	;; | 
 | mips*-*-*) | 
 | 	if [ x$enable_single_float = xno ] | 
 | 	then | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      *single* ) : ;; | 
 | 	      *) 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 | 
 | 	      *el* ) : ;; | 
 | 	      *eb* ) : ;; | 
 | 	      *) multidirs="${multidirs} ${x}" ;; | 
 | 	    esac | 
 | 	  done | 
 | 	fi | 
 | 	if [ x$enable_softfloat = xno ] | 
 | 	then | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      *soft-float* ) : ;; | 
 | 	      *) multidirs="${multidirs} ${x}" ;; | 
 | 	    esac | 
 | 	  done | 
 | 	fi | 
 | 	;; | 
 | powerpc*-*-* | rs6000*-*-*) | 
 | 	if [ x$enable_aix64 = xno ] | 
 | 	then | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      *ppc64* ) : ;; | 
 | 	      *) multidirs="${multidirs} ${x}" ;; | 
 | 	    esac | 
 | 	  done | 
 | 	fi | 
 | 	if [ x$enable_pthread = xno ] | 
 | 	then | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      *pthread* ) : ;; | 
 | 	      *) multidirs="${multidirs} ${x}" ;; | 
 | 	    esac | 
 | 	  done | 
 | 	fi | 
 | 	if [ x$enable_softfloat = xno ] | 
 | 	then | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      *soft-float* ) : ;; | 
 | 	      *) multidirs="${multidirs} ${x}" ;; | 
 | 	    esac | 
 | 	  done | 
 | 	fi | 
 | 	if [ x$enable_powercpu = xno ] | 
 | 	then | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      power | */power | */power/* ) : ;; | 
 | 	      *) multidirs="${multidirs} ${x}" ;; | 
 | 	    esac | 
 | 	  done | 
 | 	fi | 
 | 	if [ x$enable_powerpccpu = xno ] | 
 | 	then | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      *powerpc* ) : ;; | 
 | 	      *) multidirs="${multidirs} ${x}" ;; | 
 | 	    esac | 
 | 	  done | 
 | 	fi | 
 | 	if [ x$enable_powerpcos = xno ] | 
 | 	then | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      *mcall-linux* | *mcall-solaris* ) : ;; | 
 | 	      *) 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 | 
 | 	      *mlittle* | *mbig* ) : ;; | 
 | 	      *) multidirs="${multidirs} ${x}" ;; | 
 | 	    esac | 
 | 	  done | 
 | 	fi | 
 | 	if [ x$enable_sysv = xno ] | 
 | 	then | 
 | 	  old_multidirs="${multidirs}" | 
 | 	  multidirs="" | 
 | 	  for x in ${old_multidirs}; do | 
 | 	    case "$x" in | 
 | 	      *mcall-sysv* ) : ;; | 
 | 	      *) 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. | 
 |  | 
 | cat > Multi.tem <<\EOF | 
 |  | 
 | PWD_COMMAND=$${PWDCMD-pwd} | 
 |  | 
 | # FIXME: There should be an @-sign in front of the `if'. | 
 | # Leave out until this is tested a bit more. | 
 | multi-do: | 
 | 	if [ -z "$(MULTIDIRS)" ]; then \ | 
 | 	  true; \ | 
 | 	else \ | 
 | 	  rootpre=`${PWD_COMMAND}`/; export rootpre; \ | 
 | 	  srcrootpre=`cd $(srcdir); ${PWD_COMMAND}`/; export srcrootpre; \ | 
 | 	  lib=`echo "$${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \ | 
 | 	  compiler="$(CC)"; \ | 
 | 	  for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \ | 
 | 	    dir=`echo $$i | sed -e 's/;.*$$//'`; \ | 
 | 	    if [ "$${dir}" = "." ]; then \ | 
 | 	      true; \ | 
 | 	    else \ | 
 | 	      if [ -d ../$${dir}/$${lib} ]; then \ | 
 | 		flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ | 
 | 		if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \ | 
 | 				CFLAGS="$(CFLAGS) $${flags}" \ | 
 | 				CCASFLAGS="$(CCASFLAGS) $${flags}" \ | 
 | 				FCFLAGS="$(FCFLAGS) $${flags}" \ | 
 | 				FFLAGS="$(FFLAGS) $${flags}" \ | 
 | 				ADAFLAGS="$(ADAFLAGS) $${flags}" \ | 
 | 				prefix="$(prefix)" \ | 
 | 				exec_prefix="$(exec_prefix)" \ | 
 | 				GOCFLAGS="$(GOCFLAGS) $${flags}" \ | 
 | 				CXXFLAGS="$(CXXFLAGS) $${flags}" \ | 
 | 				LIBCFLAGS="$(LIBCFLAGS) $${flags}" \ | 
 | 				LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \ | 
 | 				LDFLAGS="$(LDFLAGS) $${flags}" \ | 
 | 				MULTIFLAGS="$${flags}" \ | 
 | 				DESTDIR="$(DESTDIR)" \ | 
 | 				INSTALL="$(INSTALL)" \ | 
 | 				INSTALL_DATA="$(INSTALL_DATA)" \ | 
 | 				INSTALL_PROGRAM="$(INSTALL_PROGRAM)" \ | 
 | 				INSTALL_SCRIPT="$(INSTALL_SCRIPT)" \ | 
 | 				$(DO)); then \ | 
 | 		  true; \ | 
 | 		else \ | 
 | 		  exit 1; \ | 
 | 		fi; \ | 
 | 	      else true; \ | 
 | 	      fi; \ | 
 | 	    fi; \ | 
 | 	  done; \ | 
 | 	fi | 
 |  | 
 | # FIXME: There should be an @-sign in front of the `if'. | 
 | # Leave out until this is tested a bit more. | 
 | multi-clean: | 
 | 	if [ -z "$(MULTIDIRS)" ]; then \ | 
 | 	  true; \ | 
 | 	else \ | 
 | 	  lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \ | 
 | 	  for dir in : $(MULTIDIRS); do \ | 
 | 	    test $$dir != : || continue; \ | 
 | EOF | 
 | cat >>Multi.tem <<EOF | 
 | 	    if [ -f ../\$\${dir}/\$\${lib}/${Makefile} ]; then \\ | 
 | EOF | 
 | cat >>Multi.tem <<\EOF | 
 | 	      if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \ | 
 | 	      then true; \ | 
 | 	      else exit 1; \ | 
 | 	      fi; \ | 
 | 	    else true; \ | 
 | 	    fi; \ | 
 | 	  done; \ | 
 | 	fi | 
 | EOF | 
 |  | 
 | cat ${Makefile} Multi.tem > Makefile.tem | 
 | rm -f ${Makefile} Multi.tem | 
 | mv Makefile.tem ${Makefile} | 
 |  | 
 | fi # ${ml_toplevel_p} = yes | 
 |  | 
 | if [ "${ml_verbose}" = --verbose ]; then | 
 |   echo "Adding multilib support to ${Makefile} in ${ml_realsrcdir}" | 
 |   if [ "${ml_toplevel_p}" = yes ]; then | 
 |     echo "multidirs=${multidirs}" | 
 |   fi | 
 |   echo "with_multisubdir=${with_multisubdir}" | 
 | fi | 
 |  | 
 | if [ "${srcdir}" = "." ]; then | 
 |   if [ "${with_target_subdir}" != "." ]; then | 
 |     ml_srcdotdot="../" | 
 |   else | 
 |     ml_srcdotdot="" | 
 |   fi | 
 | else | 
 |   ml_srcdotdot="" | 
 | fi | 
 |  | 
 | if [ -z "${with_multisubdir}" ]; then | 
 |   ml_subdir= | 
 |   ml_builddotdot= | 
 |   : # ml_srcdotdot= # already set | 
 | else | 
 |   ml_subdir="/${with_multisubdir}" | 
 |   # The '[^/][^/]*' appears that way to work around a SunOS sed bug. | 
 |   ml_builddotdot=`echo ${with_multisubdir} | sed -e 's:[^/][^/]*:..:g'`/ | 
 |   if [ "$srcdir" = "." ]; then | 
 |     ml_srcdotdot=${ml_srcdotdot}${ml_builddotdot} | 
 |   else | 
 |     : # ml_srcdotdot= # already set | 
 |   fi | 
 | fi | 
 |  | 
 | if [ "${ml_toplevel_p}" = yes ]; then | 
 |   ml_do='$(MAKE)' | 
 |   ml_clean='$(MAKE)' | 
 | else | 
 |   ml_do=true | 
 |   ml_clean=true | 
 | fi | 
 |  | 
 | # TOP is used by newlib and should not be used elsewhere for this purpose. | 
 | # MULTI{SRC,BUILD}TOP are the proper ones to use.  MULTISRCTOP is empty | 
 | # when srcdir != builddir.  MULTIBUILDTOP is always some number of ../'s. | 
 | # FIXME: newlib needs to be updated to use MULTI{SRC,BUILD}TOP so we can | 
 | # delete TOP.  Newlib may wish to continue to use TOP for its own purposes | 
 | # of course. | 
 | # MULTIDIRS is non-empty for the cpu top level Makefile (eg: newlib/Makefile) | 
 | # and lists the subdirectories to recurse into. | 
 | # MULTISUBDIR is non-empty in each cpu subdirectory's Makefile | 
 | # (eg: newlib/h8300h/Makefile) and is the installed subdirectory name with | 
 | # a leading '/'. | 
 | # MULTIDO is used for targets like all, install, and check where | 
 | # $(FLAGS_TO_PASS) augmented with the subdir's compiler option is needed. | 
 | # MULTICLEAN is used for the *clean targets. | 
 | # | 
 | # ??? It is possible to merge MULTIDO and MULTICLEAN into one.  They are | 
 | # currently kept separate because we don't want the *clean targets to require | 
 | # the existence of the compiler (which MULTIDO currently requires) and | 
 | # therefore we'd have to record the directory options as well as names | 
 | # (currently we just record the names and use --print-multi-lib to get the | 
 | # options). | 
 |  | 
 | sed -e "s:^TOP[ 	]*=[ 	]*\([./]*\)[ 	]*$:TOP = ${ml_builddotdot}\1:" \ | 
 |     -e "s:^MULTISRCTOP[ 	]*=.*$:MULTISRCTOP = ${ml_srcdotdot}:" \ | 
 |     -e "s:^MULTIBUILDTOP[ 	]*=.*$:MULTIBUILDTOP = ${ml_builddotdot}:" \ | 
 |     -e "s:^MULTIDIRS[ 	]*=.*$:MULTIDIRS = ${multidirs}:" \ | 
 |     -e "s:^MULTISUBDIR[ 	]*=.*$:MULTISUBDIR = ${ml_subdir}:" \ | 
 |     -e "s:^MULTIDO[ 	]*=.*$:MULTIDO = $ml_do:" \ | 
 |     -e "s:^MULTICLEAN[ 	]*=.*$:MULTICLEAN = $ml_clean:" \ | 
 | 	${Makefile} > Makefile.tem | 
 | rm -f ${Makefile} | 
 | mv Makefile.tem ${Makefile} | 
 |  | 
 | # If this is the library's top level, configure each multilib subdir. | 
 | # This is done at the end because this is the loop that runs configure | 
 | # in each multilib subdir and it seemed reasonable to finish updating the | 
 | # Makefile before going on to configure the subdirs. | 
 |  | 
 | if [ "${ml_toplevel_p}" = yes ]; then | 
 |  | 
 | # We must freshly configure each subdirectory.  This bit of code is | 
 | # actually partially stolen from the main configure script.  FIXME. | 
 |  | 
 | if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then | 
 |  | 
 |   if [ "${ml_verbose}" = --verbose ]; then | 
 |     echo "Running configure in multilib subdirs ${multidirs}" | 
 |     echo "pwd: `${PWDCMD-pwd}`" | 
 |   fi | 
 |  | 
 |   ml_origdir=`${PWDCMD-pwd}` | 
 |   ml_libdir=`echo "$ml_origdir" | sed -e 's,^.*/,,'` | 
 |   # cd to top-level-build-dir/${with_target_subdir} | 
 |   cd .. | 
 |  | 
 |   for ml_dir in ${multidirs}; do | 
 |  | 
 |     if [ "${ml_verbose}" = --verbose ]; then | 
 |       echo "Running configure in multilib subdir ${ml_dir}" | 
 |       echo "pwd: `${PWDCMD-pwd}`" | 
 |     fi | 
 |  | 
 |     if [ -d ${ml_dir} ]; then true; else | 
 |       # ``mkdir -p ${ml_dir}'' See also mkinstalldirs. | 
 |       pathcomp="" | 
 |       for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`; do | 
 |         pathcomp="$pathcomp$d" | 
 |         case "$pathcomp" in | 
 |           -* ) pathcomp=./$pathcomp ;; | 
 |         esac | 
 |         if test ! -d "$pathcomp"; then | 
 |            echo "mkdir $pathcomp" 1>&2 | 
 |            mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$? | 
 |         fi | 
 |         if test ! -d "$pathcomp"; then | 
 | 	   exit $lasterr | 
 |         fi | 
 |         pathcomp="$pathcomp/" | 
 |       done | 
 |     fi | 
 |     if [ -d ${ml_dir}/${ml_libdir} ]; then true; else mkdir ${ml_dir}/${ml_libdir}; fi | 
 |  | 
 |     # Eg: if ${ml_dir} = m68000/m68881, dotdot = ../../ | 
 |     dotdot=../`echo ${ml_dir} | sed -e 's|[^/]||g' -e 's|/|../|g'` | 
 |  | 
 |     case ${srcdir} in | 
 |     ".") | 
 |       echo "Building symlink tree in `${PWDCMD-pwd}`/${ml_dir}/${ml_libdir}" | 
 |       if [ "${with_target_subdir}" != "." ]; then | 
 | 	ml_unsubdir="../" | 
 |       else | 
 | 	ml_unsubdir="" | 
 |       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} | 
 |       ;; | 
 |     *) | 
 |       case "${srcdir}" in | 
 |       /* | [A-Za-z]:[\\/]* ) # absolute path | 
 |         ml_newsrcdir=${srcdir} | 
 |         ;; | 
 |       *) # otherwise relative | 
 |         ml_newsrcdir=${dotdot}${srcdir} | 
 |         ;; | 
 |       esac | 
 |       ml_srcdiroption="-srcdir=${ml_newsrcdir}" | 
 |       multisrctop= | 
 |       ;; | 
 |     esac | 
 |  | 
 |     case "${progname}" in | 
 |     /* | [A-Za-z]:[\\/]* )     ml_recprog=${progname} ;; | 
 |     *)      ml_recprog=${dotdot}${progname} ;; | 
 |     esac | 
 |  | 
 |     # FIXME: POPDIR=${PWD=`pwd`} doesn't work here. | 
 |     ML_POPDIR=`${PWDCMD-pwd}` | 
 |     cd ${ml_dir}/${ml_libdir} | 
 |  | 
 |     if [ -f ${ml_newsrcdir}/configure ]; then | 
 |       ml_recprog="${ml_newsrcdir}/configure" | 
 |     fi | 
 |  | 
 |     # 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" CXX="${CXX_}$flags" F77="${F77_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"' | 
 |  | 
 |     if [ "${with_target_subdir}" = "." ]; then | 
 | 	CC_=$CC' ' | 
 | 	CXX_=$CXX' ' | 
 | 	F77_=$F77' ' | 
 | 	GFORTRAN_=$GFORTRAN' ' | 
 | 	GOC_=$GOC' ' | 
 |     else | 
 | 	# Create a regular expression that matches any string as long | 
 | 	# as ML_POPDIR. | 
 | 	popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'` | 
 | 	CC_= | 
 | 	for arg in ${CC}; do | 
 | 	  case $arg in | 
 | 	  -[BIL]"${ML_POPDIR}"/*) | 
 | 	    CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;; | 
 | 	  "${ML_POPDIR}"/*) | 
 | 	    CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; | 
 | 	  *) | 
 | 	    CC_="${CC_}${arg} " ;; | 
 | 	  esac | 
 | 	done | 
 |  | 
 | 	CXX_= | 
 | 	for arg in ${CXX}; do | 
 | 	  case $arg in | 
 | 	  -[BIL]"${ML_POPDIR}"/*) | 
 | 	    CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; | 
 | 	  "${ML_POPDIR}"/*) | 
 | 	    CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; | 
 | 	  *) | 
 | 	    CXX_="${CXX_}${arg} " ;; | 
 | 	  esac | 
 | 	done | 
 |  | 
 | 	F77_= | 
 | 	for arg in ${F77}; do | 
 | 	  case $arg in | 
 | 	  -[BIL]"${ML_POPDIR}"/*) | 
 | 	    F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; | 
 | 	  "${ML_POPDIR}"/*) | 
 | 	    F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; | 
 | 	  *) | 
 | 	    F77_="${F77_}${arg} " ;; | 
 | 	  esac | 
 | 	done | 
 |  | 
 | 	GFORTRAN_= | 
 | 	for arg in ${GFORTRAN}; do | 
 | 	  case $arg in | 
 | 	  -[BIL]"${ML_POPDIR}"/*) | 
 | 	    GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; | 
 | 	  "${ML_POPDIR}"/*) | 
 | 	    GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; | 
 | 	  *) | 
 | 	    GFORTRAN_="${GFORTRAN_}${arg} " ;; | 
 | 	  esac | 
 | 	done | 
 |  | 
 | 	GOC_= | 
 | 	for arg in ${GOC}; do | 
 | 	  case $arg in | 
 | 	  -[BIL]"${ML_POPDIR}"/*) | 
 | 	    GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; | 
 | 	  "${ML_POPDIR}"/*) | 
 | 	    GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; | 
 | 	  *) | 
 | 	    GOC_="${GOC_}${arg} " ;; | 
 | 	  esac | 
 | 	done | 
 |  | 
 | 	if test "x${LD_LIBRARY_PATH+set}" = xset; then | 
 | 	  LD_LIBRARY_PATH_= | 
 | 	  for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do | 
 | 	    case "$arg" in | 
 | 	    "${ML_POPDIR}"/*) | 
 | 	      arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"` | 
 | 	      ;; | 
 | 	    esac | 
 | 	    if test "x$LD_LIBRARY_PATH_" != x; then | 
 | 	      LD_LIBRARY_PATH_=$LD_LIBRARY_PATH_:$arg | 
 | 	    else | 
 | 	      LD_LIBRARY_PATH_=$arg | 
 | 	    fi | 
 |           done | 
 | 	  ml_config_env="$ml_config_env LD_LIBRARY_PATH=$LD_LIBRARY_PATH_" | 
 | 	fi | 
 |  | 
 | 	if test "x${SHLIB_PATH+set}" = xset; then | 
 | 	  SHLIB_PATH_= | 
 | 	  for arg in `echo "$SHLIB_PATH" | tr ':' ' '`; do | 
 | 	    case "$arg" in | 
 | 	    "${ML_POPDIR}"/*) | 
 | 	      arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"` | 
 | 	      ;; | 
 | 	    esac | 
 | 	    if test "x$SHLIB_PATH_" != x; then | 
 | 	      SHLIB_PATH_=$SHLIB_PATH_:$arg | 
 | 	    else | 
 | 	      SHLIB_PATH_=$arg | 
 | 	    fi | 
 |           done | 
 | 	  ml_config_env="$ml_config_env SHLIB_PATH=$SHLIB_PATH_" | 
 | 	fi | 
 |     fi | 
 |  | 
 |     if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \ | 
 | 	--with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \ | 
 | 	"${ac_configure_args}" ${ml_config_env} ${ml_srcdiroption} ; then | 
 |       true | 
 |     else | 
 |       exit 1 | 
 |     fi | 
 |  | 
 |     cd "${ML_POPDIR}" | 
 |  | 
 |   done | 
 |  | 
 |   cd "${ml_origdir}" | 
 | fi | 
 |  | 
 | fi # ${ml_toplevel_p} = yes | 
 | fi # ${enable_multilib} = yes |