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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [configure.ac] - Blame information for rev 842

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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