xref: /openbsd/gnu/usr.bin/binutils/config-ml.in (revision 007c2a45)
1*007c2a45Smiod# Configure fragment invoked in the post-target section for subdirs
2*007c2a45Smiod# wanting multilib support.
3*007c2a45Smiod#
4*007c2a45Smiod# Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003
5*007c2a45Smiod#   Free Software Foundation, Inc.
6*007c2a45Smiod#
7*007c2a45Smiod# This file is free software; you can redistribute it and/or modify
8*007c2a45Smiod# it under the terms of the GNU General Public License as published by
9*007c2a45Smiod# the Free Software Foundation; either version 2 of the License, or
10*007c2a45Smiod# (at your option) any later version.
11*007c2a45Smiod#
12*007c2a45Smiod# This program is distributed in the hope that it will be useful,
13*007c2a45Smiod# but WITHOUT ANY WARRANTY; without even the implied warranty of
14*007c2a45Smiod# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*007c2a45Smiod# GNU General Public License for more details.
16*007c2a45Smiod#
17*007c2a45Smiod# You should have received a copy of the GNU General Public License
18*007c2a45Smiod# along with this program; if not, write to the Free Software
19*007c2a45Smiod# Foundation, Inc., 59 Temple Place - Suite 330,
20*007c2a45Smiod# Boston, MA 02111-1307, USA.
21*007c2a45Smiod#
22*007c2a45Smiod# As a special exception to the GNU General Public License, if you
23*007c2a45Smiod# distribute this file as part of a program that contains a
24*007c2a45Smiod# configuration script generated by Autoconf, you may include it under
25*007c2a45Smiod# the same distribution terms that you use for the rest of that program.
26*007c2a45Smiod#
27*007c2a45Smiod# Please report bugs to <gcc-bugs@gnu.org>
28*007c2a45Smiod# and send patches to <gcc-patches@gnu.org>.
29*007c2a45Smiod
30*007c2a45Smiod# It is advisable to support a few --enable/--disable options to let the
31*007c2a45Smiod# user select which libraries s/he really wants.
32*007c2a45Smiod#
33*007c2a45Smiod# Subdirectories wishing to use multilib should put the following lines
34*007c2a45Smiod# in the "post-target" section of configure.in.
35*007c2a45Smiod#
36*007c2a45Smiod# if [ "${srcdir}" = "." ] ; then
37*007c2a45Smiod#   if [ "${with_target_subdir}" != "." ] ; then
38*007c2a45Smiod#     . ${with_multisrctop}../../config-ml.in
39*007c2a45Smiod#   else
40*007c2a45Smiod#     . ${with_multisrctop}../config-ml.in
41*007c2a45Smiod#   fi
42*007c2a45Smiod# else
43*007c2a45Smiod#   . ${srcdir}/../config-ml.in
44*007c2a45Smiod# fi
45*007c2a45Smiod#
46*007c2a45Smiod#
47*007c2a45Smiod# Things are complicated because 6 separate cases must be handled:
48*007c2a45Smiod# 2 (native, cross) x 3 (absolute-path, relative-not-dot, dot) = 6.
49*007c2a45Smiod#
50*007c2a45Smiod# srcdir=. is special.  It must handle make programs that don't handle VPATH.
51*007c2a45Smiod# To implement this, a symlink tree is built for each library and for each
52*007c2a45Smiod# multilib subdir.
53*007c2a45Smiod#
54*007c2a45Smiod# The build tree is layed out as
55*007c2a45Smiod#
56*007c2a45Smiod# ./
57*007c2a45Smiod#   newlib
58*007c2a45Smiod#   m68020/
59*007c2a45Smiod#          newlib
60*007c2a45Smiod#          m68881/
61*007c2a45Smiod#                 newlib
62*007c2a45Smiod#
63*007c2a45Smiod# The nice feature about this arrangement is that inter-library references
64*007c2a45Smiod# in the build tree work without having to care where you are.  Note that
65*007c2a45Smiod# inter-library references also work in the source tree because symlink trees
66*007c2a45Smiod# are built when srcdir=.
67*007c2a45Smiod#
68*007c2a45Smiod# Unfortunately, trying to access the libraries in the build tree requires
69*007c2a45Smiod# the user to manually choose which library to use as GCC won't be able to
70*007c2a45Smiod# find the right one.  This is viewed as the lesser of two evils.
71*007c2a45Smiod#
72*007c2a45Smiod# Configure variables:
73*007c2a45Smiod# ${with_target_subdir} = "." for native, or ${target_alias} for cross.
74*007c2a45Smiod# Set by top level Makefile.
75*007c2a45Smiod# ${with_multisrctop} = how many levels of multilibs there are in the source
76*007c2a45Smiod# tree.  It exists to handle the case of configuring in the source tree:
77*007c2a45Smiod# ${srcdir} is not constant.
78*007c2a45Smiod# ${with_multisubdir} = name of multilib subdirectory (eg: m68020/m68881).
79*007c2a45Smiod#
80*007c2a45Smiod# Makefile variables:
81*007c2a45Smiod# MULTISRCTOP = number of multilib levels in source tree (+1 if cross)
82*007c2a45Smiod# (FIXME: note that this is different than ${with_multisrctop}.  Check out.).
83*007c2a45Smiod# MULTIBUILDTOP = number of multilib levels in build tree
84*007c2a45Smiod# MULTIDIRS = list of multilib subdirs (eg: m68000 m68020 ...)
85*007c2a45Smiod# (only defined in each library's main Makefile).
86*007c2a45Smiod# MULTISUBDIR = installed subdirectory name with leading '/' (eg: /m68000)
87*007c2a45Smiod# (only defined in each multilib subdir).
88*007c2a45Smiod
89*007c2a45Smiod# FIXME: Multilib is currently disabled by default for everything other than
90*007c2a45Smiod# newlib.  It is up to each target to turn on multilib support for the other
91*007c2a45Smiod# libraries as desired.
92*007c2a45Smiod
93*007c2a45Smiod# Autoconf incoming variables:
94*007c2a45Smiod# srcdir, host, ac_configure_args
95*007c2a45Smiod#
96*007c2a45Smiod# We *could* figure srcdir and host out, but we'd have to do work that
97*007c2a45Smiod# our caller has already done to figure them out and requiring these two
98*007c2a45Smiod# seems reasonable.
99*007c2a45Smiod# Note that `host' in this case is GCC's `target'.  Target libraries are
100*007c2a45Smiod# configured for a particular host.
101*007c2a45Smiod
102*007c2a45SmiodMakefile=${ac_file-Makefile}
103*007c2a45Smiodml_config_shell=${CONFIG_SHELL-/bin/sh}
104*007c2a45Smiodml_realsrcdir=${srcdir}
105*007c2a45Smiod
106*007c2a45Smiod# Scan all the arguments and set all the ones we need.
107*007c2a45Smiod
108*007c2a45Smiodml_verbose=--verbose
109*007c2a45Smiodfor option in ${ac_configure_args}
110*007c2a45Smioddo
111*007c2a45Smiod  case $option in
112*007c2a45Smiod  --*) ;;
113*007c2a45Smiod  -*) option=-$option ;;
114*007c2a45Smiod  esac
115*007c2a45Smiod
116*007c2a45Smiod  case $option in
117*007c2a45Smiod  --*=*)
118*007c2a45Smiod	optarg=`echo $option | sed -e 's/^[^=]*=//'`
119*007c2a45Smiod	;;
120*007c2a45Smiod  esac
121*007c2a45Smiod
122*007c2a45Smiod  case $option in
123*007c2a45Smiod  --disable-*)
124*007c2a45Smiod	enableopt=`echo ${option} | sed 's:^--disable-:enable_:;s:-:_:g'`
125*007c2a45Smiod	eval $enableopt=no
126*007c2a45Smiod	;;
127*007c2a45Smiod  --enable-*)
128*007c2a45Smiod	case "$option" in
129*007c2a45Smiod	*=*)	;;
130*007c2a45Smiod	*)	optarg=yes ;;
131*007c2a45Smiod	esac
132*007c2a45Smiod	enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
133*007c2a45Smiod	eval $enableopt="$optarg"
134*007c2a45Smiod	;;
135*007c2a45Smiod  --norecursion | --no-recursion)
136*007c2a45Smiod	ml_norecursion=yes
137*007c2a45Smiod	;;
138*007c2a45Smiod  --silent | --sil* | --quiet | --q*)
139*007c2a45Smiod	ml_verbose=--silent
140*007c2a45Smiod	;;
141*007c2a45Smiod  --verbose | --v | --verb*)
142*007c2a45Smiod	ml_verbose=--verbose
143*007c2a45Smiod	;;
144*007c2a45Smiod  --with-*)
145*007c2a45Smiod	case "$option" in
146*007c2a45Smiod	*=*)	;;
147*007c2a45Smiod	*)	optarg=yes ;;
148*007c2a45Smiod	esac
149*007c2a45Smiod	withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
150*007c2a45Smiod	eval $withopt="$optarg"
151*007c2a45Smiod	;;
152*007c2a45Smiod  --without-*)
153*007c2a45Smiod	withopt=`echo ${option} | sed 's:^--::;s:out::;s:-:_:g'`
154*007c2a45Smiod	eval $withopt=no
155*007c2a45Smiod	;;
156*007c2a45Smiod  esac
157*007c2a45Smioddone
158*007c2a45Smiod
159*007c2a45Smiod# Only do this if --enable-multilib.
160*007c2a45Smiodif [ "${enable_multilib}" = yes ]; then
161*007c2a45Smiod
162*007c2a45Smiod# Compute whether this is the library's top level directory
163*007c2a45Smiod# (ie: not a multilib subdirectory, and not a subdirectory like newlib/src).
164*007c2a45Smiod# ${with_multisubdir} tells us we're in the right branch, but we could be
165*007c2a45Smiod# in a subdir of that.
166*007c2a45Smiod# ??? The previous version could void this test by separating the process into
167*007c2a45Smiod# two files: one that only the library's toplevel configure.in ran (to
168*007c2a45Smiod# configure the multilib subdirs), and another that all configure.in's ran to
169*007c2a45Smiod# update the Makefile.  It seemed reasonable to collapse all multilib support
170*007c2a45Smiod# into one file, but it does leave us with having to perform this test.
171*007c2a45Smiodml_toplevel_p=no
172*007c2a45Smiodif [ -z "${with_multisubdir}" ]; then
173*007c2a45Smiod  if [ "${srcdir}" = "." ]; then
174*007c2a45Smiod    # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
175*007c2a45Smiod    # ${with_target_subdir} = "." for native, otherwise target alias.
176*007c2a45Smiod    if [ "${with_target_subdir}" = "." ]; then
177*007c2a45Smiod      if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
178*007c2a45Smiod	ml_toplevel_p=yes
179*007c2a45Smiod      fi
180*007c2a45Smiod    else
181*007c2a45Smiod      if [ -f ${ml_realsrcdir}/../../config-ml.in ]; then
182*007c2a45Smiod	ml_toplevel_p=yes
183*007c2a45Smiod      fi
184*007c2a45Smiod    fi
185*007c2a45Smiod  else
186*007c2a45Smiod    # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
187*007c2a45Smiod    if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
188*007c2a45Smiod      ml_toplevel_p=yes
189*007c2a45Smiod    fi
190*007c2a45Smiod  fi
191*007c2a45Smiodfi
192*007c2a45Smiod
193*007c2a45Smiod# If this is the library's top level directory, set multidirs to the
194*007c2a45Smiod# multilib subdirs to support.  This lives at the top because we need
195*007c2a45Smiod# `multidirs' set right away.
196*007c2a45Smiod
197*007c2a45Smiodif [ "${ml_toplevel_p}" = yes ]; then
198*007c2a45Smiod
199*007c2a45Smiodmultidirs=
200*007c2a45Smiodfor i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
201*007c2a45Smiod  dir=`echo $i | sed -e 's/;.*$//'`
202*007c2a45Smiod  if [ "${dir}" = "." ]; then
203*007c2a45Smiod    true
204*007c2a45Smiod  else
205*007c2a45Smiod    if [ -z "${multidirs}" ]; then
206*007c2a45Smiod      multidirs="${dir}"
207*007c2a45Smiod    else
208*007c2a45Smiod      multidirs="${multidirs} ${dir}"
209*007c2a45Smiod    fi
210*007c2a45Smiod  fi
211*007c2a45Smioddone
212*007c2a45Smiod
213*007c2a45Smiod# Target libraries are configured for the host they run on, so we check
214*007c2a45Smiod# $host here, not $target.
215*007c2a45Smiod
216*007c2a45Smiodcase "${host}" in
217*007c2a45Smiodarc-*-elf*)
218*007c2a45Smiod	if [ x$enable_biendian != xyes ]
219*007c2a45Smiod	then
220*007c2a45Smiod	  old_multidirs=${multidirs}
221*007c2a45Smiod	  multidirs=""
222*007c2a45Smiod	  for x in ${old_multidirs}; do
223*007c2a45Smiod	    case "${x}" in
224*007c2a45Smiod	      *be*) : ;;
225*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
226*007c2a45Smiod	    esac
227*007c2a45Smiod	  done
228*007c2a45Smiod	fi
229*007c2a45Smiod	;;
230*007c2a45Smiodarm-*-*)
231*007c2a45Smiod	if [ x"$enable_fpu" = xno ]
232*007c2a45Smiod	then
233*007c2a45Smiod	  old_multidirs=${multidirs}
234*007c2a45Smiod	  multidirs=""
235*007c2a45Smiod	  for x in ${old_multidirs}; do
236*007c2a45Smiod	    case "${x}" in
237*007c2a45Smiod	      *fpu*) : ;;
238*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
239*007c2a45Smiod	    esac
240*007c2a45Smiod	  done
241*007c2a45Smiod	fi
242*007c2a45Smiod	if [ x"$enable_26bit" = xno ]
243*007c2a45Smiod	then
244*007c2a45Smiod	  old_multidirs=${multidirs}
245*007c2a45Smiod	  multidirs=""
246*007c2a45Smiod	  for x in ${old_multidirs}; do
247*007c2a45Smiod	    case "${x}" in
248*007c2a45Smiod	      *26bit*) : ;;
249*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
250*007c2a45Smiod	    esac
251*007c2a45Smiod	  done
252*007c2a45Smiod	fi
253*007c2a45Smiod	if [ x"$enable_underscore" = xno ]
254*007c2a45Smiod	then
255*007c2a45Smiod	  old_multidirs=${multidirs}
256*007c2a45Smiod	  multidirs=""
257*007c2a45Smiod	  for x in ${old_multidirs}; do
258*007c2a45Smiod	    case "${x}" in
259*007c2a45Smiod	      *under*) : ;;
260*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
261*007c2a45Smiod	    esac
262*007c2a45Smiod	  done
263*007c2a45Smiod	fi
264*007c2a45Smiod	if [ x"$enable_interwork" = xno ]
265*007c2a45Smiod	then
266*007c2a45Smiod	  old_multidirs=${multidirs}
267*007c2a45Smiod	  multidirs=""
268*007c2a45Smiod	  for x in ${old_multidirs}; do
269*007c2a45Smiod	    case "${x}" in
270*007c2a45Smiod	      *interwork*) : ;;
271*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
272*007c2a45Smiod	    esac
273*007c2a45Smiod	  done
274*007c2a45Smiod	fi
275*007c2a45Smiod	if [ x$enable_biendian = xno ]
276*007c2a45Smiod	then
277*007c2a45Smiod	  old_multidirs="${multidirs}"
278*007c2a45Smiod	  multidirs=""
279*007c2a45Smiod	  for x in ${old_multidirs}; do
280*007c2a45Smiod	    case "$x" in
281*007c2a45Smiod	      *le* ) : ;;
282*007c2a45Smiod	      *be* ) : ;;
283*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
284*007c2a45Smiod	    esac
285*007c2a45Smiod	  done
286*007c2a45Smiod	fi
287*007c2a45Smiod	if [ x"$enable_nofmult" = xno ]
288*007c2a45Smiod	then
289*007c2a45Smiod	  old_multidirs="${multidirs}"
290*007c2a45Smiod	  multidirs=""
291*007c2a45Smiod	  for x in ${old_multidirs}; do
292*007c2a45Smiod	    case "$x" in
293*007c2a45Smiod	      *nofmult* ) : ;;
294*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
295*007c2a45Smiod	    esac
296*007c2a45Smiod	  done
297*007c2a45Smiod	fi
298*007c2a45Smiod	;;
299*007c2a45Smiodm68*-*-*)
300*007c2a45Smiod	if [ x$enable_softfloat = xno ]
301*007c2a45Smiod	then
302*007c2a45Smiod	  old_multidirs="${multidirs}"
303*007c2a45Smiod	  multidirs=""
304*007c2a45Smiod	  for x in ${old_multidirs}; do
305*007c2a45Smiod	    case "$x" in
306*007c2a45Smiod	      *soft-float* ) : ;;
307*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
308*007c2a45Smiod	    esac
309*007c2a45Smiod	  done
310*007c2a45Smiod	fi
311*007c2a45Smiod	if [ x$enable_m68881 = xno ]
312*007c2a45Smiod	then
313*007c2a45Smiod	  old_multidirs="${multidirs}"
314*007c2a45Smiod	  multidirs=""
315*007c2a45Smiod	  for x in ${old_multidirs}; do
316*007c2a45Smiod	    case "$x" in
317*007c2a45Smiod	      *m68881* ) : ;;
318*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
319*007c2a45Smiod	    esac
320*007c2a45Smiod	  done
321*007c2a45Smiod	fi
322*007c2a45Smiod	if [ x$enable_m68000 = xno ]
323*007c2a45Smiod	then
324*007c2a45Smiod	  old_multidirs="${multidirs}"
325*007c2a45Smiod	  multidirs=""
326*007c2a45Smiod	  for x in ${old_multidirs}; do
327*007c2a45Smiod	    case "$x" in
328*007c2a45Smiod	      *m68000* ) : ;;
329*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
330*007c2a45Smiod	    esac
331*007c2a45Smiod	  done
332*007c2a45Smiod	fi
333*007c2a45Smiod	if [ x$enable_m68020 = xno ]
334*007c2a45Smiod	then
335*007c2a45Smiod	  old_multidirs="${multidirs}"
336*007c2a45Smiod	  multidirs=""
337*007c2a45Smiod	  for x in ${old_multidirs}; do
338*007c2a45Smiod	    case "$x" in
339*007c2a45Smiod	      *m68020* ) : ;;
340*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
341*007c2a45Smiod	    esac
342*007c2a45Smiod	  done
343*007c2a45Smiod	fi
344*007c2a45Smiod	;;
345*007c2a45Smiodmips*-*-*)
346*007c2a45Smiod	if [ x$enable_single_float = xno ]
347*007c2a45Smiod	then
348*007c2a45Smiod	  old_multidirs="${multidirs}"
349*007c2a45Smiod	  multidirs=""
350*007c2a45Smiod	  for x in ${old_multidirs}; do
351*007c2a45Smiod	    case "$x" in
352*007c2a45Smiod	      *single* ) : ;;
353*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
354*007c2a45Smiod	    esac
355*007c2a45Smiod	  done
356*007c2a45Smiod	fi
357*007c2a45Smiod	if [ x$enable_biendian = xno ]
358*007c2a45Smiod	then
359*007c2a45Smiod	  old_multidirs="${multidirs}"
360*007c2a45Smiod	  multidirs=""
361*007c2a45Smiod	  for x in ${old_multidirs}; do
362*007c2a45Smiod	    case "$x" in
363*007c2a45Smiod	      *el* ) : ;;
364*007c2a45Smiod	      *eb* ) : ;;
365*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
366*007c2a45Smiod	    esac
367*007c2a45Smiod	  done
368*007c2a45Smiod	fi
369*007c2a45Smiod	if [ x$enable_softfloat = xno ]
370*007c2a45Smiod	then
371*007c2a45Smiod	  old_multidirs="${multidirs}"
372*007c2a45Smiod	  multidirs=""
373*007c2a45Smiod	  for x in ${old_multidirs}; do
374*007c2a45Smiod	    case "$x" in
375*007c2a45Smiod	      *soft-float* ) : ;;
376*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
377*007c2a45Smiod	    esac
378*007c2a45Smiod	  done
379*007c2a45Smiod	fi
380*007c2a45Smiod	case " $multidirs " in
381*007c2a45Smiod	*" mabi=64 "*)
382*007c2a45Smiod	  # We will not be able to create libraries with -mabi=64 if
383*007c2a45Smiod	  # we cannot even link a trivial program.  It usually
384*007c2a45Smiod	  # indicates the 64bit libraries are missing.
385*007c2a45Smiod	  if echo 'main() {}' > conftest.c &&
386*007c2a45Smiod	     ${CC-gcc} -mabi=64 conftest.c -o conftest; then
387*007c2a45Smiod	    :
388*007c2a45Smiod	  else
389*007c2a45Smiod	    echo Could not link program with -mabi=64, disabling it.
390*007c2a45Smiod	    old_multidirs="${multidirs}"
391*007c2a45Smiod	    multidirs=""
392*007c2a45Smiod	    for x in ${old_multidirs}; do
393*007c2a45Smiod	      case "$x" in
394*007c2a45Smiod	      *mabi=64* ) : ;;
395*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
396*007c2a45Smiod	      esac
397*007c2a45Smiod	    done
398*007c2a45Smiod	  fi
399*007c2a45Smiod	  rm -f conftest.c conftest
400*007c2a45Smiod	  ;;
401*007c2a45Smiod	esac
402*007c2a45Smiod	;;
403*007c2a45Smiodpowerpc*-*-* | rs6000*-*-*)
404*007c2a45Smiod	if [ x$enable_aix64 = xno ]
405*007c2a45Smiod	then
406*007c2a45Smiod	  old_multidirs="${multidirs}"
407*007c2a45Smiod	  multidirs=""
408*007c2a45Smiod	  for x in ${old_multidirs}; do
409*007c2a45Smiod	    case "$x" in
410*007c2a45Smiod	      *ppc64* ) : ;;
411*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
412*007c2a45Smiod	    esac
413*007c2a45Smiod	  done
414*007c2a45Smiod	fi
415*007c2a45Smiod	if [ x$enable_pthread = xno ]
416*007c2a45Smiod	then
417*007c2a45Smiod	  old_multidirs="${multidirs}"
418*007c2a45Smiod	  multidirs=""
419*007c2a45Smiod	  for x in ${old_multidirs}; do
420*007c2a45Smiod	    case "$x" in
421*007c2a45Smiod	      *pthread* ) : ;;
422*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
423*007c2a45Smiod	    esac
424*007c2a45Smiod	  done
425*007c2a45Smiod	fi
426*007c2a45Smiod	if [ x$enable_softfloat = xno ]
427*007c2a45Smiod	then
428*007c2a45Smiod	  old_multidirs="${multidirs}"
429*007c2a45Smiod	  multidirs=""
430*007c2a45Smiod	  for x in ${old_multidirs}; do
431*007c2a45Smiod	    case "$x" in
432*007c2a45Smiod	      *soft-float* ) : ;;
433*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
434*007c2a45Smiod	    esac
435*007c2a45Smiod	  done
436*007c2a45Smiod	fi
437*007c2a45Smiod	if [ x$enable_powercpu = xno ]
438*007c2a45Smiod	then
439*007c2a45Smiod	  old_multidirs="${multidirs}"
440*007c2a45Smiod	  multidirs=""
441*007c2a45Smiod	  for x in ${old_multidirs}; do
442*007c2a45Smiod	    case "$x" in
443*007c2a45Smiod	      power | */power | */power/* ) : ;;
444*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
445*007c2a45Smiod	    esac
446*007c2a45Smiod	  done
447*007c2a45Smiod	fi
448*007c2a45Smiod	if [ x$enable_powerpccpu = xno ]
449*007c2a45Smiod	then
450*007c2a45Smiod	  old_multidirs="${multidirs}"
451*007c2a45Smiod	  multidirs=""
452*007c2a45Smiod	  for x in ${old_multidirs}; do
453*007c2a45Smiod	    case "$x" in
454*007c2a45Smiod	      *powerpc* ) : ;;
455*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
456*007c2a45Smiod	    esac
457*007c2a45Smiod	  done
458*007c2a45Smiod	fi
459*007c2a45Smiod	if [ x$enable_powerpcos = xno ]
460*007c2a45Smiod	then
461*007c2a45Smiod	  old_multidirs="${multidirs}"
462*007c2a45Smiod	  multidirs=""
463*007c2a45Smiod	  for x in ${old_multidirs}; do
464*007c2a45Smiod	    case "$x" in
465*007c2a45Smiod	      *mcall-linux* | *mcall-solaris* ) : ;;
466*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
467*007c2a45Smiod	    esac
468*007c2a45Smiod	  done
469*007c2a45Smiod	fi
470*007c2a45Smiod	if [ x$enable_biendian = xno ]
471*007c2a45Smiod	then
472*007c2a45Smiod	  old_multidirs="${multidirs}"
473*007c2a45Smiod	  multidirs=""
474*007c2a45Smiod	  for x in ${old_multidirs}; do
475*007c2a45Smiod	    case "$x" in
476*007c2a45Smiod	      *mlittle* | *mbig* ) : ;;
477*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
478*007c2a45Smiod	    esac
479*007c2a45Smiod	  done
480*007c2a45Smiod	fi
481*007c2a45Smiod	if [ x$enable_sysv = xno ]
482*007c2a45Smiod	then
483*007c2a45Smiod	  old_multidirs="${multidirs}"
484*007c2a45Smiod	  multidirs=""
485*007c2a45Smiod	  for x in ${old_multidirs}; do
486*007c2a45Smiod	    case "$x" in
487*007c2a45Smiod	      *mcall-sysv* ) : ;;
488*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
489*007c2a45Smiod	    esac
490*007c2a45Smiod	  done
491*007c2a45Smiod	fi
492*007c2a45Smiod	;;
493*007c2a45Smiodsparc*-*-*)
494*007c2a45Smiod	case " $multidirs " in
495*007c2a45Smiod	*" m64 "*)
496*007c2a45Smiod	  # We will not be able to create libraries with -m64 if
497*007c2a45Smiod	  # we cannot even link a trivial program.  It usually
498*007c2a45Smiod	  # indicates the 64bit libraries are missing.
499*007c2a45Smiod	  if echo 'main() {}' > conftest.c &&
500*007c2a45Smiod	     ${CC-gcc} -m64 conftest.c -o conftest; then
501*007c2a45Smiod	    :
502*007c2a45Smiod	  else
503*007c2a45Smiod	    echo Could not link program with -m64, disabling it.
504*007c2a45Smiod	    old_multidirs="${multidirs}"
505*007c2a45Smiod	    multidirs=""
506*007c2a45Smiod	    for x in ${old_multidirs}; do
507*007c2a45Smiod	      case "$x" in
508*007c2a45Smiod	      *m64* ) : ;;
509*007c2a45Smiod	      *) multidirs="${multidirs} ${x}" ;;
510*007c2a45Smiod	      esac
511*007c2a45Smiod	    done
512*007c2a45Smiod	  fi
513*007c2a45Smiod	  rm -f conftest.c conftest
514*007c2a45Smiod	  ;;
515*007c2a45Smiod	esac
516*007c2a45Smiod	;;
517*007c2a45Smiodesac
518*007c2a45Smiod
519*007c2a45Smiod# Remove extraneous blanks from multidirs.
520*007c2a45Smiod# Tests like `if [ -n "$multidirs" ]' require it.
521*007c2a45Smiodmultidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
522*007c2a45Smiod
523*007c2a45Smiod# Add code to library's top level makefile to handle building the multilib
524*007c2a45Smiod# subdirs.
525*007c2a45Smiod
526*007c2a45Smiodcat > Multi.tem <<\EOF
527*007c2a45Smiod
528*007c2a45SmiodPWD_COMMAND=$${PWDCMD-pwd}
529*007c2a45Smiod
530*007c2a45Smiod# FIXME: There should be an @-sign in front of the `if'.
531*007c2a45Smiod# Leave out until this is tested a bit more.
532*007c2a45Smiodmulti-do:
533*007c2a45Smiod	if [ -z "$(MULTIDIRS)" ]; then \
534*007c2a45Smiod	  true; \
535*007c2a45Smiod	else \
536*007c2a45Smiod	  rootpre=`${PWD_COMMAND}`/; export rootpre; \
537*007c2a45Smiod	  srcrootpre=`cd $(srcdir); ${PWD_COMMAND}`/; export srcrootpre; \
538*007c2a45Smiod	  lib=`echo $${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \
539*007c2a45Smiod	  compiler="$(CC)"; \
540*007c2a45Smiod	  for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \
541*007c2a45Smiod	    dir=`echo $$i | sed -e 's/;.*$$//'`; \
542*007c2a45Smiod	    if [ "$${dir}" = "." ]; then \
543*007c2a45Smiod	      true; \
544*007c2a45Smiod	    else \
545*007c2a45Smiod	      if [ -d ../$${dir}/$${lib} ]; then \
546*007c2a45Smiod		flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
547*007c2a45Smiod		if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
548*007c2a45Smiod				CFLAGS="$(CFLAGS) $${flags}" \
549*007c2a45Smiod				prefix="$(prefix)" \
550*007c2a45Smiod				exec_prefix="$(exec_prefix)" \
551*007c2a45Smiod				GCJFLAGS="$(GCJFLAGS) $${flags}" \
552*007c2a45Smiod				CXXFLAGS="$(CXXFLAGS) $${flags}" \
553*007c2a45Smiod				LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
554*007c2a45Smiod				LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
555*007c2a45Smiod				LDFLAGS="$(LDFLAGS) $${flags}" \
556*007c2a45Smiod				MULTIFLAGS="$${flags}" \
557*007c2a45Smiod				DESTDIR="$(DESTDIR)" \
558*007c2a45Smiod				INSTALL="$(INSTALL)" \
559*007c2a45Smiod				INSTALL_DATA="$(INSTALL_DATA)" \
560*007c2a45Smiod				INSTALL_PROGRAM="$(INSTALL_PROGRAM)" \
561*007c2a45Smiod				INSTALL_SCRIPT="$(INSTALL_SCRIPT)" \
562*007c2a45Smiod				$(DO)); then \
563*007c2a45Smiod		  true; \
564*007c2a45Smiod		else \
565*007c2a45Smiod		  exit 1; \
566*007c2a45Smiod		fi; \
567*007c2a45Smiod	      else true; \
568*007c2a45Smiod	      fi; \
569*007c2a45Smiod	    fi; \
570*007c2a45Smiod	  done; \
571*007c2a45Smiod	fi
572*007c2a45Smiod
573*007c2a45Smiod# FIXME: There should be an @-sign in front of the `if'.
574*007c2a45Smiod# Leave out until this is tested a bit more.
575*007c2a45Smiodmulti-clean:
576*007c2a45Smiod	if [ -z "$(MULTIDIRS)" ]; then \
577*007c2a45Smiod	  true; \
578*007c2a45Smiod	else \
579*007c2a45Smiod	  lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
580*007c2a45Smiod	  for dir in Makefile $(MULTIDIRS); do \
581*007c2a45Smiod	    if [ -f ../$${dir}/$${lib}/Makefile ]; then \
582*007c2a45Smiod	      if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \
583*007c2a45Smiod	      then true; \
584*007c2a45Smiod	      else exit 1; \
585*007c2a45Smiod	      fi; \
586*007c2a45Smiod	    else true; \
587*007c2a45Smiod	    fi; \
588*007c2a45Smiod	  done; \
589*007c2a45Smiod	fi
590*007c2a45SmiodEOF
591*007c2a45Smiod
592*007c2a45Smiodcat ${Makefile} Multi.tem > Makefile.tem
593*007c2a45Smiodrm -f ${Makefile} Multi.tem
594*007c2a45Smiodmv Makefile.tem ${Makefile}
595*007c2a45Smiod
596*007c2a45Smiodfi # ${ml_toplevel_p} = yes
597*007c2a45Smiod
598*007c2a45Smiodif [ "${ml_verbose}" = --verbose ]; then
599*007c2a45Smiod  echo "Adding multilib support to Makefile in ${ml_realsrcdir}"
600*007c2a45Smiod  if [ "${ml_toplevel_p}" = yes ]; then
601*007c2a45Smiod    echo "multidirs=${multidirs}"
602*007c2a45Smiod  fi
603*007c2a45Smiod  echo "with_multisubdir=${with_multisubdir}"
604*007c2a45Smiodfi
605*007c2a45Smiod
606*007c2a45Smiodif [ "${srcdir}" = "." ]; then
607*007c2a45Smiod  if [ "${with_target_subdir}" != "." ]; then
608*007c2a45Smiod    ml_srcdotdot="../"
609*007c2a45Smiod  else
610*007c2a45Smiod    ml_srcdotdot=""
611*007c2a45Smiod  fi
612*007c2a45Smiodelse
613*007c2a45Smiod  ml_srcdotdot=""
614*007c2a45Smiodfi
615*007c2a45Smiod
616*007c2a45Smiodif [ -z "${with_multisubdir}" ]; then
617*007c2a45Smiod  ml_subdir=
618*007c2a45Smiod  ml_builddotdot=
619*007c2a45Smiod  : # ml_srcdotdot= # already set
620*007c2a45Smiodelse
621*007c2a45Smiod  ml_subdir="/${with_multisubdir}"
622*007c2a45Smiod  # The '[^/][^/]*' appears that way to work around a SunOS sed bug.
623*007c2a45Smiod  ml_builddotdot=`echo ${with_multisubdir} | sed -e 's:[^/][^/]*:..:g'`/
624*007c2a45Smiod  if [ "$srcdir" = "." ]; then
625*007c2a45Smiod    ml_srcdotdot=${ml_srcdotdot}${ml_builddotdot}
626*007c2a45Smiod  else
627*007c2a45Smiod    : # ml_srcdotdot= # already set
628*007c2a45Smiod  fi
629*007c2a45Smiodfi
630*007c2a45Smiod
631*007c2a45Smiodif [ "${ml_toplevel_p}" = yes ]; then
632*007c2a45Smiod  ml_do='$(MAKE)'
633*007c2a45Smiod  ml_clean='$(MAKE)'
634*007c2a45Smiodelse
635*007c2a45Smiod  ml_do=true
636*007c2a45Smiod  ml_clean=true
637*007c2a45Smiodfi
638*007c2a45Smiod
639*007c2a45Smiod# TOP is used by newlib and should not be used elsewhere for this purpose.
640*007c2a45Smiod# MULTI{SRC,BUILD}TOP are the proper ones to use.  MULTISRCTOP is empty
641*007c2a45Smiod# when srcdir != builddir.  MULTIBUILDTOP is always some number of ../'s.
642*007c2a45Smiod# FIXME: newlib needs to be updated to use MULTI{SRC,BUILD}TOP so we can
643*007c2a45Smiod# delete TOP.  Newlib may wish to continue to use TOP for its own purposes
644*007c2a45Smiod# of course.
645*007c2a45Smiod# MULTIDIRS is non-empty for the cpu top level Makefile (eg: newlib/Makefile)
646*007c2a45Smiod# and lists the subdirectories to recurse into.
647*007c2a45Smiod# MULTISUBDIR is non-empty in each cpu subdirectory's Makefile
648*007c2a45Smiod# (eg: newlib/h8300h/Makefile) and is the installed subdirectory name with
649*007c2a45Smiod# a leading '/'.
650*007c2a45Smiod# MULTIDO is used for targets like all, install, and check where
651*007c2a45Smiod# $(FLAGS_TO_PASS) augmented with the subdir's compiler option is needed.
652*007c2a45Smiod# MULTICLEAN is used for the *clean targets.
653*007c2a45Smiod#
654*007c2a45Smiod# ??? It is possible to merge MULTIDO and MULTICLEAN into one.  They are
655*007c2a45Smiod# currently kept separate because we don't want the *clean targets to require
656*007c2a45Smiod# the existence of the compiler (which MULTIDO currently requires) and
657*007c2a45Smiod# therefore we'd have to record the directory options as well as names
658*007c2a45Smiod# (currently we just record the names and use --print-multi-lib to get the
659*007c2a45Smiod# options).
660*007c2a45Smiod
661*007c2a45Smiodsed -e "s:^TOP[ 	]*=[ 	]*\([./]*\)[ 	]*$:TOP = ${ml_builddotdot}\1:" \
662*007c2a45Smiod    -e "s:^MULTISRCTOP[ 	]*=.*$:MULTISRCTOP = ${ml_srcdotdot}:" \
663*007c2a45Smiod    -e "s:^MULTIBUILDTOP[ 	]*=.*$:MULTIBUILDTOP = ${ml_builddotdot}:" \
664*007c2a45Smiod    -e "s:^MULTIDIRS[ 	]*=.*$:MULTIDIRS = ${multidirs}:" \
665*007c2a45Smiod    -e "s:^MULTISUBDIR[ 	]*=.*$:MULTISUBDIR = ${ml_subdir}:" \
666*007c2a45Smiod    -e "s:^MULTIDO[ 	]*=.*$:MULTIDO = $ml_do:" \
667*007c2a45Smiod    -e "s:^MULTICLEAN[ 	]*=.*$:MULTICLEAN = $ml_clean:" \
668*007c2a45Smiod	${Makefile} > Makefile.tem
669*007c2a45Smiodrm -f ${Makefile}
670*007c2a45Smiodmv Makefile.tem ${Makefile}
671*007c2a45Smiod
672*007c2a45Smiod# If this is the library's top level, configure each multilib subdir.
673*007c2a45Smiod# This is done at the end because this is the loop that runs configure
674*007c2a45Smiod# in each multilib subdir and it seemed reasonable to finish updating the
675*007c2a45Smiod# Makefile before going on to configure the subdirs.
676*007c2a45Smiod
677*007c2a45Smiodif [ "${ml_toplevel_p}" = yes ]; then
678*007c2a45Smiod
679*007c2a45Smiod# We must freshly configure each subdirectory.  This bit of code is
680*007c2a45Smiod# actually partially stolen from the main configure script.  FIXME.
681*007c2a45Smiod
682*007c2a45Smiodif [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
683*007c2a45Smiod
684*007c2a45Smiod  if [ "${ml_verbose}" = --verbose ]; then
685*007c2a45Smiod    echo "Running configure in multilib subdirs ${multidirs}"
686*007c2a45Smiod    echo "pwd: `${PWDCMD-pwd}`"
687*007c2a45Smiod  fi
688*007c2a45Smiod
689*007c2a45Smiod  ml_origdir=`${PWDCMD-pwd}`
690*007c2a45Smiod  ml_libdir=`echo $ml_origdir | sed -e 's,^.*/,,'`
691*007c2a45Smiod  # cd to top-level-build-dir/${with_target_subdir}
692*007c2a45Smiod  cd ..
693*007c2a45Smiod
694*007c2a45Smiod  for ml_dir in ${multidirs}; do
695*007c2a45Smiod
696*007c2a45Smiod    if [ "${ml_verbose}" = --verbose ]; then
697*007c2a45Smiod      echo "Running configure in multilib subdir ${ml_dir}"
698*007c2a45Smiod      echo "pwd: `${PWDCMD-pwd}`"
699*007c2a45Smiod    fi
700*007c2a45Smiod
701*007c2a45Smiod    if [ -d ${ml_dir} ]; then true; else
702*007c2a45Smiod      # ``mkdir -p ${ml_dir}'' See also mkinstalldirs.
703*007c2a45Smiod      pathcomp=""
704*007c2a45Smiod      for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`; do
705*007c2a45Smiod        pathcomp="$pathcomp$d"
706*007c2a45Smiod        case "$pathcomp" in
707*007c2a45Smiod          -* ) pathcomp=./$pathcomp ;;
708*007c2a45Smiod        esac
709*007c2a45Smiod        if test ! -d "$pathcomp"; then
710*007c2a45Smiod           echo "mkdir $pathcomp" 1>&2
711*007c2a45Smiod           mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$?
712*007c2a45Smiod        fi
713*007c2a45Smiod        if test ! -d "$pathcomp"; then
714*007c2a45Smiod	   exit $lasterr
715*007c2a45Smiod        fi
716*007c2a45Smiod        pathcomp="$pathcomp/"
717*007c2a45Smiod      done
718*007c2a45Smiod    fi
719*007c2a45Smiod    if [ -d ${ml_dir}/${ml_libdir} ]; then true; else mkdir ${ml_dir}/${ml_libdir}; fi
720*007c2a45Smiod
721*007c2a45Smiod    # Eg: if ${ml_dir} = m68000/m68881, dotdot = ../../
722*007c2a45Smiod    dotdot=../`echo ${ml_dir} | sed -e 's|[^/]||g' -e 's|/|../|g'`
723*007c2a45Smiod
724*007c2a45Smiod    case ${srcdir} in
725*007c2a45Smiod    ".")
726*007c2a45Smiod      echo Building symlink tree in `${PWDCMD-pwd}`/${ml_dir}/${ml_libdir}
727*007c2a45Smiod      if [ "${with_target_subdir}" != "." ]; then
728*007c2a45Smiod	ml_unsubdir="../"
729*007c2a45Smiod      else
730*007c2a45Smiod	ml_unsubdir=""
731*007c2a45Smiod      fi
732*007c2a45Smiod      (cd ${ml_dir}/${ml_libdir};
733*007c2a45Smiod       ../${dotdot}${ml_unsubdir}symlink-tree ../${dotdot}${ml_unsubdir}${ml_libdir} "")
734*007c2a45Smiod      if [ -f ${ml_dir}/${ml_libdir}/Makefile ]; then
735*007c2a45Smiod	if [ x"${MAKE}" = x ]; then
736*007c2a45Smiod	  (cd ${ml_dir}/${ml_libdir}; make distclean)
737*007c2a45Smiod	else
738*007c2a45Smiod	  (cd ${ml_dir}/${ml_libdir}; ${MAKE} distclean)
739*007c2a45Smiod	fi
740*007c2a45Smiod      fi
741*007c2a45Smiod      ml_newsrcdir="."
742*007c2a45Smiod      ml_srcdiroption=
743*007c2a45Smiod      multisrctop=${dotdot}
744*007c2a45Smiod      ;;
745*007c2a45Smiod    *)
746*007c2a45Smiod      case "${srcdir}" in
747*007c2a45Smiod      /* | [A-Za-z]:[\\/]* ) # absolute path
748*007c2a45Smiod        ml_newsrcdir=${srcdir}
749*007c2a45Smiod        ;;
750*007c2a45Smiod      *) # otherwise relative
751*007c2a45Smiod        ml_newsrcdir=${dotdot}${srcdir}
752*007c2a45Smiod        ;;
753*007c2a45Smiod      esac
754*007c2a45Smiod      ml_srcdiroption="-srcdir=${ml_newsrcdir}"
755*007c2a45Smiod      multisrctop=
756*007c2a45Smiod      ;;
757*007c2a45Smiod    esac
758*007c2a45Smiod
759*007c2a45Smiod    case "${progname}" in
760*007c2a45Smiod    /* | [A-Za-z]:[\\/]* )     ml_recprog=${progname} ;;
761*007c2a45Smiod    *)      ml_recprog=${dotdot}${progname} ;;
762*007c2a45Smiod    esac
763*007c2a45Smiod
764*007c2a45Smiod    # FIXME: POPDIR=${PWD=`pwd`} doesn't work here.
765*007c2a45Smiod    ML_POPDIR=`${PWDCMD-pwd}`
766*007c2a45Smiod    cd ${ml_dir}/${ml_libdir}
767*007c2a45Smiod
768*007c2a45Smiod    if [ -f ${ml_newsrcdir}/configure ]; then
769*007c2a45Smiod      ml_recprog="${ml_newsrcdir}/configure"
770*007c2a45Smiod    fi
771*007c2a45Smiod
772*007c2a45Smiod    # find compiler flag corresponding to ${ml_dir}
773*007c2a45Smiod    for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
774*007c2a45Smiod      dir=`echo $i | sed -e 's/;.*$//'`
775*007c2a45Smiod      if [ "${dir}" = "${ml_dir}" ]; then
776*007c2a45Smiod        flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`
777*007c2a45Smiod        break
778*007c2a45Smiod      fi
779*007c2a45Smiod    done
780*007c2a45Smiod    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" GCJ="${GCJ_}$flags"'
781*007c2a45Smiod
782*007c2a45Smiod    if [ "${with_target_subdir}" = "." ]; then
783*007c2a45Smiod	CC_=$CC' '
784*007c2a45Smiod	CXX_=$CXX' '
785*007c2a45Smiod	GCJ_=$GCJ' '
786*007c2a45Smiod    else
787*007c2a45Smiod	# Create a regular expression that matches any string as long
788*007c2a45Smiod	# as ML_POPDIR.
789*007c2a45Smiod	popdir_rx=`echo ${ML_POPDIR} | sed 's,.,.,g'`
790*007c2a45Smiod	CC_=
791*007c2a45Smiod	for arg in ${CC}; do
792*007c2a45Smiod	  case $arg in
793*007c2a45Smiod	  -[BIL]"${ML_POPDIR}"/*)
794*007c2a45Smiod	    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"`' ' ;;
795*007c2a45Smiod	  "${ML_POPDIR}"/*)
796*007c2a45Smiod	    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"`' ' ;;
797*007c2a45Smiod	  *)
798*007c2a45Smiod	    CC_="${CC_}${arg} " ;;
799*007c2a45Smiod	  esac
800*007c2a45Smiod	done
801*007c2a45Smiod
802*007c2a45Smiod	CXX_=
803*007c2a45Smiod	for arg in ${CXX}; do
804*007c2a45Smiod	  case $arg in
805*007c2a45Smiod	  -[BIL]"${ML_POPDIR}"/*)
806*007c2a45Smiod	    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"`' ' ;;
807*007c2a45Smiod	  "${ML_POPDIR}"/*)
808*007c2a45Smiod	    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"`' ' ;;
809*007c2a45Smiod	  *)
810*007c2a45Smiod	    CXX_="${CXX_}${arg} " ;;
811*007c2a45Smiod	  esac
812*007c2a45Smiod	done
813*007c2a45Smiod
814*007c2a45Smiod	GCJ_=
815*007c2a45Smiod	for arg in ${GCJ}; do
816*007c2a45Smiod	  case $arg in
817*007c2a45Smiod	  -[BIL]"${ML_POPDIR}"/*)
818*007c2a45Smiod	    GCJ_="${GCJ_}"`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"`' ' ;;
819*007c2a45Smiod	  "${ML_POPDIR}"/*)
820*007c2a45Smiod	    GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
821*007c2a45Smiod	  *)
822*007c2a45Smiod	    GCJ_="${GCJ_}${arg} " ;;
823*007c2a45Smiod	  esac
824*007c2a45Smiod	done
825*007c2a45Smiod
826*007c2a45Smiod	if test "x${LD_LIBRARY_PATH+set}" = xset; then
827*007c2a45Smiod	  LD_LIBRARY_PATH_=
828*007c2a45Smiod	  for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
829*007c2a45Smiod	    case "$arg" in
830*007c2a45Smiod	    "${ML_POPDIR}"/*)
831*007c2a45Smiod	      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"`
832*007c2a45Smiod	      ;;
833*007c2a45Smiod	    esac
834*007c2a45Smiod	    if test "x$LD_LIBRARY_PATH_" != x; then
835*007c2a45Smiod	      LD_LIBRARY_PATH_=$LD_LIBRARY_PATH_:$arg
836*007c2a45Smiod	    else
837*007c2a45Smiod	      LD_LIBRARY_PATH_=$arg
838*007c2a45Smiod	    fi
839*007c2a45Smiod          done
840*007c2a45Smiod	  ml_config_env="$ml_config_env LD_LIBRARY_PATH=$LD_LIBRARY_PATH_"
841*007c2a45Smiod	fi
842*007c2a45Smiod
843*007c2a45Smiod	if test "x${SHLIB_PATH+set}" = xset; then
844*007c2a45Smiod	  SHLIB_PATH_=
845*007c2a45Smiod	  for arg in `echo "$SHLIB_PATH" | tr ':' ' '`; do
846*007c2a45Smiod	    case "$arg" in
847*007c2a45Smiod	    "${ML_POPDIR}"/*)
848*007c2a45Smiod	      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"`
849*007c2a45Smiod	      ;;
850*007c2a45Smiod	    esac
851*007c2a45Smiod	    if test "x$SHLIB_PATH_" != x; then
852*007c2a45Smiod	      SHLIB_PATH_=$SHLIB_PATH_:$arg
853*007c2a45Smiod	    else
854*007c2a45Smiod	      SHLIB_PATH_=$arg
855*007c2a45Smiod	    fi
856*007c2a45Smiod          done
857*007c2a45Smiod	  ml_config_env="$ml_config_env SHLIB_PATH=$SHLIB_PATH_"
858*007c2a45Smiod	fi
859*007c2a45Smiod    fi
860*007c2a45Smiod
861*007c2a45Smiod    if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
862*007c2a45Smiod	--with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
863*007c2a45Smiod	${ac_configure_args} ${ml_srcdiroption} ; then
864*007c2a45Smiod      true
865*007c2a45Smiod    else
866*007c2a45Smiod      exit 1
867*007c2a45Smiod    fi
868*007c2a45Smiod
869*007c2a45Smiod    cd ${ML_POPDIR}
870*007c2a45Smiod
871*007c2a45Smiod  done
872*007c2a45Smiod
873*007c2a45Smiod  cd ${ml_origdir}
874*007c2a45Smiodfi
875*007c2a45Smiod
876*007c2a45Smiodfi # ${ml_toplevel_p} = yes
877*007c2a45Smiodfi # ${enable_multilib} = yes
878