OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [configure.ac] - Blame information for rev 27

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 jlechner
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2
#   2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
3
#
4
# This file is free software; you can redistribute it and/or modify it
5
# under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; either version 2 of the License, or
7
# (at your option) any later version.
8
#
9
# This program is distributed in the hope that it will be useful, but
10
# WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
# General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License
15
# along with this program; if not, write to the Free Software
16
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
 
18
##############################################################################
19
### WARNING: this file contains embedded tabs.  Do not run untabify on this file.
20
 
21
sinclude(config/acx.m4)
22
 
23
AC_INIT(move-if-change)
24
AC_PREREQ(2.59)
25
 
26
# Find the build, host, and target systems.
27
ACX_NONCANONICAL_BUILD
28
ACX_NONCANONICAL_HOST
29
ACX_NONCANONICAL_TARGET
30
 
31
dnl Autoconf 2.5x and later will set a default program prefix if
32
dnl --target was used, even if it was the same as --host.  Disable
33
dnl that behavior.  This must be done before AC_CANONICAL_SYSTEM
34
dnl to take effect.
35
test "$host_noncanonical" = "$target_noncanonical" &&
36
  test "$program_prefix$program_suffix$program_transform_name" = \
37
    NONENONEs,x,x, &&
38
  program_transform_name=s,y,y,
39
 
40
AC_CANONICAL_SYSTEM
41
AC_ARG_PROGRAM
42
 
43
m4_pattern_allow([^AS_FOR_TARGET$])dnl
44
m4_pattern_allow([^AS_FOR_BUILD$])dnl
45
 
46
# Get 'install' or 'install-sh' and its variants.
47
AC_PROG_INSTALL
48
ACX_PROG_LN
49
AC_PROG_LN_S
50
 
51
### we might need to use some other shell than /bin/sh for running subshells
52
### If we are on Windows, search for the shell.  This will permit people
53
### to not have /bin/sh, but to be able to see /SOME/PATH/sh configure
54
### without also having to set CONFIG_SHELL.  This code will work when
55
### using bash, which sets OSTYPE.
56
case "${OSTYPE}" in
57
*win32*)
58
  if test x${CONFIG_SHELL} = x ; then
59
    if test ! -f /bin/sh ; then
60
      if test x${SHELL} != x && test -f ${SHELL} ; then
61
        CONFIG_SHELL=${SHELL}
62
        export CONFIG_SHELL
63
      else
64
        for prog in sh sh.exe bash bash.exe; do
65
          IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
66
          for dir in $PATH; do
67
            test -z "$dir" && dir=.
68
            if test -f $dir/$prog; then
69
              CONFIG_SHELL=$dir/$prog
70
              export CONFIG_SHELL
71
              break
72
            fi
73
          done
74
          IFS="$save_ifs"
75
          test -n "${CONFIG_SHELL}" && break
76
        done
77
      fi
78
    fi
79
  fi
80
  ;;
81
esac
82
 
83
config_shell=${CONFIG_SHELL-/bin/sh}
84
 
85
progname=$0
86
# if PWD already has a value, it is probably wrong.
87
if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
88
 
89
# Export original configure arguments for use by sub-configures.
90
# Quote arguments with shell meta charatcers.
91
TOPLEVEL_CONFIGURE_ARGUMENTS=
92
set -- "$progname" "$@"
93
for ac_arg
94
do
95
  case "$ac_arg" in
96
  *" "*|*"      "*|*[[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\']]*)
97
    ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
98
    # if the argument is of the form -foo=baz, quote the baz part only
99
    ac_arg=`echo "'$ac_arg'" | sed "s/^'\([[-a-zA-Z0-9]]*=\)/\\1'/"` ;;
100
  *) ;;
101
  esac
102
  # Add the quoted argument to the list.
103
  TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS $ac_arg"
104
done
105
if test "$silent" = yes; then
106
  TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS --silent"
107
fi
108
# Remove the initial space we just introduced and, as these will be
109
# expanded by make, quote '$'.
110
TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
111
AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
112
 
113
moveifchange=${srcdir}/move-if-change
114
 
115
srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
116
 
117
# We pass INSTALL explicitly to sub-makes.  Make sure that it is not
118
# a relative path.
119
if test "$INSTALL" = "${srcdir}/install-sh -c"; then
120
  INSTALL="${srcpwd}/install-sh -c"
121
fi
122
 
123
# Set srcdir to "." if that's what it is.
124
# This is important for multilib support.
125
pwd=`${PWDCMD-pwd}`
126
if test "${pwd}" = "${srcpwd}" ; then
127
  srcdir=.
128
fi
129
 
130
topsrcdir=$srcpwd
131
 
132
extra_host_args=
133
 
134
### To add a new directory to the tree, first choose whether it is a target
135
### or a host dependent tool.  Then put it into the appropriate list
136
### (library or tools, host or target), doing a dependency sort.
137
 
138
# Subdirs will be configured in the order listed in build_configdirs,
139
# configdirs, or target_configdirs; see the serialization section below.
140
 
141
# Dependency sorting is only needed when *configuration* must be done in
142
# a particular order.  In all cases a dependency should be specified in
143
# the Makefile, whether or not it's implicitly specified here.
144
 
145
# Double entries in build_configdirs, configdirs, or target_configdirs may
146
# cause circular dependencies and break everything horribly.
147
 
148
# these library is used by various programs built for the build
149
# environment
150
#
151
build_libs="build-libiberty"
152
 
153
# these tools are built for the build environment
154
build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes"
155
 
156
# these libraries are used by various programs built for the host environment
157
#
158
host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr"
159
 
160
# these tools are built for the host environment
161
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
162
# know that we are building the simulator.
163
# binutils, gas and ld appear in that order because it makes sense to run
164
# "make check" in that particular order.
165
host_tools="byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
166
 
167
# libgcj represents the runtime libraries only used by gcj.
168
libgcj="target-libffi \
169
        target-zlib \
170
        target-qthreads \
171
        target-libjava"
172
 
173
# these libraries are built for the target environment, and are built after
174
# the host libraries and the host tools (which may be a cross compiler)
175
#
176
target_libraries="target-libgcc \
177
                target-libiberty \
178
                target-libgloss \
179
                target-newlib \
180
                target-libgomp \
181
                target-libstdc++-v3 \
182
                target-libmudflap \
183
                target-libssp \
184
                target-libgfortran \
185
                target-boehm-gc \
186
                ${libgcj} \
187
                target-libobjc \
188
                target-libada"
189
 
190
# these tools are built using the target libraries, and are intended to
191
# run only in the target environment
192
#
193
# note: any program that *uses* libraries that are in the "target_libraries"
194
# list belongs in this list.  those programs are also very likely
195
# candidates for the "native_only" list which follows
196
#
197
target_tools="target-examples target-groff target-gperf target-rda"
198
 
199
################################################################################
200
 
201
## All tools belong in one of the four categories, and are assigned above
202
## We assign ${configdirs} this way to remove all embedded newlines.  This
203
## is important because configure will choke if they ever get through.
204
## ${configdirs} is directories we build using the host tools.
205
## ${target_configdirs} is directories we build using the target tools.
206
configdirs=`echo ${host_libs} ${host_tools}`
207
target_configdirs=`echo ${target_libraries} ${target_tools}`
208
build_configdirs=`echo ${build_libs} ${build_tools}`
209
 
210
m4_divert_text([PARSE_ARGS],
211
[ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'`
212
])
213
 
214
################################################################################
215
 
216
srcname="gnu development package"
217
 
218
# This gets set non-empty for some net releases of packages.
219
appdirs=""
220
 
221
# Define is_cross_compiler to save on calls to 'test'.
222
is_cross_compiler=
223
if test x"${host}" = x"${target}" ; then
224
  is_cross_compiler=no
225
else
226
  is_cross_compiler=yes
227
fi
228
 
229
# Find the build and target subdir names.
230
GCC_TOPLEV_SUBDIRS
231
 
232
# Skipdirs are removed silently.
233
skipdirs=
234
# Noconfigdirs are removed loudly.
235
noconfigdirs=""
236
 
237
use_gnu_ld=
238
# Make sure we don't let GNU ld be added if we didn't want it.
239
if test x$with_gnu_ld = xno ; then
240
  use_gnu_ld=no
241
  noconfigdirs="$noconfigdirs ld"
242
fi
243
 
244
use_gnu_as=
245
# Make sure we don't let GNU as be added if we didn't want it.
246
if test x$with_gnu_as = xno ; then
247
  use_gnu_as=no
248
  noconfigdirs="$noconfigdirs gas"
249
fi
250
 
251
# some tools are so dependent upon X11 that if we're not building with X,
252
# it's not even worth trying to configure, much less build, that tool.
253
 
254
case ${with_x} in
255
  yes | "") ;; # the default value for this tree is that X11 is available
256
  no)
257
    skipdirs="${skipdirs} tk itcl libgui"
258
    # We won't be able to build gdbtk without X.
259
    enable_gdbtk=no
260
    ;;
261
  *)  echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
262
esac
263
 
264
# Some tools are only suitable for building in a "native" situation.
265
# Remove these if host!=target.
266
native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf"
267
 
268
# Similarly, some are only suitable for cross toolchains.
269
# Remove these if host=target.
270
cross_only="target-libgloss target-newlib target-opcodes"
271
 
272
case $is_cross_compiler in
273
  no) skipdirs="${skipdirs} ${cross_only}" ;;
274
  yes) skipdirs="${skipdirs} ${native_only}" ;;
275
esac
276
 
277
# If both --with-headers and --with-libs are specified, default to
278
# --without-newlib.
279
if test x"${with_headers}" != x && test x"${with_headers}" != xno \
280
   && test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
281
  if test x"${with_newlib}" = x ; then
282
    with_newlib=no
283
  fi
284
fi
285
 
286
# Recognize --with-newlib/--without-newlib.
287
case ${with_newlib} in
288
  no) skipdirs="${skipdirs} target-newlib" ;;
289
  yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
290
esac
291
 
292
# Configure extra directories which are host specific
293
 
294
case "${host}" in
295
  *-cygwin*)
296
    configdirs="$configdirs libtermcap" ;;
297
esac
298
 
299
# A target can indicate whether a language isn't supported for some reason.
300
# Only spaces may be used in this macro; not newlines or tabs.
301
unsupported_languages=
302
 
303
# Remove more programs from consideration, based on the host or
304
# target this usually means that a port of the program doesn't
305
# exist yet.
306
 
307
case "${host}" in
308
  hppa*64*-*-*)
309
    noconfigdirs="$noconfigdirs byacc"
310
    ;;
311
  i[[3456789]]86-*-vsta)
312
    noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl gnuserv gettext"
313
    ;;
314
  i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*)
315
    noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl gnuserv libffi"
316
    ;;
317
  x86_64-*-mingw*)
318
    noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool newlib"
319
    ;;
320
  i[[3456789]]86-*-mingw32*)
321
    # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl gnuserv"
322
    noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool newlib"
323
    ;;
324
  i[[3456789]]86-*-beos*)
325
    noconfigdirs="$noconfigdirs tk itcl libgui gdb"
326
    ;;
327
  *-*-cygwin*)
328
    noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl"
329
    ;;
330
  *-*-netbsd*)
331
    noconfigdirs="$noconfigdirs rcs"
332
    ;;
333
  ppc*-*-pe)
334
    noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl gnuserv"
335
    ;;
336
  powerpc-*-beos*)
337
    noconfigdirs="$noconfigdirs tk itcl libgui gdb dejagnu readline"
338
    ;;
339
esac
340
 
341
 
342
AC_ARG_ENABLE(libada,
343
[  --enable-libada         build libada directory],
344
ENABLE_LIBADA=$enableval,
345
ENABLE_LIBADA=yes)
346
if test "${ENABLE_LIBADA}" != "yes" ; then
347
  noconfigdirs="$noconfigdirs gnattools"
348
fi
349
 
350
AC_ARG_ENABLE(libssp,
351
[  --enable-libssp         build libssp directory],
352
ENABLE_LIBSSP=$enableval,
353
ENABLE_LIBSSP=yes)
354
 
355
# Save it here so that, even in case of --enable-libgcj, if the Java
356
# front-end isn't enabled, we still get libgcj disabled.
357
libgcj_saved=$libgcj
358
case $enable_libgcj in
359
yes)
360
  # If we reset it here, it won't get added to noconfigdirs in the
361
  # target-specific build rules, so it will be forcibly enabled
362
  # (unless the Java language itself isn't enabled).
363
  libgcj=
364
  ;;
365
no)
366
  # Make sure we get it printed in the list of not supported target libs.
367
  noconfigdirs="$noconfigdirs ${libgcj}"
368
  ;;
369
esac
370
 
371
 
372
# Disable libmudflap on some systems.
373
if test x$enable_libmudflap = x ; then
374
    case "${target}" in
375
    *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | bfin*-*-uclinux*)
376
        # Enable libmudflap by default in GNU and friends.
377
        ;;
378
    *-*-freebsd*)
379
        # Enable libmudflap by default in FreeBSD.
380
        ;;
381
    *)
382
        # Disable it by default everywhere else.
383
        noconfigdirs="$noconfigdirs target-libmudflap"
384
        ;;
385
    esac
386
fi
387
 
388
# Disable libgomp on non POSIX hosted systems.
389
if test x$enable_libgomp = x ; then
390
    # Enable libgomp by default on hosted POSIX systems.
391
    case "${target}" in
392
    *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
393
        ;;
394
    *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
395
        ;;
396
    *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
397
        ;;
398
    *-*-darwin* | *-*-aix*)
399
        ;;
400
    *)
401
        noconfigdirs="$noconfigdirs target-libgomp"
402
        ;;
403
    esac
404
fi
405
 
406
# Default libgloss CPU subdirectory.
407
libgloss_dir="$target_cpu"
408
 
409
case "${target}" in
410
  *-*-chorusos)
411
    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
412
    ;;
413
  powerpc-*-darwin* | i[[3456789]]86-*-darwin* | x86_64-*-darwin9*)
414
    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
415
    noconfigdirs="$noconfigdirs sim target-rda"
416
    ;;
417
  *-*-darwin*)
418
    noconfigdirs="$noconfigdirs ld gas gdb gprof"
419
    noconfigdirs="$noconfigdirs sim target-rda"
420
    noconfigdirs="$noconfigdirs ${libgcj}"
421
    ;;
422
  *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
423
    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
424
    ;;
425
  *-*-freebsd*)
426
    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
427
    if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
428
        && test -f /usr/local/include/gmp.h; then
429
      with_gmp=/usr/local
430
    fi
431
 
432
    # Skip some stuff that's unsupported on some FreeBSD configurations.
433
    case "${target}" in
434
      i*86-*-*) ;;
435
      alpha*-*-*) ;;
436
      *)
437
        noconfigdirs="$noconfigdirs ${libgcj}"
438
        ;;
439
    esac
440
    ;;
441
  *-*-kaos*)
442
    # Remove unsupported stuff on all kaOS configurations.
443
    skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-librx"
444
    skipdirs="$skipdirs target-libobjc target-examples target-groff target-gperf"
445
    skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
446
    noconfigdirs="$noconfigdirs target-libgloss"
447
    ;;
448
  *-*-netbsd*)
449
    # Skip some stuff on all NetBSD configurations.
450
    noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
451
 
452
    # Skip some stuff that's unsupported on some NetBSD configurations.
453
    case "${target}" in
454
      i*86-*-netbsdelf*) ;;
455
      arm*-*-netbsdelf*) ;;
456
      *)
457
        noconfigdirs="$noconfigdirs ${libgcj}"
458
        ;;
459
    esac
460
    ;;
461
  *-*-netware*)
462
    noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap"
463
    ;;
464
  *-*-rtems*)
465
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
466
    ;;
467
    # The tpf target doesn't support gdb yet.
468
  *-*-tpf*)
469
    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} target-libmudflap gdb tcl tk libgui itcl"
470
    ;;
471
  *-*-uclinux*)
472
    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
473
    ;;
474
  *-*-vxworks*)
475
    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}"
476
    ;;
477
  alpha*-dec-osf*)
478
    # ld works, but does not support shared libraries.
479
    # newlib is not 64 bit ready.  I'm not sure about fileutils.
480
    # gas doesn't generate exception information.
481
    noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
482
    ;;
483
  alpha*-*-*vms*)
484
    noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
485
    ;;
486
  alpha*-*-linux*)
487
    # newlib is not 64 bit ready
488
    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
489
    ;;
490
  alpha*-*-*)
491
    # newlib is not 64 bit ready
492
    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
493
    ;;
494
  am33_2.0-*-linux*)
495
    noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
496
    ;;
497
  sh-*-linux*)
498
    noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
499
    ;;
500
  sh*-*-pe|mips*-*-pe|*arm-wince-pe)
501
    noconfigdirs="$noconfigdirs ${libgcj}"
502
    noconfigdirs="$noconfigdirs target-examples"
503
    noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
504
    noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
505
    noconfigdirs="$noconfigdirs expect dejagnu"
506
    # the C++ libraries don't build on top of CE's C libraries
507
    noconfigdirs="$noconfigdirs target-libstdc++-v3"
508
    noconfigdirs="$noconfigdirs target-newlib"
509
    case "${host}" in
510
      *-*-cygwin*) ;; # keep gdb and readline
511
      *) noconfigdirs="$noconfigdirs gdb readline"
512
         ;;
513
    esac
514
    libgloss_dir=wince
515
    ;;
516
  arc-*-*)
517
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
518
    ;;
519
  arm-semi-aof )
520
    ;;
521
  arm-*-coff | strongarm-*-coff | xscale-*-coff)
522
    noconfigdirs="$noconfigdirs ${libgcj}"
523
    libgloss_dir=arm
524
    ;;
525
  arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
526
    noconfigdirs="$noconfigdirs target-libffi target-qthreads"
527
    libgloss_dir=arm
528
    ;;
529
  arm*-*-linux-gnueabi)
530
    noconfigdirs="$noconfigdirs target-qthreads"
531
    noconfigdirs="$noconfigdirs target-libobjc"
532
    case ${with_newlib} in
533
      no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
534
    esac
535
    libgloss_dir=arm
536
    ;;
537
  arm*-*-symbianelf*)
538
    noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
539
    libgloss_dir=arm
540
    ;;
541
  arm-*-pe*)
542
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
543
    ;;
544
  thumb-*-coff)
545
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
546
    ;;
547
  thumb-*-elf)
548
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
549
    ;;
550
  thumb-*-pe)
551
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
552
    ;;
553
  arm-*-riscix*)
554
    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
555
    ;;
556
  avr-*-*)
557
    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
558
    ;;
559
  bfin-*-*)
560
    noconfigdirs="$noconfigdirs gdb"
561
    if test x${is_cross_compiler} != xno ; then
562
      target_configdirs="${target_configdirs} target-bsp target-cygmon"
563
    fi
564
    ;;
565
  c4x-*-* | tic4x-*-*)
566
    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
567
    ;;
568
  c54x*-*-* | tic54x-*-*)
569
    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
570
    ;;
571
  cris-*-* | crisv32-*-*)
572
    unsupported_languages="$unsupported_languages java"
573
    case "${target}" in
574
      *-*-aout)
575
        unsupported_languages="$unsupported_languages fortran"
576
        noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
577
      *-*-elf)
578
        noconfigdirs="$noconfigdirs target-boehm-gc";;
579
      *-*-linux*)
580
        noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
581
      *)
582
        unsupported_languages="$unsupported_languages fortran"
583
        noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
584
    esac
585
    libgloss_dir=cris
586
    ;;
587
  crx-*-*)
588
    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap ${libgcj}"
589
    ;;
590
  d10v-*-*)
591
    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
592
    ;;
593
  d30v-*-*)
594
    noconfigdirs="$noconfigdirs ${libgcj} gdb"
595
    ;;
596
  ep9312-*-elf | ep9312-*-coff)
597
    libgloss_dir=arm
598
    ;;
599
  fr30-*-elf*)
600
    noconfigdirs="$noconfigdirs ${libgcj} gdb"
601
    ;;
602
  frv-*-*)
603
    noconfigdirs="$noconfigdirs ${libgcj}"
604
    ;;
605
  h8300*-*-*)
606
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
607
    ;;
608
  h8500-*-*)
609
    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
610
    ;;
611
  hppa1.1-*-osf* | hppa1.1-*-bsd* )
612
    ;;
613
  hppa*64*-*-linux* | parisc*64*-*-linux*)
614
    # In this case, it's because the hppa64-linux target is for
615
    # the kernel only at this point and has no libc, and thus no
616
    # headers, crt*.o, etc., all of which are needed by these.
617
    noconfigdirs="$noconfigdirs target-zlib"
618
    ;;
619
  parisc*-*-linux* | hppa*-*-linux*)
620
    ;;
621
  hppa*-*-*elf* | \
622
  hppa*-*-lites* | \
623
  hppa*-*-openbsd* | \
624
  hppa*64*-*-*)
625
    noconfigdirs="$noconfigdirs ${libgcj}"
626
    ;;
627
  hppa*-hp-hpux11*)
628
    noconfigdirs="$noconfigdirs ld shellutils"
629
    ;;
630
  hppa*-*-pro*)
631
    libgloss_dir=pa
632
    ;;
633
  hppa*-*-*)
634
    # According to Alexandre Oliva , libjava won't
635
    # build on HP-UX 10.20.
636
    noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
637
    ;;
638
  i960-*-*)
639
    noconfigdirs="$noconfigdirs ${libgcj} gdb"
640
    ;;
641
  ia64*-*-elf*)
642
    # No gdb support yet.
643
    noconfigdirs="$noconfigdirs readline mmalloc libgui itcl gdb"
644
    ;;
645
  ia64*-**-hpux*)
646
    # No gdb or ld support yet.
647
    noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld"
648
    ;;
649
  i370-*-opened*)
650
    ;;
651
  i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
652
    noconfigdirs="$noconfigdirs ${libgcj}"
653
    libgloss_dir=i386
654
    ;;
655
  i[[3456789]]86-*-linux*)
656
    # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
657
    # not build java stuff by default.
658
    case "${target}" in
659
      *-*-*libc1*)
660
        noconfigdirs="$noconfigdirs ${libgcj}";;
661
    esac
662
 
663
    # This section makes it possible to build newlib natively on linux.
664
    # If we are using a cross compiler then don't configure newlib.
665
    if test x${is_cross_compiler} != xno ; then
666
      noconfigdirs="$noconfigdirs target-newlib"
667
    fi
668
    noconfigdirs="$noconfigdirs target-libgloss"
669
    # If we are not using a cross compiler, do configure newlib.
670
    # Note however, that newlib will only be configured in this situation
671
    # if the --with-newlib option has been given, because otherwise
672
    # 'target-newlib' will appear in skipdirs.
673
    ;;
674
  i[[3456789]]86-*-mingw32*)
675
    target_configdirs="$target_configdirs target-winsup"
676
    noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}"
677
    ;;
678
  x86_64-*-mingw*)
679
    target_configdirs="$target_configdirs target-winsup"
680
    noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}"
681
    ;;
682
  *-*-cygwin*)
683
    target_configdirs="$target_configdirs target-libtermcap target-winsup"
684
    noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
685
    # always build newlib if winsup directory is present.
686
    if test -d "$srcdir/winsup/cygwin"; then
687
      skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
688
    elif test -d "$srcdir/newlib"; then
689
      echo "Warning: winsup/cygwin is missing so newlib can't be built."
690
    fi
691
    ;;
692
  i[[3456789]]86-moss-msdos | i[[3456789]]86-*-moss* | \
693
  i[[3456789]]86-*-uwin* | i[[3456789]]86-*-interix* )
694
    ;;
695
  i[[3456789]]86-*-pe)
696
    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
697
    ;;
698
  i[[3456789]]86-*-sco3.2v5*)
699
    # The linker does not yet know about weak symbols in COFF,
700
    # and is not configured to handle mixed ELF and COFF.
701
    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
702
    ;;
703
  i[[3456789]]86-*-sco*)
704
    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
705
    ;;
706
  i[[3456789]]86-*-solaris2*)
707
    noconfigdirs="$noconfigdirs target-libgloss"
708
    ;;
709
  i[[3456789]]86-*-sysv4*)
710
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
711
    ;;
712
  i[[3456789]]86-*-beos*)
713
    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
714
    ;;
715
  i[[3456789]]86-*-rdos*)
716
    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
717
    ;;
718
  m32r-*-*)
719
    noconfigdirs="$noconfigdirs ${libgcj}"
720
    ;;
721
  m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
722
    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
723
    libgloss_dir=m68hc11
724
    ;;
725
  m68k-*-elf*)
726
    noconfigdirs="$noconfigdirs ${libgcj}"
727
    ;;
728
  m68k-*-coff*)
729
    noconfigdirs="$noconfigdirs ${libgcj}"
730
    ;;
731
  m68*-*-* | fido-*-*)
732
    libgloss_dir=m68k
733
    ;;
734
  mcore-*-pe*)
735
  # The EPOC C++ environment does not support exceptions or rtti,
736
  # and so building libstdc++-v3 tends not to always work.
737
    noconfigdirs="$noconfigdirs target-libstdc++-v3"
738
    ;;
739
  mmix-*-*)
740
    noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
741
    unsupported_languages="$unsupported_languages fortran java"
742
    ;;
743
  mn10200-*-*)
744
    noconfigdirs="$noconfigdirs ${libgcj}"
745
    ;;
746
  mn10300-*-*)
747
    noconfigdirs="$noconfigdirs ${libgcj}"
748
    ;;
749
  mt-*-*)
750
    noconfigdirs="$noconfigdirs sim"
751
    ;;
752
  powerpc-*-aix*)
753
    # copied from rs6000-*-* entry
754
    noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}"
755
    ;;
756
  powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
757
    target_configdirs="$target_configdirs target-winsup"
758
    noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}"
759
    # always build newlib.
760
    skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
761
    ;;
762
    # This is temporary until we can link against shared libraries
763
  powerpcle-*-solaris*)
764
    noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}"
765
    libgloss_dir=rs6000
766
    ;;
767
  powerpc-*-beos*)
768
    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
769
    ;;
770
  powerpc-*-eabi)
771
    noconfigdirs="$noconfigdirs ${libgcj}"
772
    libgloss_dir=rs6000
773
    ;;
774
  powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* )
775
    libgloss_dir=rs6000
776
    ;;
777
  rs6000-*-lynxos*)
778
    noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
779
    ;;
780
  rs6000-*-aix*)
781
    noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}"
782
    ;;
783
  rs6000-*-*)
784
    noconfigdirs="$noconfigdirs gprof ${libgcj}"
785
    ;;
786
  m68k-apollo-*)
787
    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
788
    ;;
789
  mips*-sde-elf*)
790
    skipdirs="$skipdirs target-libiberty"
791
    noconfigdirs="$noconfigdirs ${libgcj}"
792
    if test x$with_newlib = xyes; then
793
      noconfigdirs="$noconfigdirs gprof"
794
    fi
795
    libgloss_dir=mips
796
    ;;
797
  mips*-*-irix5*)
798
    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
799
    ;;
800
  mips*-*-irix6*)
801
    # Linking libjava exceeds command-line length limits on at least
802
    # IRIX 6.2, but not on IRIX 6.5.
803
    # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
804
    # 
805
    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
806
    ;;
807
  mips*-*-bsd*)
808
    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
809
    ;;
810
  mips*-*-linux*)
811
    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
812
    ;;
813
  mips*-*-*)
814
    noconfigdirs="$noconfigdirs gprof ${libgcj}"
815
    libgloss_dir=mips
816
    ;;
817
  romp-*-*)
818
    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
819
    ;;
820
  sh-*-* | sh64-*-*)
821
    case "${host}" in
822
      i[[3456789]]86-*-vsta) ;; # don't add gprof back in
823
      i[[3456789]]86-*-go32*) ;; # don't add gprof back in
824
      i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in
825
      *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
826
    esac
827
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
828
    ;;
829
  sparclet-*-aout* | sparc86x-*-*)
830
    libgloss_dir=sparc
831
    ;;
832
  sparc-*-elf*)
833
    noconfigdirs="$noconfigdirs ${libgcj}"
834
    ;;
835
  sparc64-*-elf*)
836
    noconfigdirs="$noconfigdirs ${libgcj}"
837
    libgloss_dir=sparc
838
    ;;
839
  sparclite-*-*)
840
    noconfigdirs="$noconfigdirs ${libgcj}"
841
    libgloss_dir=sparc
842
    ;;
843
  sparc-*-sunos4*)
844
    noconfigdirs="$noconfigdirs ${libgcj}"
845
    if test x${is_cross_compiler} != xno ; then
846
           noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
847
    else
848
           use_gnu_ld=no
849
    fi
850
    ;;
851
  sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*)
852
    noconfigdirs="$noconfigdirs ${libgcj}"
853
    ;;
854
  sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
855
    ;;
856
  spu-*-*)
857
    skipdirs="target-libssp"
858
    ;;
859
  v810-*-*)
860
    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
861
    ;;
862
  v850-*-*)
863
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
864
    ;;
865
  v850e-*-*)
866
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
867
    ;;
868
  v850ea-*-*)
869
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
870
    ;;
871
  vax-*-vms)
872
    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
873
    ;;
874
  vax-*-*)
875
    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
876
    ;;
877
  xtensa*-*-*)
878
    noconfigdirs="$noconfigdirs ${libgcj}"
879
    ;;
880
  ip2k-*-*)
881
    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
882
    ;;
883
  *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
884
    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
885
    ;;
886
  *-*-lynxos*)
887
    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
888
    ;;
889
  *-*-*)
890
    noconfigdirs="$noconfigdirs ${libgcj}"
891
    ;;
892
esac
893
 
894
# If we aren't building newlib, then don't build libgloss, since libgloss
895
# depends upon some newlib header files.
896
case "${noconfigdirs}" in
897
  *target-libgloss*) ;;
898
  *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
899
esac
900
 
901
# Work in distributions that contain no compiler tools, like Autoconf.
902
tentative_cc=""
903
host_makefile_frag=/dev/null
904
if test -d ${srcdir}/config ; then
905
case "${host}" in
906
  m68k-hp-hpux*)
907
    # Avoid "too much defining" errors from HPUX compiler.
908
    tentative_cc="cc -Wp,-H256000"
909
    # If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
910
    # If it's HP/UX ar, this should be harmless.
911
    RANLIB="ar ts"
912
    ;;
913
  m68k-apollo-sysv*)
914
    tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
915
    ;;
916
  m68k-apollo-bsd*)
917
    #None of the Apollo compilers can compile gas or binutils.  The preprocessor
918
    # chokes on bfd, the compiler won't let you assign integers to enums, and
919
    # other problems.  Defining CC to gcc is a questionable way to say "don't use
920
    # the apollo compiler" (the preferred version of GCC could be called cc,
921
    # or whatever), but I'm not sure leaving CC as cc is any better...
922
    #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
923
    # Used to have BISON=yacc.
924
    tentative_cc=gcc
925
    ;;
926
  m88k-dg-dgux*)
927
    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
928
    ;;
929
  m88k-harris-cxux*)
930
    # Under CX/UX, we want to tell the compiler to use ANSI mode.
931
    tentative_cc="cc -Xa"
932
    host_makefile_frag="config/mh-cxux"
933
    ;;
934
  m88k-motorola-sysv*)
935
    ;;
936
  mips*-dec-ultrix*)
937
    tentative_cc="cc -Wf,-XNg1000"
938
    host_makefile_frag="config/mh-decstation"
939
    ;;
940
  mips*-nec-sysv4*)
941
    # The C compiler on NEC MIPS SVR4 needs bigger tables.
942
    tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
943
    host_makefile_frag="config/mh-necv4"
944
    ;;
945
  mips*-sgi-irix4*)
946
    # Tell compiler to use K&R C.  We can't compile under the SGI Ansi
947
    # environment.  Also bump switch table size so that cp-parse will
948
    # compile.  Bump string length limit so linker builds.
949
    tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
950
    ;;
951
  mips*-*-sysv4*)
952
    host_makefile_frag="config/mh-sysv4"
953
    ;;
954
  mips*-*-sysv*)
955
    # This is for a MIPS running RISC/os 4.52C.
956
 
957
    # This is needed for GDB, but needs to be in the top-level make because
958
    # if a library is compiled with the bsd headers and gets linked with the
959
    # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
960
    # a different size).
961
    # ptrace(2) apparently has problems in the BSD environment.  No workaround is
962
    # known except to select the sysv environment.  Could we use /proc instead?
963
    # These "sysv environments" and "bsd environments" often end up being a pain.
964
    #
965
    # This is not part of CFLAGS because perhaps not all C compilers have this
966
    # option.
967
    tentative_cc="cc -systype sysv"
968
    ;;
969
  i370-ibm-opened*)
970
    tentative_cc="c89"
971
    ;;
972
  i[[3456789]]86-*-sysv5*)
973
    host_makefile_frag="config/mh-sysv5"
974
    ;;
975
  i[[3456789]]86-*-dgux*)
976
    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
977
    host_makefile_frag="config/mh-dgux386"
978
    ;;
979
  i[[3456789]]86-ncr-sysv4.3*)
980
    # The MetaWare compiler will generate a copyright message unless you
981
    # turn it off by adding the -Hnocopyr flag.
982
    tentative_cc="cc -Hnocopyr"
983
    ;;
984
  i[[3456789]]86-ncr-sysv4*)
985
    # for an NCR 3000 (i486/SVR4) system.
986
    # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
987
    # This compiler not only emits obnoxious copyright messages every time
988
    # you run it, but it chokes and dies on a whole bunch of GNU source
989
    # files.  Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
990
    tentative_cc="/usr/ccs/ATT/cc"
991
    host_makefile_frag="config/mh-ncr3000"
992
    ;;
993
  i[[3456789]]86-*-sco3.2v5*)
994
    ;;
995
  i[[3456789]]86-*-sco*)
996
    # The native C compiler botches some simple uses of const.  Unfortunately,
997
    # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
998
    tentative_cc="cc -Dconst="
999
    host_makefile_frag="config/mh-sco"
1000
    ;;
1001
  i[[3456789]]86-*-udk*)
1002
    host_makefile_frag="config/mh-sysv5"
1003
    ;;
1004
  i[[3456789]]86-*-solaris2*)
1005
    host_makefile_frag="config/mh-sysv4"
1006
    ;;
1007
  i[[3456789]]86-*-msdosdjgpp*)
1008
    host_makefile_frag="config/mh-djgpp"
1009
    ;;
1010
  *-cygwin*)
1011
    host_makefile_frag="config/mh-cygwin"
1012
    ;;
1013
  *-mingw32*)
1014
    host_makefile_frag="config/mh-mingw"
1015
    ;;
1016
  *-mingw64*)
1017
    host_makefile_frag="config/mh-mingw"
1018
    ;;
1019
  *-interix*)
1020
    host_makefile_frag="config/mh-interix"
1021
    ;;
1022
  vax-*-ultrix2*)
1023
    # The old BSD pcc isn't up to compiling parts of gdb so use gcc
1024
    tentative_cc=gcc
1025
    ;;
1026
  *-*-solaris2*)
1027
    host_makefile_frag="config/mh-solaris"
1028
    ;;
1029
  m68k-sun-sunos*)
1030
    # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
1031
    # without overflowing the jump tables (-J says to use a 32 bit table)
1032
    tentative_cc="cc -J"
1033
    ;;
1034
  *-hp-hpux*)
1035
    tentative_cc="cc -Wp,-H256000"
1036
    ;;
1037
  *-*-hiux*)
1038
    tentative_cc="cc -Wp,-H256000"
1039
    ;;
1040
  rs6000-*-lynxos*)
1041
    # /bin/cc is less than useful for our purposes.  Always use GCC
1042
    tentative_cc="/usr/cygnus/progressive/bin/gcc"
1043
    host_makefile_frag="config/mh-lynxrs6k"
1044
    ;;
1045
  powerpc-*-darwin*)
1046
    host_makefile_frag="config/mh-ppc-darwin"
1047
    ;;
1048
  powerpc-*-aix*)
1049
    host_makefile_frag="config/mh-ppc-aix"
1050
    ;;
1051
  rs6000-*-aix*)
1052
    host_makefile_frag="config/mh-ppc-aix"
1053
    ;;
1054
  *-*-lynxos*)
1055
    # /bin/cc is less than useful for our purposes.  Always use GCC
1056
    tentative_cc="/bin/gcc"
1057
    ;;
1058
  *-*-sysv4*)
1059
    host_makefile_frag="config/mh-sysv4"
1060
    ;;
1061
  # This is placed last to prevent interfering with the cases above.
1062
  i[[3456789]]86-*-*)
1063
    # Build the stage2 and stage3 compilers with -fomit-frame-pointer.
1064
    host_makefile_frag="config/mh-x86omitfp"
1065
    ;;
1066
esac
1067
fi
1068
 
1069
# If we aren't going to be using gcc, see if we can extract a definition
1070
# of CC from the fragment.
1071
# Actually, use the 'pre-extracted' version above.
1072
if test -z "${CC}" && test "${build}" = "${host}" ; then
1073
  IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
1074
  found=
1075
  for dir in $PATH; do
1076
    test -z "$dir" && dir=.
1077
    if test -f $dir/gcc; then
1078
      found=yes
1079
      break
1080
    fi
1081
  done
1082
  IFS="$save_ifs"
1083
  if test -z "${found}" && test -n "${tentative_cc}" ; then
1084
    CC=$tentative_cc
1085
  fi
1086
fi
1087
 
1088
if test "${build}" != "${host}" ; then
1089
  AR_FOR_BUILD=${AR_FOR_BUILD-ar}
1090
  AS_FOR_BUILD=${AS_FOR_BUILD-as}
1091
  CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
1092
  CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
1093
  GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
1094
  GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
1095
  DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
1096
  LD_FOR_BUILD=${LD_FOR_BUILD-ld}
1097
  NM_FOR_BUILD=${NM_FOR_BUILD-nm}
1098
  RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
1099
  WINDRES_FOR_BUILD=${WINDRES_FOR_BUILD-windres}
1100
  WINDMC_FOR_BUILD=${WINDMC_FOR_BUILD-windmc}
1101
else
1102
  AR_FOR_BUILD="\$(AR)"
1103
  AS_FOR_BUILD="\$(AS)"
1104
  CC_FOR_BUILD="\$(CC)"
1105
  CXX_FOR_BUILD="\$(CXX)"
1106
  GCJ_FOR_BUILD="\$(GCJ)"
1107
  GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
1108
  DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
1109
  LD_FOR_BUILD="\$(LD)"
1110
  NM_FOR_BUILD="\$(NM)"
1111
  RANLIB_FOR_BUILD="\$(RANLIB)"
1112
  WINDRES_FOR_BUILD="\$(WINDRES)"
1113
  WINDMC_FOR_BUILD="\$(WINDMC)"
1114
fi
1115
 
1116
AC_PROG_CC
1117
AC_PROG_CXX
1118
 
1119
# We must set the default linker to the linker used by gcc for the correct
1120
# operation of libtool.  If LD is not defined and we are using gcc, try to
1121
# set the LD default to the ld used by gcc.
1122
if test -z "$LD"; then
1123
  if test "$GCC" = yes; then
1124
    case $build in
1125
    *-*-mingw*)
1126
      gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
1127
    *)
1128
      gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
1129
    esac
1130
    case $gcc_prog_ld in
1131
    # Accept absolute paths.
1132
    [[\\/]* | [A-Za-z]:[\\/]*)]
1133
      LD="$gcc_prog_ld" ;;
1134
    esac
1135
  fi
1136
fi
1137
 
1138
ACX_PROG_GNAT
1139
ACX_PROG_CMP_IGNORE_INITIAL
1140
 
1141
# Check for GMP and MPFR
1142
gmplibs="-lmpfr -lgmp"
1143
gmpinc=
1144
have_gmp=no
1145
 
1146
# Specify a location for mpfr
1147
# check for this first so it ends up on the link line before gmp.
1148
AC_ARG_WITH(mpfr-dir, [  --with-mpfr-dir=PATH    this option has been REMOVED],
1149
  AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
1150
Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH]))
1151
 
1152
AC_ARG_WITH(mpfr, [  --with-mpfr=PATH        specify prefix directory for installed MPFR package.
1153
                          Equivalent to --with-mpfr-include=PATH/include
1154
                          plus --with-mpfr-lib=PATH/lib])
1155
AC_ARG_WITH(mpfr_include, [  --with-mpfr-include=PATH
1156
                          specify directory for installed MPFR include files])
1157
AC_ARG_WITH(mpfr_lib, [  --with-mpfr-lib=PATH    specify directory for the installed MPFR library])
1158
 
1159
if test "x$with_mpfr" != x; then
1160
  gmplibs="-L$with_mpfr/lib $gmplibs"
1161
  gmpinc="-I$with_mpfr/include"
1162
fi
1163
if test "x$with_mpfr_include" != x; then
1164
  gmpinc="-I$with_mpfr_include"
1165
fi
1166
if test "x$with_mpfr_lib" != x; then
1167
  gmplibs="-L$with_mpfr_lib $gmplibs"
1168
fi
1169
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
1170
  gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/.libs -L$$r/$(HOST_SUBDIR)/mpfr/_libs '"$gmplibs"
1171
  gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
1172
  # Do not test the mpfr version.  Assume that it is sufficient, since
1173
  # it is in the source tree, and the library has not been built yet
1174
  # but it would be included on the link line in the version check below
1175
  # hence making the test fail.
1176
  have_gmp=yes
1177
fi
1178
 
1179
# Specify a location for gmp
1180
AC_ARG_WITH(gmp-dir, [  --with-gmp-dir=PATH     this option has been REMOVED],
1181
  AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
1182
Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH]))
1183
 
1184
AC_ARG_WITH(gmp, [  --with-gmp=PATH         specify prefix directory for the installed GMP package.
1185
                          Equivalent to --with-gmp-include=PATH/include
1186
                          plus --with-gmp-lib=PATH/lib])
1187
AC_ARG_WITH(gmp_include, [  --with-gmp-include=PATH specify directory for installed GMP include files])
1188
AC_ARG_WITH(gmp_lib, [  --with-gmp-lib=PATH     specify directory for the installed GMP library])
1189
 
1190
 
1191
if test "x$with_gmp" != x; then
1192
  gmplibs="-L$with_gmp/lib $gmplibs"
1193
  gmpinc="-I$with_gmp/include $gmpinc"
1194
fi
1195
if test "x$with_gmp_include" != x; then
1196
  gmpinc="-I$with_gmp_include $gmpinc"
1197
fi
1198
if test "x$with_gmp_lib" != x; then
1199
  gmplibs="-L$with_gmp_lib $gmplibs"
1200
fi
1201
if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
1202
  gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs"
1203
  gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
1204
  # Do not test the gmp version.  Assume that it is sufficient, since
1205
  # it is in the source tree, and the library has not been built yet
1206
  # but it would be included on the link line in the version check below
1207
  # hence making the test fail.
1208
  have_gmp=yes
1209
fi
1210
 
1211
if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then
1212
  have_gmp=yes
1213
  saved_CFLAGS="$CFLAGS"
1214
  CFLAGS="$CFLAGS $gmpinc"
1215
  # Check GMP actually works
1216
  AC_MSG_CHECKING([for correct version of gmp.h])
1217
  AC_TRY_COMPILE([#include "gmp.h"],[
1218
  #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1)
1219
  choke me
1220
  #endif
1221
  ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
1222
 
1223
  if test x"$have_gmp" = xyes; then
1224
    saved_LIBS="$LIBS"
1225
    LIBS="$LIBS $gmplibs"
1226
    dnl MPFR 2.2.1 is acceptable, but MPFR 2.3.0 is better.
1227
    AC_MSG_CHECKING([for correct version of mpfr.h])
1228
    AC_TRY_LINK([#include 
1229
    #include ],[
1230
    #if MPFR_VERSION < MPFR_VERSION_NUM(2,2,1)
1231
    choke me
1232
    #endif
1233
    mpfr_t n;
1234
    mpfr_t x;
1235
    int t;
1236
    mpfr_init (n);
1237
    mpfr_init (x);
1238
    mpfr_atan2 (n, n, x, GMP_RNDN);
1239
    mpfr_erfc (n, x, GMP_RNDN);
1240
    mpfr_subnormalize (x, t, GMP_RNDN);
1241
    ], [AC_TRY_LINK([#include 
1242
    #include ],[
1243
    #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,0)
1244
    choke me
1245
    #endif
1246
    mpfr_t n; mpfr_init(n);
1247
    ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1248
     [AC_MSG_RESULT([no]); have_gmp=no])
1249
      LIBS="$saved_LIBS"
1250
  fi
1251
  CFLAGS="$saved_CFLAGS"
1252
 
1253
  if test x$have_gmp != xyes; then
1254
    AC_MSG_ERROR([Building GCC requires GMP 4.1+ and MPFR 2.3.0+.
1255
Try the --with-gmp and/or --with-mpfr options to specify their locations.
1256
Copies of these libraries' source code can be found at their respective
1257
hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/.
1258
See also http://gcc.gnu.org/install/prerequisites.html for additional info.
1259
If you obtained GMP and/or MPFR from a vendor distribution package, make
1260
sure that you have installed both the libraries and the header files.
1261
They may be located in separate packages.])
1262
  fi
1263
fi
1264
 
1265
# Flags needed for both GMP and/or MPFR
1266
AC_SUBST(gmplibs)
1267
AC_SUBST(gmpinc)
1268
 
1269
# By default, C is the only stage 1 language.
1270
stage1_languages=,c,
1271
 
1272
# Figure out what language subdirectories are present.
1273
# Look if the user specified --enable-languages="..."; if not, use
1274
# the environment variable $LANGUAGES if defined. $LANGUAGES might
1275
# go away some day.
1276
# NB:  embedded tabs in this IF block -- do not untabify
1277
if test -d ${srcdir}/gcc; then
1278
  if test x"${enable_languages+set}" != xset; then
1279
    if test x"${LANGUAGES+set}" = xset; then
1280
      enable_languages="${LANGUAGES}"
1281
        echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
1282
    else
1283
      enable_languages=all
1284
    fi
1285
  else
1286
    if test x"${enable_languages}" = x ||
1287
       test x"${enable_languages}" = xyes;
1288
       then
1289
      echo configure.in: --enable-languages needs at least one language argument 1>&2
1290
      exit 1
1291
    fi
1292
  fi
1293
  enable_languages=`echo "${enable_languages}" | sed -e 's/[[   ,]][[   ,]]*/,/g' -e 's/,$//'`
1294
 
1295
  # 'f95' is the old name for the 'fortran' language. We issue a warning
1296
  # and make the substitution.
1297
  case ,${enable_languages}, in
1298
    *,f95,*)
1299
      echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
1300
      enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
1301
      ;;
1302
  esac
1303
 
1304
  # First scan to see if an enabled language requires some other language.
1305
  # We assume that a given config-lang.in will list all the language
1306
  # front ends it requires, even if some are required indirectly.
1307
  for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1308
    case ${lang_frag} in
1309
      ..) ;;
1310
      # The odd quoting in the next line works around
1311
      # an apparent bug in bash 1.12 on linux.
1312
      ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1313
      *)
1314
        # From the config-lang.in, get $language, $lang_requires
1315
        language=
1316
        lang_requires=
1317
        . ${lang_frag}
1318
        for other in ${lang_requires} ; do
1319
          case ,${enable_languages}, in
1320
            *,$other,*) ;;
1321
            *,all,*) ;;
1322
            *,$language,*)
1323
              echo " \`$other' language required by \`$language'; enabling" 1>&2
1324
              enable_languages="${enable_languages},${other}"
1325
              ;;
1326
          esac
1327
        done
1328
        ;;
1329
    esac
1330
  done
1331
 
1332
  new_enable_languages=,c,
1333
  missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
1334
  potential_languages=,c,
1335
 
1336
  for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1337
    case ${lang_frag} in
1338
      ..) ;;
1339
      # The odd quoting in the next line works around
1340
      # an apparent bug in bash 1.12 on linux.
1341
      ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1342
      *)
1343
        # From the config-lang.in, get $language, $target_libs,
1344
        # $lang_dirs, $boot_language, and $build_by_default
1345
        language=
1346
        target_libs=
1347
        lang_dirs=
1348
        subdir_requires=
1349
        boot_language=no
1350
        build_by_default=yes
1351
        . ${lang_frag}
1352
        if test x${language} = x; then
1353
          echo "${lang_frag} doesn't set \$language." 1>&2
1354
          exit 1
1355
        fi
1356
 
1357
        case ,${enable_languages}, in
1358
          *,${language},*)
1359
            # Language was explicitly selected; include it.
1360
            add_this_lang=yes
1361
            ;;
1362
          *,all,*)
1363
            # 'all' was selected, select it if it is a default language
1364
            add_this_lang=${build_by_default}
1365
            ;;
1366
          *)
1367
            add_this_lang=no
1368
            ;;
1369
        esac
1370
 
1371
        # Disable languages that need other directories if these aren't available.
1372
        for i in $subdir_requires; do
1373
          test -f "$srcdir/gcc/$i/config-lang.in" && continue
1374
          case ,${enable_languages}, in
1375
            *,${language},*)
1376
              # Specifically requested language; tell them.
1377
              AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
1378
              ;;
1379
            *)
1380
              # Silently disable.
1381
              add_this_lang=unsupported
1382
              ;;
1383
          esac
1384
        done
1385
 
1386
        # Disable Ada if no preexisting GNAT is available.
1387
        case ,${enable_languages},:${language}:${have_gnat} in
1388
          *,${language},*:ada:no)
1389
            # Specifically requested language; tell them.
1390
            AC_MSG_ERROR([GNAT is required to build $language])
1391
            ;;
1392
          *:ada:no)
1393
            # Silently disable.
1394
            add_this_lang=unsupported
1395
            ;;
1396
        esac
1397
 
1398
        # Disable a language that is unsupported by the target.
1399
        case " $unsupported_languages " in
1400
          *" $language "*)
1401
            add_this_lang=unsupported
1402
            ;;
1403
        esac
1404
 
1405
        case $add_this_lang in
1406
          unsupported)
1407
            # Remove language-dependent dirs.
1408
            eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1409
            ;;
1410
          no)
1411
            # Remove language-dependent dirs; still show language as supported.
1412
            eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1413
            potential_languages="${potential_languages}${language},"
1414
            ;;
1415
          yes)
1416
            new_enable_languages="${new_enable_languages}${language},"
1417
            potential_languages="${potential_languages}${language},"
1418
            missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
1419
            case ${boot_language} in
1420
              yes)
1421
                # Add to (comma-separated) list of stage 1 languages.
1422
                stage1_languages="${stage1_languages}${language},"
1423
                ;;
1424
            esac
1425
            ;;
1426
        esac
1427
        ;;
1428
    esac
1429
  done
1430
 
1431
  AC_ARG_ENABLE(stage1-languages,
1432
[  --enable-stage1-languages@<:@=all@:>@   choose additional languages to build during
1433
                          stage1.  Mostly useful for compiler development.],
1434
  [case ,${enable_stage1_languages}, in
1435
    ,no,|,,)
1436
      # Set it to something that will have no effect in the loop below
1437
      enable_stage1_languages=c ;;
1438
    ,yes,)
1439
      enable_stage1_languages=`echo $new_enable_languages | \
1440
        sed -e "s/^,//" -e "s/,$//" ` ;;
1441
    *,all,*)
1442
      enable_stage1_languages=`echo ,$enable_stage1_languages, | \
1443
        sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
1444
  esac
1445
 
1446
  # Add "good" languages from enable_stage1_languages to stage1_languages,
1447
  # while "bad" languages go in missing_languages.  Leave no duplicates.
1448
  for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
1449
    case $potential_languages in
1450
      *,$i,*)
1451
        case $stage1_languages in
1452
          *,$i,*) ;;
1453
          *) stage1_languages="$stage1_languages$i," ;;
1454
        esac ;;
1455
      *)
1456
        case $missing_languages in
1457
          *,$i,*) ;;
1458
          *) missing_languages="$missing_languages$i," ;;
1459
        esac ;;
1460
     esac
1461
  done])
1462
 
1463
  # Remove leading/trailing commas that were added for simplicity
1464
  potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
1465
  missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
1466
  stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
1467
  new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
1468
 
1469
  if test "x$missing_languages" != x; then
1470
    AC_MSG_ERROR([
1471
The following requested languages could not be built: ${missing_languages}
1472
Supported languages are: ${potential_languages}])
1473
  fi
1474
  if test "x$new_enable_languages" != "x$enable_languages"; then
1475
    echo The following languages will be built: ${new_enable_languages}
1476
    enable_languages="$new_enable_languages"
1477
  fi
1478
 
1479
  AC_SUBST(stage1_languages)
1480
  ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
1481
fi
1482
 
1483
# Handle --disable- generically.
1484
for dir in $configdirs $build_configdirs $target_configdirs ; do
1485
  dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
1486
  varname=`echo $dirname | sed -e s/+/_/g`
1487
  if eval test x\${enable_${varname}} "=" xno ; then
1488
    noconfigdirs="$noconfigdirs $dir"
1489
  fi
1490
done
1491
 
1492
# Check for Boehm's garbage collector
1493
AC_ARG_ENABLE(objc-gc,
1494
[  --enable-objc-gc        enable use of Boehm's garbage collector with the
1495
                          GNU Objective-C runtime],
1496
[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
1497
  *,objc,*:*:yes:*target-boehm-gc*)
1498
    AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
1499
    ;;
1500
esac])
1501
 
1502
# Make sure we only build Boehm's garbage collector if required.
1503
case ,${enable_languages},:${enable_objc_gc} in
1504
  *,objc,*:yes)
1505
    # Keep target-boehm-gc if requested for Objective-C.
1506
    ;;
1507
  *)
1508
    # Otherwise remove target-boehm-gc depending on target-libjava.
1509
    if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
1510
      noconfigdirs="$noconfigdirs target-boehm-gc"
1511
    fi
1512
    ;;
1513
esac
1514
 
1515
# Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
1516
# $build_configdirs and $target_configdirs.
1517
# If we have the source for $noconfigdirs entries, add them to $notsupp.
1518
 
1519
notsupp=""
1520
for dir in . $skipdirs $noconfigdirs ; do
1521
  dirname=`echo $dir | sed -e s/target-//g -e s/build-//g`
1522
  if test $dir != .  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1523
    configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
1524
    if test -r $srcdir/$dirname/configure ; then
1525
      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1526
        true
1527
      else
1528
        notsupp="$notsupp $dir"
1529
      fi
1530
    fi
1531
  fi
1532
  if test $dir != .  && echo " ${build_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1533
    build_configdirs=`echo " ${build_configdirs} " | sed -e "s/ ${dir} / /"`
1534
    if test -r $srcdir/$dirname/configure ; then
1535
      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1536
        true
1537
      else
1538
        notsupp="$notsupp $dir"
1539
      fi
1540
    fi
1541
  fi
1542
  if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1543
    target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
1544
    if test -r $srcdir/$dirname/configure ; then
1545
      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1546
        true
1547
      else
1548
        notsupp="$notsupp $dir"
1549
      fi
1550
    fi
1551
  fi
1552
done
1553
 
1554
# Sometimes the tools are distributed with libiberty but with no other
1555
# libraries.  In that case, we don't want to build target-libiberty.
1556
# Don't let libgcc imply libiberty either.
1557
if test -n "${target_configdirs}" ; then
1558
  libgcc=
1559
  others=
1560
  for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
1561
    if test "$i" = "libgcc"; then
1562
      libgcc=target-libgcc
1563
    elif test "$i" != "libiberty" ; then
1564
      if test -r $srcdir/$i/configure ; then
1565
        others=yes;
1566
        break;
1567
      fi
1568
    fi
1569
  done
1570
  if test -z "${others}" ; then
1571
    target_configdirs=$libgcc
1572
  fi
1573
fi
1574
 
1575
# Quietly strip out all directories which aren't configurable in this tree.
1576
# This relies on all configurable subdirectories being autoconfiscated, which
1577
# is now the case.
1578
build_configdirs_all="$build_configdirs"
1579
build_configdirs=
1580
for i in ${build_configdirs_all} ; do
1581
  j=`echo $i | sed -e s/build-//g`
1582
  if test -f ${srcdir}/$j/configure ; then
1583
    build_configdirs="${build_configdirs} $i"
1584
  fi
1585
done
1586
 
1587
configdirs_all="$configdirs"
1588
configdirs=
1589
for i in ${configdirs_all} ; do
1590
  if test -f ${srcdir}/$i/configure ; then
1591
    configdirs="${configdirs} $i"
1592
  fi
1593
done
1594
 
1595
target_configdirs_all="$target_configdirs"
1596
target_configdirs=
1597
for i in ${target_configdirs_all} ; do
1598
  j=`echo $i | sed -e s/target-//g`
1599
  if test -f ${srcdir}/$j/configure ; then
1600
    target_configdirs="${target_configdirs} $i"
1601
  fi
1602
done
1603
 
1604
# Produce a warning message for the subdirs we can't configure.
1605
# This isn't especially interesting in the Cygnus tree, but in the individual
1606
# FSF releases, it's important to let people know when their machine isn't
1607
# supported by the one or two programs in a package.
1608
 
1609
if test -n "${notsupp}" && test -z "${norecursion}" ; then
1610
  # If $appdirs is non-empty, at least one of those directories must still
1611
  # be configured, or we error out.  (E.g., if the gas release supports a
1612
  # specified target in some subdirs but not the gas subdir, we shouldn't
1613
  # pretend that all is well.)
1614
  if test -n "$appdirs" ; then
1615
    for dir in $appdirs ; do
1616
      if test -r $dir/Makefile.in ; then
1617
        if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1618
          appdirs=""
1619
          break
1620
        fi
1621
        if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
1622
          appdirs=""
1623
          break
1624
        fi
1625
      fi
1626
    done
1627
    if test -n "$appdirs" ; then
1628
      echo "*** This configuration is not supported by this package." 1>&2
1629
      exit 1
1630
    fi
1631
  fi
1632
  # Okay, some application will build, or we don't care to check.  Still
1633
  # notify of subdirs not getting built.
1634
  echo "*** This configuration is not supported in the following subdirectories:" 1>&2
1635
  echo "    ${notsupp}" 1>&2
1636
  echo "    (Any other directories should still work fine.)" 1>&2
1637
fi
1638
 
1639
case "$host" in
1640
  *msdosdjgpp*)
1641
    enable_gdbtk=no ;;
1642
esac
1643
 
1644
# To find our prefix, in gcc_cv_tool_prefix.
1645
ACX_TOOL_DIRS
1646
 
1647
copy_dirs=
1648
 
1649
AC_ARG_WITH([build-sysroot],
1650
  [  --with-build-sysroot=SYSROOT
1651
                          use sysroot as the system root during the build],
1652
  [if test x"$withval" != x ; then
1653
     SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
1654
   fi],
1655
  [SYSROOT_CFLAGS_FOR_TARGET=])
1656
AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
1657
 
1658
AC_ARG_WITH([debug-prefix-map],
1659
  [  --with-debug-prefix-map='A=B C=D ...'
1660
                             map A to B, C to D ... in debug information],
1661
  [if test x"$withval" != x; then
1662
     DEBUG_PREFIX_CFLAGS_FOR_TARGET=
1663
     for debug_map in $withval; do
1664
       DEBUG_PREFIX_CFLAGS_FOR_TARGET="$DEBUG_PREFIX_CFLAGS_FOR_TARGET -fdebug-prefix-map=$debug_map"
1665
     done
1666
   fi],
1667
  [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
1668
AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
1669
 
1670
# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
1671
# might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
1672
# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
1673
# We want to ensure that TARGET libraries (which we know are built with
1674
# gcc) are built with "-O2 -g", so include those options when setting
1675
# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
1676
if test "x$CFLAGS_FOR_TARGET" = x; then
1677
  CFLAGS_FOR_TARGET=$CFLAGS
1678
  case " $CFLAGS " in
1679
    *" -O2 "*) ;;
1680
    *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
1681
  esac
1682
  case " $CFLAGS " in
1683
    *" -g "* | *" -g3 "*) ;;
1684
    *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
1685
  esac
1686
fi
1687
AC_SUBST(CFLAGS_FOR_TARGET)
1688
 
1689
if test "x$CXXFLAGS_FOR_TARGET" = x; then
1690
  CXXFLAGS_FOR_TARGET=$CXXFLAGS
1691
  case " $CXXFLAGS " in
1692
    *" -O2 "*) ;;
1693
    *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
1694
  esac
1695
  case " $CXXFLAGS " in
1696
    *" -g "* | *" -g3 "*) ;;
1697
    *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
1698
  esac
1699
fi
1700
AC_SUBST(CXXFLAGS_FOR_TARGET)
1701
 
1702
# Handle --with-headers=XXX.  If the value is not "yes", the contents of
1703
# the named directory are copied to $(tooldir)/sys-include.
1704
if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
1705
  if test x${is_cross_compiler} = xno ; then
1706
    echo 1>&2 '***' --with-headers is only supported when cross compiling
1707
    exit 1
1708
  fi
1709
  if test x"${with_headers}" != xyes ; then
1710
    x=${gcc_cv_tool_prefix}
1711
    copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
1712
  fi
1713
fi
1714
 
1715
# Handle --with-libs=XXX.  If the value is not "yes", the contents of
1716
# the name directories are copied to $(tooldir)/lib.  Multiple directories
1717
# are permitted.
1718
if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
1719
  if test x${is_cross_compiler} = xno ; then
1720
    echo 1>&2 '***' --with-libs is only supported when cross compiling
1721
    exit 1
1722
  fi
1723
  if test x"${with_libs}" != xyes ; then
1724
    # Copy the libraries in reverse order, so that files in the first named
1725
    # library override files in subsequent libraries.
1726
    x=${gcc_cv_tool_prefix}
1727
    for l in ${with_libs}; do
1728
      copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
1729
    done
1730
  fi
1731
fi
1732
 
1733
# Set with_gnu_as and with_gnu_ld as appropriate.
1734
#
1735
# This is done by determining whether or not the appropriate directory
1736
# is available, and by checking whether or not specific configurations
1737
# have requested that this magic not happen.
1738
#
1739
# The command line options always override the explicit settings in
1740
# configure.in, and the settings in configure.in override this magic.
1741
#
1742
# If the default for a toolchain is to use GNU as and ld, and you don't
1743
# want to do that, then you should use the --without-gnu-as and
1744
# --without-gnu-ld options for the configure script.
1745
 
1746
if test x${use_gnu_as} = x &&
1747
   echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
1748
  with_gnu_as=yes
1749
  extra_host_args="$extra_host_args --with-gnu-as"
1750
fi
1751
 
1752
if test x${use_gnu_ld} = x &&
1753
   echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
1754
  with_gnu_ld=yes
1755
  extra_host_args="$extra_host_args --with-gnu-ld"
1756
fi
1757
 
1758
# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
1759
# can detect this case.
1760
 
1761
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
1762
  with_newlib=yes
1763
  extra_host_args="$extra_host_args --with-newlib"
1764
fi
1765
 
1766
# Handle ${copy_dirs}
1767
set fnord ${copy_dirs}
1768
shift
1769
while test $# != 0 ; do
1770
  if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
1771
    :
1772
  else
1773
    echo Copying $1 to $2
1774
 
1775
    # Use the install script to create the directory and all required
1776
    # parent directories.
1777
    if test -d $2 ; then
1778
      :
1779
    else
1780
      echo >config.temp
1781
      ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
1782
    fi
1783
 
1784
    # Copy the directory, assuming we have tar.
1785
    # FIXME: Should we use B in the second tar?  Not all systems support it.
1786
    (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
1787
 
1788
    # It is the responsibility of the user to correctly adjust all
1789
    # symlinks.  If somebody can figure out how to handle them correctly
1790
    # here, feel free to add the code.
1791
 
1792
    echo $1 > $2/COPIED
1793
  fi
1794
  shift; shift
1795
done
1796
 
1797
# Determine a target-dependent exec_prefix that the installed
1798
# gcc will search in.  Keep this list sorted by triplet, with
1799
# the *-*-osname triplets last.
1800
md_exec_prefix=
1801
case "${target}" in
1802
  alpha*-*-*vms*)
1803
    md_exec_prefix=/gnu/lib/gcc-lib
1804
    ;;
1805
  i[[34567]]86-pc-msdosdjgpp*)
1806
    md_exec_prefix=/dev/env/DJDIR/bin
1807
    ;;
1808
  i[[34567]]86-*-sco3.2v5*)
1809
    if test $with_gnu_as = yes; then
1810
      md_exec_prefix=/usr/gnu/bin
1811
    else
1812
      md_exec_prefix=/usr/ccs/bin/elf
1813
    fi
1814
    ;;
1815
 
1816
  mn10300-*-* | \
1817
  powerpc-*-chorusos* | \
1818
  powerpc*-*-eabi* | \
1819
  powerpc*-*-sysv* | \
1820
  powerpc*-*-kaos* | \
1821
  s390x-ibm-tpf*)
1822
    md_exec_prefix=/usr/ccs/bin
1823
    ;;
1824
  sparc64-*-elf*)
1825
    ;;
1826
  v850*-*-*)
1827
    md_exec_prefix=/usr/ccs/bin
1828
    ;;
1829
  xtensa*-*-elf*)
1830
    ;;
1831
 
1832
  *-*-beos* | \
1833
  *-*-elf* | \
1834
  *-*-hpux* | \
1835
  *-*-netware* | \
1836
  *-*-nto-qnx* | \
1837
  *-*-rtems* | \
1838
  *-*-solaris2* | \
1839
  *-*-sysv[[45]]* | \
1840
  *-*-vxworks* | \
1841
  *-wrs-windiss)
1842
    md_exec_prefix=/usr/ccs/bin
1843
    ;;
1844
esac
1845
 
1846
extra_arflags_for_target=
1847
extra_nmflags_for_target=
1848
extra_ranlibflags_for_target=
1849
target_makefile_frag=/dev/null
1850
case "${target}" in
1851
  mep*-*-*)
1852
    target_makefile_frag="config/mt-mep"
1853
    ;;
1854
  spu-*-*)
1855
    target_makefile_frag="config/mt-spu"
1856
    ;;
1857
  mips*-sde-elf*)
1858
    target_makefile_frag="config/mt-sde"
1859
    ;;
1860
  mipsisa*-*-elfoabi*)
1861
    target_makefile_frag="config/mt-mips-elfoabi"
1862
    ;;
1863
  *-*-netware*)
1864
    target_makefile_frag="config/mt-netware"
1865
    ;;
1866
  *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
1867
    target_makefile_frag="config/mt-gnu"
1868
    ;;
1869
  *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
1870
    # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
1871
    # commands to handle both 32-bit and 64-bit objects.  These flags are
1872
    # harmless if we're using GNU nm or ar.
1873
    extra_arflags_for_target=" -X32_64"
1874
    extra_nmflags_for_target=" -B -X32_64"
1875
    ;;
1876
  *-*-darwin*)
1877
    # ranlib from Darwin requires the -c flag to look at common symbols.
1878
    extra_ranlibflags_for_target=" -c"
1879
    ;;
1880
  mips*-*-pe | sh*-*-pe | *arm-wince-pe)
1881
    target_makefile_frag="config/mt-wince"
1882
    ;;
1883
esac
1884
 
1885
alphaieee_frag=/dev/null
1886
case $target in
1887
  alpha*-*-*)
1888
    # This just makes sure to use the -mieee option to build target libs.
1889
    # This should probably be set individually by each library.
1890
    alphaieee_frag="config/mt-alphaieee"
1891
    ;;
1892
esac
1893
 
1894
# If --enable-target-optspace always use -Os instead of -O2 to build
1895
# the target libraries, similarly if it is not specified, use -Os
1896
# on selected platforms.
1897
ospace_frag=/dev/null
1898
case "${enable_target_optspace}:${target}" in
1899
  yes:*)
1900
    ospace_frag="config/mt-ospace"
1901
    ;;
1902
  :d30v-*)
1903
    ospace_frag="config/mt-d30v"
1904
    ;;
1905
  :m32r-* | :d10v-* | :fr30-*)
1906
    ospace_frag="config/mt-ospace"
1907
    ;;
1908
  no:* | :*)
1909
    ;;
1910
  *)
1911
    echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
1912
    ;;
1913
esac
1914
 
1915
# Default to using --with-stabs for certain targets.
1916
if test x${with_stabs} = x ; then
1917
  case "${target}" in
1918
  mips*-*-irix[[56]]*)
1919
    ;;
1920
  mips*-*-* | alpha*-*-osf*)
1921
    with_stabs=yes;
1922
    extra_host_args="${extra_host_args} --with-stabs"
1923
    ;;
1924
  esac
1925
fi
1926
 
1927
# hpux11 in 64bit mode has libraries in a weird place.  Arrange to find
1928
# them automatically.
1929
case "${host}" in
1930
  hppa*64*-*-hpux11*)
1931
    extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
1932
    ;;
1933
esac
1934
 
1935
# Some systems (e.g., one of the i386-aix systems the gas testers are
1936
# using) don't handle "\$" correctly, so don't use it here.
1937
tooldir='${exec_prefix}'/${target_noncanonical}
1938
build_tooldir=${tooldir}
1939
 
1940
# Create a .gdbinit file which runs the one in srcdir
1941
# and tells GDB to look there for source files.
1942
 
1943
if test -r ${srcdir}/.gdbinit ; then
1944
  case ${srcdir} in
1945
    .) ;;
1946
    *) cat > ./.gdbinit <
1947
# ${NO_EDIT}
1948
dir ${srcdir}
1949
dir .
1950
source ${srcdir}/.gdbinit
1951
EOF
1952
    ;;
1953
  esac
1954
fi
1955
 
1956
# Make sure that the compiler is able to generate an executable.  If it
1957
# can't, we are probably in trouble.  We don't care whether we can run the
1958
# executable--we might be using a cross compiler--we only care whether it
1959
# can be created.  At this point the main configure script has set CC.
1960
we_are_ok=no
1961
echo "int main () { return 0; }" > conftest.c
1962
${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
1963
if test $? = 0 ; then
1964
  if test -s conftest || test -s conftest.exe ; then
1965
    we_are_ok=yes
1966
  fi
1967
fi
1968
case $we_are_ok in
1969
  no)
1970
    echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
1971
    echo 1>&2 "*** You must set the environment variable CC to a working compiler."
1972
    rm -f conftest*
1973
    exit 1
1974
    ;;
1975
esac
1976
rm -f conftest*
1977
 
1978
# The Solaris /usr/ucb/cc compiler does not appear to work.
1979
case "${host}" in
1980
  sparc-sun-solaris2*)
1981
      CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
1982
      if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
1983
          could_use=
1984
          test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
1985
          if test -d /opt/cygnus/bin ; then
1986
              if test "$could_use" = "" ; then
1987
                  could_use="/opt/cygnus/bin"
1988
              else
1989
                  could_use="$could_use or /opt/cygnus/bin"
1990
              fi
1991
          fi
1992
        if test "$could_use" = "" ; then
1993
            echo "Warning: compilation may fail because you're using"
1994
            echo "/usr/ucb/cc.  You should change your PATH or CC "
1995
            echo "variable and rerun configure."
1996
        else
1997
            echo "Warning: compilation may fail because you're using"
1998
            echo "/usr/ucb/cc, when you should use the C compiler from"
1999
            echo "$could_use.  You should change your"
2000
            echo "PATH or CC variable and rerun configure."
2001
        fi
2002
      fi
2003
  ;;
2004
esac
2005
 
2006
case "${host}" in
2007
  *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
2008
  *-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
2009
  *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
2010
esac
2011
 
2012
# Record target_configdirs and the configure arguments for target and
2013
# build configuration in Makefile.
2014
target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
2015
build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
2016
 
2017
# Determine whether gdb needs tk/tcl or not.
2018
# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
2019
# and in that case we want gdb to be built without tk.  Ugh!
2020
# In fact I believe gdb is the *only* package directly dependent on tk,
2021
# so we should be able to put the 'maybe's in unconditionally and
2022
# leave out the maybe dependencies when enable_gdbtk is false.  I'm not
2023
# 100% sure that that's safe though.
2024
 
2025
gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
2026
case "$enable_gdbtk" in
2027
  no)
2028
    GDB_TK="" ;;
2029
  yes)
2030
    GDB_TK="${gdb_tk}" ;;
2031
  *)
2032
    # Only add the dependency on gdbtk when GDBtk is part of the gdb
2033
    # distro.  Eventually someone will fix this and move Insight, nee
2034
    # gdbtk to a separate directory.
2035
    if test -d ${srcdir}/gdb/gdbtk ; then
2036
      GDB_TK="${gdb_tk}"
2037
    else
2038
      GDB_TK=""
2039
    fi
2040
    ;;
2041
esac
2042
CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
2043
INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
2044
 
2045
# Strip out unwanted targets.
2046
 
2047
# While at that, we remove Makefiles if we were started for recursive
2048
# configuration, so that the top-level Makefile reconfigures them,
2049
# like we used to do when configure itself was recursive.
2050
 
2051
# Loop over modules.  $extrasub must be used with care, limiting as
2052
# much as possible the usage of range addresses.  That's because autoconf
2053
# splits the sed script to overcome limits in the number of commands,
2054
# and relying on carefully-timed sed passes may turn out to be very hard
2055
# to maintain later.  In this particular case, you just have to be careful
2056
# not to nest @if/@endif pairs, because configure will not warn you at all.
2057
 
2058
AC_ARG_ENABLE([bootstrap],
2059
[  --enable-bootstrap      enable bootstrapping @<:@yes if native build@:>@],,
2060
enable_bootstrap=default)
2061
 
2062
# Issue errors and warnings for invalid/strange bootstrap combinations.
2063
case "$configdirs" in
2064
  *gcc*) have_compiler=yes ;;
2065
  *) have_compiler=no ;;
2066
esac
2067
 
2068
case "$have_compiler:$host:$target:$enable_bootstrap" in
2069
  *:*:*:no) ;;
2070
 
2071
  # Default behavior.  Enable bootstrap if we have a compiler
2072
  # and we are in a native configuration.
2073
  yes:$build:$build:default)
2074
    enable_bootstrap=yes ;;
2075
 
2076
  *:*:*:default)
2077
    enable_bootstrap=no ;;
2078
 
2079
  # We have a compiler and we are in a native configuration, bootstrap is ok
2080
  yes:$build:$build:yes)
2081
    ;;
2082
 
2083
  # Other configurations, but we have a compiler.  Assume the user knows
2084
  # what he's doing.
2085
  yes:*:*:yes)
2086
    AC_MSG_WARN([trying to bootstrap a cross compiler])
2087
    ;;
2088
 
2089
  # No compiler: if they passed --enable-bootstrap explicitly, fail
2090
  no:*:*:yes)
2091
    AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
2092
 
2093
  # Fail if wrong command line
2094
  *)
2095
    AC_MSG_ERROR([invalid option for --enable-bootstrap])
2096
    ;;
2097
esac
2098
 
2099
# Adjust the toplevel makefile according to whether bootstrap was selected.
2100
case "$enable_bootstrap" in
2101
  yes)
2102
    bootstrap_suffix=bootstrap ;;
2103
  no)
2104
    bootstrap_suffix=no-bootstrap ;;
2105
esac
2106
 
2107
for module in ${build_configdirs} ; do
2108
  if test -z "${no_recursion}" \
2109
     && test -f ${build_subdir}/${module}/Makefile; then
2110
    echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
2111
    rm -f ${build_subdir}/${module}/Makefile
2112
  fi
2113
  extrasub="$extrasub
2114
/^@if build-$module\$/d
2115
/^@endif build-$module\$/d
2116
/^@if build-$module-$bootstrap_suffix\$/d
2117
/^@endif build-$module-$bootstrap_suffix\$/d"
2118
done
2119
for module in ${configdirs} ; do
2120
  if test -z "${no_recursion}"; then
2121
    for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
2122
      if test -f ${file}; then
2123
        echo 1>&2 "*** removing ${file} to force reconfigure"
2124
        rm -f ${file}
2125
      fi
2126
    done
2127
  fi
2128
  extrasub="$extrasub
2129
/^@if $module\$/d
2130
/^@endif $module\$/d
2131
/^@if $module-$bootstrap_suffix\$/d
2132
/^@endif $module-$bootstrap_suffix\$/d"
2133
done
2134
for module in ${target_configdirs} ; do
2135
  if test -z "${no_recursion}" \
2136
     && test -f ${target_subdir}/${module}/Makefile; then
2137
    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
2138
    rm -f ${target_subdir}/${module}/Makefile
2139
  fi
2140
  extrasub="$extrasub
2141
/^@if target-$module\$/d
2142
/^@endif target-$module\$/d
2143
/^@if target-$module-$bootstrap_suffix\$/d
2144
/^@endif target-$module-$bootstrap_suffix\$/d"
2145
done
2146
 
2147
extrasub="$extrasub
2148
/^@if /,/^@endif /d"
2149
 
2150
# Create the serialization dependencies.  This uses a temporary file.
2151
 
2152
AC_ARG_ENABLE([serial-configure],
2153
[  --enable-serial-@<:@{host,target,build}-@:>@configure
2154
                          force sequential configuration of
2155
                          sub-packages for the host, target or build
2156
                          machine, or all sub-packages])
2157
 
2158
case ${enable_serial_configure} in
2159
  yes)
2160
    enable_serial_build_configure=yes
2161
    enable_serial_host_configure=yes
2162
    enable_serial_target_configure=yes
2163
    ;;
2164
esac
2165
 
2166
# These force 'configure's to be done one at a time, to avoid problems
2167
# with contention over a shared config.cache.
2168
rm -f serdep.tmp
2169
echo '# serdep.tmp' > serdep.tmp
2170
olditem=
2171
test "x${enable_serial_build_configure}" = xyes &&
2172
for item in ${build_configdirs} ; do
2173
  case ${olditem} in
2174
    "") ;;
2175
    *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
2176
  esac
2177
  olditem=${item}
2178
done
2179
olditem=
2180
test "x${enable_serial_host_configure}" = xyes &&
2181
for item in ${configdirs} ; do
2182
  case ${olditem} in
2183
    "") ;;
2184
    *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
2185
  esac
2186
  olditem=${item}
2187
done
2188
olditem=
2189
test "x${enable_serial_target_configure}" = xyes &&
2190
for item in ${target_configdirs} ; do
2191
  case ${olditem} in
2192
    "") ;;
2193
    *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
2194
  esac
2195
  olditem=${item}
2196
done
2197
serialization_dependencies=serdep.tmp
2198
AC_SUBST_FILE(serialization_dependencies)
2199
 
2200
# Base args.  Strip norecursion, cache-file, srcdir, host, build,
2201
# target, nonopt, and variable assignments.  These are the ones we
2202
# might not want to pass down to subconfigures.  Also strip
2203
# program-prefix, program-suffix, and program-transform-name, so that
2204
# we can pass down a consistent program-transform-name.
2205
baseargs=
2206
keep_next=no
2207
skip_next=no
2208
eval "set -- $ac_configure_args"
2209
for ac_arg
2210
do
2211
  if test X"$skip_next" = X"yes"; then
2212
    skip_next=no
2213
    continue
2214
  fi
2215
  if test X"$keep_next" = X"yes"; then
2216
    case $ac_arg in
2217
      *\'*)
2218
        ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2219
    esac
2220
    baseargs="$baseargs '$ac_arg'"
2221
    keep_next=no
2222
    continue
2223
  fi
2224
 
2225
  # Handle separated arguments.  Based on the logic generated by
2226
  # autoconf 2.59.
2227
  case $ac_arg in
2228
    *=* | --config-cache | -C | -disable-* | --disable-* \
2229
      | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2230
      | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2231
      | -with-* | --with-* | -without-* | --without-* | --x)
2232
      separate_arg=no
2233
      ;;
2234
    -*)
2235
      separate_arg=yes
2236
      ;;
2237
    *)
2238
      separate_arg=no
2239
      ;;
2240
  esac
2241
 
2242
  case "$ac_arg" in
2243
    --no*)
2244
      continue
2245
      ;;
2246
    --c* | \
2247
    --sr* | \
2248
    --ho* | \
2249
    --bu* | \
2250
    --t* | \
2251
    --program-* | \
2252
    -cache_file* | \
2253
    -srcdir* | \
2254
    -host* | \
2255
    -build* | \
2256
    -target* | \
2257
    -program-prefix* | \
2258
    -program-suffix* | \
2259
    -program-transform-name* )
2260
      skip_next=$separate_arg
2261
      continue
2262
      ;;
2263
    -*)
2264
      # An option.  Add it.
2265
      case $ac_arg in
2266
        *\'*)
2267
          ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2268
      esac
2269
      baseargs="$baseargs '$ac_arg'"
2270
      keep_next=$separate_arg
2271
      ;;
2272
    *)
2273
      # Either a variable assignment, or a nonopt (triplet).  Don't
2274
      # pass it down; let the Makefile handle this.
2275
      continue
2276
      ;;
2277
  esac
2278
done
2279
# Remove the initial space we just introduced and, as these will be
2280
# expanded by make, quote '$'.
2281
baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
2282
 
2283
# Add in --program-transform-name, after --program-prefix and
2284
# --program-suffix have been applied to it.  Autoconf has already
2285
# doubled dollar signs and backslashes in program_transform_name; we want
2286
# the backslashes un-doubled, and then the entire thing wrapped in single
2287
# quotes, because this will be expanded first by make and then by the shell.
2288
# Also, because we want to override the logic in subdir configure scripts to
2289
# choose program_transform_name, replace any s,x,x, with s,y,y,.
2290
sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" < conftestsed.out
2291
${program_transform_name}
2292
EOF_SED
2293
gcc_transform_name=`cat conftestsed.out`
2294
rm -f conftestsed.out
2295
baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
2296
if test "$silent" = yes; then
2297
  baseargs="$baseargs --silent"
2298
fi
2299
 
2300
# For the build-side libraries, we just need to pretend we're native,
2301
# and not use the same cache file.  Multilibs are neither needed nor
2302
# desired.
2303
build_configargs="--cache-file=../config.cache ${baseargs}"
2304
 
2305
# For host modules, accept cache file option, or specification as blank.
2306
case "${cache_file}" in
2307
"") # empty
2308
  cache_file_option="" ;;
2309
/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
2310
  cache_file_option="--cache-file=${cache_file}" ;;
2311
*) # relative path
2312
  cache_file_option="--cache-file=../${cache_file}" ;;
2313
esac
2314
 
2315
# Host dirs don't like to share a cache file either, horribly enough.
2316
# This seems to be due to autoconf 2.5x stupidity.
2317
host_configargs="--cache-file=./config.cache ${extra_host_args} ${baseargs}"
2318
 
2319
target_configargs=${baseargs}
2320
 
2321
# Passing a --with-cross-host argument lets the target libraries know
2322
# whether they are being built with a cross-compiler or being built
2323
# native.  However, it would be better to use other mechanisms to make the
2324
# sorts of decisions they want to make on this basis.  Please consider
2325
# this option to be deprecated.  FIXME.
2326
if test x${is_cross_compiler} = xyes ; then
2327
  target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
2328
fi
2329
 
2330
# Default to --enable-multilib.
2331
if test x${enable_multilib} = x ; then
2332
  target_configargs="--enable-multilib ${target_configargs}"
2333
fi
2334
 
2335
# Pass --with-newlib if appropriate.  Note that target_configdirs has
2336
# changed from the earlier setting of with_newlib.
2337
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
2338
  target_configargs="--with-newlib ${target_configargs}"
2339
fi
2340
 
2341
# Different target subdirs use different values of certain variables
2342
# (notably CXX).  Worse, multilibs use *lots* of different values.
2343
# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
2344
# it doesn't automatically accept command-line overrides of them.
2345
# This means it's not safe for target subdirs to share a cache file,
2346
# which is disgusting, but there you have it.  Hopefully this can be
2347
# fixed in future.  It's still worthwhile to use a cache file for each
2348
# directory.  I think.
2349
 
2350
# Pass the appropriate --build, --host, --target and --cache-file arguments.
2351
# We need to pass --target, as newer autoconf's requires consistency
2352
# for target_alias and gcc doesn't manage it consistently.
2353
target_configargs="--cache-file=./config.cache ${target_configargs}"
2354
 
2355
FLAGS_FOR_TARGET=
2356
case " $target_configdirs " in
2357
 *" newlib "*)
2358
  case " $target_configargs " in
2359
  *" --with-newlib "*)
2360
   case "$target" in
2361
   *-cygwin*)
2362
     FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include' ;;
2363
   esac
2364
 
2365
   # If we're not building GCC, don't discard standard headers.
2366
   if test -d ${srcdir}/gcc; then
2367
     FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
2368
 
2369
     if test "${build}" != "${host}"; then
2370
       # On Canadian crosses, CC_FOR_TARGET will have already been set
2371
       # by `configure', so we won't have an opportunity to add -Bgcc/
2372
       # to it.  This is right: we don't want to search that directory
2373
       # for binaries, but we want the header files in there, so add
2374
       # them explicitly.
2375
       FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include'
2376
 
2377
       # Someone might think of using the pre-installed headers on
2378
       # Canadian crosses, in case the installed compiler is not fully
2379
       # compatible with the compiler being built.  In this case, it
2380
       # would be better to flag an error than risking having
2381
       # incompatible object files being constructed.  We can't
2382
       # guarantee that an error will be flagged, but let's hope the
2383
       # compiler will do it, when presented with incompatible header
2384
       # files.
2385
     fi
2386
   fi
2387
 
2388
   case "${target}-${is_cross_compiler}" in
2389
   i[[3456789]]86-*-linux*-no)
2390
      # Here host == target, so we don't need to build gcc,
2391
      # so we don't want to discard standard headers.
2392
      FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
2393
      ;;
2394
   *)
2395
      # If we're building newlib, use its generic headers last, but search
2396
      # for any libc-related directories first (so make it the last -B
2397
      # switch).
2398
      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
2399
 
2400
      # If we're building libgloss, find the startup file, simulator library
2401
      # and linker script.
2402
      case " $target_configdirs " in
2403
        *" libgloss "*)
2404
        # Look for startup file, simulator library and maybe linker script.
2405
        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
2406
        # Look for libnosys.a in case the target needs it.
2407
        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
2408
        # Most targets have the linker script in the source directory.
2409
        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
2410
        ;;
2411
      esac
2412
      ;;
2413
   esac
2414
   ;;
2415
  esac
2416
  ;;
2417
esac
2418
case "$target" in
2419
*-mingw*)
2420
  # Can't be handled as Cygwin above since Mingw does not use newlib.
2421
  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/mingw -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/mingw/include -isystem $$s/winsup/w32api/include' ;;
2422
esac
2423
 
2424
# Allow the user to override the flags for
2425
# our build compiler if desired.
2426
if test x"${build}" = x"${host}" ; then
2427
  CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
2428
  CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
2429
  LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
2430
fi
2431
 
2432
# On Canadian crosses, we'll be searching the right directories for
2433
# the previously-installed cross compiler, so don't bother to add
2434
# flags for directories within the install tree of the compiler
2435
# being built; programs in there won't even run.
2436
if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
2437
  # Search for pre-installed headers if nothing else fits.
2438
  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
2439
fi
2440
 
2441
if test "x${use_gnu_ld}" = x &&
2442
   echo " ${configdirs} " | grep " ld " > /dev/null ; then
2443
  # Arrange for us to find uninstalled linker scripts.
2444
  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
2445
fi
2446
 
2447
# Search for other target-specific linker scripts and such.
2448
case "${target}" in
2449
  mep*)
2450
    FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
2451
    ;;
2452
esac
2453
 
2454
# Makefile fragments.
2455
for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
2456
do
2457
  eval fragval=\$$frag
2458
  if test $fragval != /dev/null; then
2459
    eval $frag=${srcdir}/$fragval
2460
  fi
2461
done
2462
AC_SUBST_FILE(host_makefile_frag)
2463
AC_SUBST_FILE(target_makefile_frag)
2464
AC_SUBST_FILE(alphaieee_frag)
2465
AC_SUBST_FILE(ospace_frag)
2466
 
2467
# Miscellanea: directories, flags, etc.
2468
AC_SUBST(RPATH_ENVVAR)
2469
AC_SUBST(tooldir)
2470
AC_SUBST(build_tooldir)
2471
AC_SUBST(CONFIGURE_GDB_TK)
2472
AC_SUBST(GDB_TK)
2473
AC_SUBST(INSTALL_GDB_TK)
2474
 
2475
# Build module lists & subconfigure args.
2476
AC_SUBST(build_configargs)
2477
AC_SUBST(build_configdirs)
2478
 
2479
# Host module lists & subconfigure args.
2480
AC_SUBST(host_configargs)
2481
AC_SUBST(configdirs)
2482
 
2483
# Target module lists & subconfigure args.
2484
AC_SUBST(target_configargs)
2485
 
2486
 
2487
# Build tools.
2488
AC_SUBST(AR_FOR_BUILD)
2489
AC_SUBST(AS_FOR_BUILD)
2490
AC_SUBST(CC_FOR_BUILD)
2491
AC_SUBST(CFLAGS_FOR_BUILD)
2492
AC_SUBST(CXXFLAGS_FOR_BUILD)
2493
AC_SUBST(CXX_FOR_BUILD)
2494
AC_SUBST(DLLTOOL_FOR_BUILD)
2495
AC_SUBST(GCJ_FOR_BUILD)
2496
AC_SUBST(GFORTRAN_FOR_BUILD)
2497
AC_SUBST(LDFLAGS_FOR_BUILD)
2498
AC_SUBST(LD_FOR_BUILD)
2499
AC_SUBST(NM_FOR_BUILD)
2500
AC_SUBST(RANLIB_FOR_BUILD)
2501
AC_SUBST(WINDMC_FOR_BUILD)
2502
AC_SUBST(WINDRES_FOR_BUILD)
2503
AC_SUBST(config_shell)
2504
 
2505
# Generate default definitions for YACC, M4, LEX and other programs that run
2506
# on the build machine.  These are used if the Makefile can't locate these
2507
# programs in objdir.
2508
MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
2509
 
2510
AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
2511
case " $build_configdirs " in
2512
  *" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
2513
  *" byacc "*) YACC='$$r/$(BUILD_SUBDIR)/byacc/byacc' ;;
2514
esac
2515
 
2516
AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
2517
case " $build_configdirs " in
2518
  *" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
2519
esac
2520
 
2521
AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
2522
case " $build_configdirs " in
2523
  *" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
2524
esac
2525
 
2526
AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
2527
case " $build_configdirs " in
2528
  *" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
2529
  *" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
2530
esac
2531
 
2532
AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
2533
case " $build_configdirs " in
2534
  *" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
2535
esac
2536
 
2537
AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
2538
case " $build_configdirs " in
2539
  *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
2540
  *)
2541
changequote(,)
2542
    # For an installed makeinfo, we require it to be from texinfo 4.6 or
2543
    # higher, else we use the "missing" dummy.
2544
    if ${MAKEINFO} --version \
2545
       | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
2546
      :
2547
    else
2548
      MAKEINFO="$MISSING makeinfo"
2549
    fi
2550
    ;;
2551
changequote([,])
2552
esac
2553
 
2554
# FIXME: expect and dejagnu may become build tools?
2555
 
2556
AC_CHECK_PROGS(EXPECT, expect, expect)
2557
case " $configdirs " in
2558
  *" expect "*)
2559
    test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
2560
    ;;
2561
esac
2562
 
2563
AC_CHECK_PROGS(RUNTEST, runtest, runtest)
2564
case " $configdirs " in
2565
  *" dejagnu "*)
2566
    test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest'
2567
    ;;
2568
esac
2569
 
2570
 
2571
# Host tools.
2572
NCN_STRICT_CHECK_TOOLS(AR, ar)
2573
NCN_STRICT_CHECK_TOOLS(AS, as)
2574
NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
2575
NCN_STRICT_CHECK_TOOLS(LD, ld)
2576
NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
2577
NCN_STRICT_CHECK_TOOLS(NM, nm)
2578
NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, :)
2579
NCN_STRICT_CHECK_TOOLS(STRIP, strip, :)
2580
NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
2581
NCN_STRICT_CHECK_TOOLS(WINDMC, windmc)
2582
NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
2583
NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
2584
AC_SUBST(CC)
2585
AC_SUBST(CXX)
2586
AC_SUBST(CFLAGS)
2587
AC_SUBST(CXXFLAGS)
2588
 
2589
# Target tools.
2590
AC_ARG_WITH([build-time-tools],
2591
  [  --with-build-time-tools=PATH
2592
                          use given path to find target tools during the build],
2593
  [case x"$withval" in
2594
     x/*) ;;
2595
     *)
2596
       with_build_time_tools=
2597
       AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path])
2598
       ;;
2599
   esac],
2600
  [with_build_time_tools=])
2601
 
2602
NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
2603
NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
2604
NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
2605
NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
2606
NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
2607
 
2608
ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
2609
ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
2610
ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
2611
ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
2612
ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
2613
ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
2614
ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
2615
ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib, :)
2616
ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
2617
ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
2618
ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
2619
 
2620
RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
2621
 
2622
GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
2623
GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
2624
GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
2625
GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
2626
                [gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
2627
                c++)
2628
GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
2629
                [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
2630
                c++)
2631
GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
2632
GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
2633
GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
2634
                [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
2635
GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
2636
                [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
2637
GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
2638
GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
2639
GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
2640
GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
2641
GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
2642
GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip])
2643
GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
2644
GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc])
2645
 
2646
AC_SUBST(FLAGS_FOR_TARGET)
2647
AC_SUBST(RAW_CXX_FOR_TARGET)
2648
 
2649
# Certain tools may need extra flags.
2650
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
2651
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
2652
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
2653
 
2654
# When building target libraries, except in a Canadian cross, we use
2655
# the same toolchain as the compiler we just built.
2656
COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
2657
COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
2658
COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
2659
if test $host = $build; then
2660
  case " $configdirs " in
2661
    *" gcc "*)
2662
      COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
2663
      COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
2664
      COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
2665
      ;;
2666
  esac
2667
fi
2668
 
2669
AC_SUBST(COMPILER_AS_FOR_TARGET)
2670
AC_SUBST(COMPILER_LD_FOR_TARGET)
2671
AC_SUBST(COMPILER_NM_FOR_TARGET)
2672
 
2673
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
2674
AC_ARG_ENABLE(maintainer-mode,
2675
[  --enable-maintainer-mode enable make rules and dependencies not useful
2676
                          (and sometimes confusing) to the casual installer],
2677
      USE_MAINTAINER_MODE=$enableval,
2678
      USE_MAINTAINER_MODE=no)
2679
AC_MSG_RESULT($USE_MAINTAINER_MODE)
2680
AC_SUBST(MAINTAINER_MODE_TRUE)
2681
AC_SUBST(MAINTAINER_MODE_FALSE)
2682
if test "$USE_MAINTAINER_MODE" = yes; then
2683
  MAINTAINER_MODE_TRUE=
2684
  MAINTAINER_MODE_FALSE='#'
2685
else
2686
  MAINTAINER_MODE_TRUE='#'
2687
  MAINTAINER_MODE_FALSE=
2688
fi
2689
MAINT=$MAINTAINER_MODE_TRUE
2690
AC_SUBST(MAINT)dnl
2691
 
2692
# ---------------------
2693
# GCC bootstrap support
2694
# ---------------------
2695
 
2696
# Stage specific cflags for build.
2697
stage1_cflags="-g"
2698
case $build in
2699
  vax-*-*)
2700
    case ${GCC} in
2701
      yes) stage1_cflags="-g -Wa,-J" ;;
2702
      *) stage1_cflags="-g -J" ;;
2703
    esac ;;
2704
esac
2705
 
2706
# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
2707
if test "$GCC" = yes; then
2708
  saved_CFLAGS="$CFLAGS"
2709
 
2710
  # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
2711
  CFLAGS="$CFLAGS -fkeep-inline-functions"
2712
  AC_MSG_CHECKING([whether -fkeep-inline-functions is supported])
2713
  AC_TRY_COMPILE([
2714
#if (__GNUC__ < 3) \
2715
    || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \
2716
                          || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1)))
2717
#error http://gcc.gnu.org/PR29382
2718
#endif
2719
    ],,
2720
    [AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"],
2721
    [AC_MSG_RESULT([no])])
2722
 
2723
  CFLAGS="$saved_CFLAGS"
2724
fi
2725
 
2726
AC_SUBST(stage1_cflags)
2727
 
2728
# Enable --enable-checking in stage1 of the compiler.
2729
AC_ARG_ENABLE(stage1-checking,
2730
[  --enable-stage1-checking@<:@=all@:>@   choose additional checking for stage1
2731
                          of the compiler],
2732
[stage1_checking=--enable-checking=${enable_stage1_checking}],
2733
[if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
2734
  stage1_checking=--enable-checking=yes,types
2735
else
2736
  stage1_checking=--enable-checking=$enable_checking,types
2737
fi])
2738
AC_SUBST(stage1_checking)
2739
 
2740
# Enable -Werror in bootstrap stage2 and later.
2741
AC_ARG_ENABLE(werror,
2742
[  --enable-werror         enable -Werror in bootstrap stage2 and later], [],
2743
[if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
2744
  enable_werror=yes
2745
else
2746
  enable_werror=no
2747
fi])
2748
case ${enable_werror} in
2749
  yes) stage2_werror_flag="--enable-werror-always" ;;
2750
  *) stage2_werror_flag="" ;;
2751
esac
2752
AC_SUBST(stage2_werror_flag)
2753
 
2754
# Flags needed to enable html installing and building
2755
AC_ARG_WITH(datarootdir,
2756
[  --with-datarootdir      use datarootdir as the data root directory.],
2757
[datarootdir="\${prefix}/${withval}"],
2758
[datarootdir="\${prefix}/share"])
2759
 
2760
AC_ARG_WITH(docdir,
2761
[  --with-docdir           install documentation in this directory.],
2762
[docdir="\${prefix}/${withval}"],
2763
[docdir="\${datarootdir}/doc"])
2764
 
2765
AC_ARG_WITH(pdfdir,
2766
[  --with-pdfdir           install pdf in this directory.],
2767
[pdfdir="\${prefix}/${withval}"],
2768
[pdfdir="\${docdir}"])
2769
 
2770
AC_ARG_WITH(htmldir,
2771
[  --with-htmldir          install html in this directory.],
2772
[htmldir="\${prefix}/${withval}"],
2773
[htmldir="\${docdir}"])
2774
 
2775
AC_SUBST(datarootdir)
2776
AC_SUBST(docdir)
2777
AC_SUBST(pdfdir)
2778
AC_SUBST(htmldir)
2779
 
2780
AC_OUTPUT(Makefile)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.