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

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-binutils/] [binutils-2.19.1/] [configure.ac] - Blame information for rev 6

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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