OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [configure.ac] - Blame information for rev 553

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 263 jeremybenn
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2
#   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
3
#   Free Software Foundation, 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="texinfo 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
  tic6x-*-*)
944
    noconfigdirs="$noconfigdirs gdb sim ${libgcj}"
945
    ;;
946
  v810-*-*)
947
    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
948
    ;;
949
  v850-*-*)
950
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
951
    ;;
952
  v850e-*-*)
953
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
954
    ;;
955
  v850ea-*-*)
956
    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
957
    ;;
958
  vax-*-vms)
959
    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
960
    ;;
961
  vax-*-*)
962
    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
963
    ;;
964
  xtensa*-*-*)
965
    noconfigdirs="$noconfigdirs ${libgcj}"
966
    ;;
967
  ip2k-*-*)
968
    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
969
    ;;
970
  *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
971
    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
972
    ;;
973
  *-*-lynxos*)
974
    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
975
    ;;
976
  *-*-*)
977
    noconfigdirs="$noconfigdirs ${libgcj}"
978
    ;;
979
esac
980
 
981
# If we aren't building newlib, then don't build libgloss, since libgloss
982
# depends upon some newlib header files.
983
case "${noconfigdirs}" in
984
  *target-libgloss*) ;;
985
  *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
986
esac
987
 
988
# Work in distributions that contain no compiler tools, like Autoconf.
989
tentative_cc=""
990
host_makefile_frag=/dev/null
991
if test -d ${srcdir}/config ; then
992
case "${host}" in
993
  m68k-hp-hpux*)
994
    # Avoid "too much defining" errors from HPUX compiler.
995
    tentative_cc="cc -Wp,-H256000"
996
    # If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
997
    # If it's HP/UX ar, this should be harmless.
998
    RANLIB="ar ts"
999
    ;;
1000
  m68k-apollo-sysv*)
1001
    tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
1002
    ;;
1003
  m68k-apollo-bsd*)
1004
    #None of the Apollo compilers can compile gas or binutils.  The preprocessor
1005
    # chokes on bfd, the compiler won't let you assign integers to enums, and
1006
    # other problems.  Defining CC to gcc is a questionable way to say "don't use
1007
    # the apollo compiler" (the preferred version of GCC could be called cc,
1008
    # or whatever), but I'm not sure leaving CC as cc is any better...
1009
    #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
1010
    # Used to have BISON=yacc.
1011
    tentative_cc=gcc
1012
    ;;
1013
  m88k-dg-dgux*)
1014
    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
1015
    ;;
1016
  m88k-harris-cxux*)
1017
    # Under CX/UX, we want to tell the compiler to use ANSI mode.
1018
    tentative_cc="cc -Xa"
1019
    host_makefile_frag="config/mh-cxux"
1020
    ;;
1021
  m88k-motorola-sysv*)
1022
    ;;
1023
  mips*-dec-ultrix*)
1024
    tentative_cc="cc -Wf,-XNg1000"
1025
    host_makefile_frag="config/mh-decstation"
1026
    ;;
1027
  mips*-nec-sysv4*)
1028
    # The C compiler on NEC MIPS SVR4 needs bigger tables.
1029
    tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
1030
    host_makefile_frag="config/mh-necv4"
1031
    ;;
1032
  mips*-sgi-irix4*)
1033
    # Tell compiler to use K&R C.  We can't compile under the SGI Ansi
1034
    # environment.  Also bump switch table size so that cp-parse will
1035
    # compile.  Bump string length limit so linker builds.
1036
    tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
1037
    ;;
1038
  mips*-*-sysv4*)
1039
    host_makefile_frag="config/mh-sysv4"
1040
    ;;
1041
  mips*-*-sysv*)
1042
    # This is for a MIPS running RISC/os 4.52C.
1043
 
1044
    # This is needed for GDB, but needs to be in the top-level make because
1045
    # if a library is compiled with the bsd headers and gets linked with the
1046
    # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
1047
    # a different size).
1048
    # ptrace(2) apparently has problems in the BSD environment.  No workaround is
1049
    # known except to select the sysv environment.  Could we use /proc instead?
1050
    # These "sysv environments" and "bsd environments" often end up being a pain.
1051
    #
1052
    # This is not part of CFLAGS because perhaps not all C compilers have this
1053
    # option.
1054
    tentative_cc="cc -systype sysv"
1055
    ;;
1056
  i370-ibm-opened*)
1057
    tentative_cc="c89"
1058
    ;;
1059
  i[[3456789]]86-*-sysv5*)
1060
    host_makefile_frag="config/mh-sysv5"
1061
    ;;
1062
  i[[3456789]]86-*-dgux*)
1063
    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
1064
    host_makefile_frag="config/mh-dgux386"
1065
    ;;
1066
  i[[3456789]]86-ncr-sysv4.3*)
1067
    # The MetaWare compiler will generate a copyright message unless you
1068
    # turn it off by adding the -Hnocopyr flag.
1069
    tentative_cc="cc -Hnocopyr"
1070
    ;;
1071
  i[[3456789]]86-ncr-sysv4*)
1072
    # for an NCR 3000 (i486/SVR4) system.
1073
    # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
1074
    # This compiler not only emits obnoxious copyright messages every time
1075
    # you run it, but it chokes and dies on a whole bunch of GNU source
1076
    # files.  Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
1077
    tentative_cc="/usr/ccs/ATT/cc"
1078
    host_makefile_frag="config/mh-ncr3000"
1079
    ;;
1080
  i[[3456789]]86-*-sco3.2v5*)
1081
    ;;
1082
  i[[3456789]]86-*-sco*)
1083
    # The native C compiler botches some simple uses of const.  Unfortunately,
1084
    # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
1085
    tentative_cc="cc -Dconst="
1086
    host_makefile_frag="config/mh-sco"
1087
    ;;
1088
  i[[3456789]]86-*-udk*)
1089
    host_makefile_frag="config/mh-sysv5"
1090
    ;;
1091
  i[[3456789]]86-*-solaris2*)
1092
    host_makefile_frag="config/mh-sysv4"
1093
    ;;
1094
  i[[3456789]]86-*-msdosdjgpp*)
1095
    host_makefile_frag="config/mh-djgpp"
1096
    ;;
1097
  *-cygwin*)
1098
    ACX_CHECK_CYGWIN_CAT_WORKS
1099
    host_makefile_frag="config/mh-cygwin"
1100
    ;;
1101
  *-mingw*)
1102
    host_makefile_frag="config/mh-mingw"
1103
    ;;
1104
  *-interix*)
1105
    host_makefile_frag="config/mh-interix"
1106
    ;;
1107
  vax-*-ultrix2*)
1108
    # The old BSD pcc isn't up to compiling parts of gdb so use gcc
1109
    tentative_cc=gcc
1110
    ;;
1111
  *-*-solaris2*)
1112
    host_makefile_frag="config/mh-solaris"
1113
    ;;
1114
  m68k-sun-sunos*)
1115
    # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
1116
    # without overflowing the jump tables (-J says to use a 32 bit table)
1117
    tentative_cc="cc -J"
1118
    ;;
1119
  hppa*-hp-hpux10*)
1120
    tentative_cc="cc -Wp,-H256000"
1121
    host_makefile_frag="config/mh-pa-hpux10"
1122
    ;;
1123
  hppa*-hp-hpux* | hppa*-*-hiux*)
1124
    tentative_cc="cc -Wp,-H256000"
1125
    host_makefile_frag="config/mh-pa"
1126
    ;;
1127
  hppa*-*)
1128
    host_makefile_frag="config/mh-pa"
1129
    ;;
1130
  *-hp-hpux* | *-*-hiux*)
1131
    tentative_cc="cc -Wp,-H256000"
1132
    ;;
1133
  rs6000-*-lynxos*)
1134
    # /bin/cc is less than useful for our purposes.  Always use GCC
1135
    tentative_cc="/usr/cygnus/progressive/bin/gcc"
1136
    host_makefile_frag="config/mh-lynxrs6k"
1137
    ;;
1138
  powerpc-*-darwin*)
1139
    host_makefile_frag="config/mh-ppc-darwin"
1140
    ;;
1141
  powerpc-*-aix*)
1142
    host_makefile_frag="config/mh-ppc-aix"
1143
    ;;
1144
  rs6000-*-aix*)
1145
    host_makefile_frag="config/mh-ppc-aix"
1146
    ;;
1147
  *-*-lynxos*)
1148
    # /bin/cc is less than useful for our purposes.  Always use GCC
1149
    tentative_cc="/bin/gcc"
1150
    ;;
1151
  *-*-sysv4*)
1152
    host_makefile_frag="config/mh-sysv4"
1153
    ;;
1154
  # This is placed last to prevent interfering with the cases above.
1155
  i[[3456789]]86-*-*)
1156
    # Build the stage2 and stage3 compilers with -fomit-frame-pointer.
1157
    host_makefile_frag="config/mh-x86omitfp"
1158
    ;;
1159
esac
1160
fi
1161
 
1162
# If we aren't going to be using gcc, see if we can extract a definition
1163
# of CC from the fragment.
1164
# Actually, use the 'pre-extracted' version above.
1165
if test -z "${CC}" && test "${build}" = "${host}" ; then
1166
  IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
1167
  found=
1168
  for dir in $PATH; do
1169
    test -z "$dir" && dir=.
1170
    if test -f $dir/gcc; then
1171
      found=yes
1172
      break
1173
    fi
1174
  done
1175
  IFS="$save_ifs"
1176
  if test -z "${found}" && test -n "${tentative_cc}" ; then
1177
    CC=$tentative_cc
1178
  fi
1179
fi
1180
 
1181
if test "${build}" != "${host}" ; then
1182
  AR_FOR_BUILD=${AR_FOR_BUILD-ar}
1183
  AS_FOR_BUILD=${AS_FOR_BUILD-as}
1184
  CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
1185
  CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
1186
  GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
1187
  GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
1188
  DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
1189
  LD_FOR_BUILD=${LD_FOR_BUILD-ld}
1190
  NM_FOR_BUILD=${NM_FOR_BUILD-nm}
1191
  RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
1192
  WINDRES_FOR_BUILD=${WINDRES_FOR_BUILD-windres}
1193
  WINDMC_FOR_BUILD=${WINDMC_FOR_BUILD-windmc}
1194
else
1195
  AR_FOR_BUILD="\$(AR)"
1196
  AS_FOR_BUILD="\$(AS)"
1197
  CC_FOR_BUILD="\$(CC)"
1198
  CXX_FOR_BUILD="\$(CXX)"
1199
  GCJ_FOR_BUILD="\$(GCJ)"
1200
  GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
1201
  DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
1202
  LD_FOR_BUILD="\$(LD)"
1203
  NM_FOR_BUILD="\$(NM)"
1204
  RANLIB_FOR_BUILD="\$(RANLIB)"
1205
  WINDRES_FOR_BUILD="\$(WINDRES)"
1206
  WINDMC_FOR_BUILD="\$(WINDMC)"
1207
fi
1208
 
1209
AC_PROG_CC
1210
AC_PROG_CXX
1211
 
1212
# We must set the default linker to the linker used by gcc for the correct
1213
# operation of libtool.  If LD is not defined and we are using gcc, try to
1214
# set the LD default to the ld used by gcc.
1215
if test -z "$LD"; then
1216
  if test "$GCC" = yes; then
1217
    case $build in
1218
    *-*-mingw*)
1219
      gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
1220
    *)
1221
      gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
1222
    esac
1223
    case $gcc_prog_ld in
1224
    # Accept absolute paths.
1225
    [[\\/]* | [A-Za-z]:[\\/]*)]
1226
      LD="$gcc_prog_ld" ;;
1227
    esac
1228
  fi
1229
fi
1230
 
1231
ACX_PROG_GNAT
1232
ACX_PROG_CMP_IGNORE_INITIAL
1233
 
1234
# See if we are building gcc with C++.
1235
AC_ARG_ENABLE(build-with-cxx,
1236
[  --enable-build-with-cxx build with C++ compiler instead of C compiler],
1237
ENABLE_BUILD_WITH_CXX=$enableval,
1238
ENABLE_BUILD_WITH_CXX=no)
1239
 
1240
# Used for setting $lt_cv_objdir
1241
_LT_CHECK_OBJDIR
1242
 
1243
# Check for GMP, MPFR and MPC
1244
gmplibs="-lmpc -lmpfr -lgmp"
1245
gmpinc=
1246
have_gmp=no
1247
 
1248
# Specify a location for mpc
1249
# check for this first so it ends up on the link line before mpfr.
1250
AC_ARG_WITH(mpc, [  --with-mpc=PATH        specify prefix directory for installed MPC package.
1251
                          Equivalent to --with-mpc-include=PATH/include
1252
                          plus --with-mpc-lib=PATH/lib])
1253
AC_ARG_WITH(mpc_include, [  --with-mpc-include=PATH
1254
                          specify directory for installed MPC include files])
1255
AC_ARG_WITH(mpc_lib, [  --with-mpc-lib=PATH    specify directory for the installed MPC library])
1256
 
1257
if test "x$with_mpc" != x; then
1258
  gmplibs="-L$with_mpc/lib $gmplibs"
1259
  gmpinc="-I$with_mpc/include $gmpinc"
1260
fi
1261
if test "x$with_mpc_include" != x; then
1262
  gmpinc="-I$with_mpc_include $gmpinc"
1263
fi
1264
if test "x$with_mpc_lib" != x; then
1265
  gmplibs="-L$with_mpc_lib $gmplibs"
1266
fi
1267
if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then
1268
  gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/'"$lt_cv_objdir $gmplibs"
1269
  gmpinc='-I$$s/mpc/src '"$gmpinc"
1270
  # Do not test the mpc version.  Assume that it is sufficient, since
1271
  # it is in the source tree, and the library has not been built yet
1272
  # but it would be included on the link line in the version check below
1273
  # hence making the test fail.
1274
  have_gmp=yes
1275
fi
1276
 
1277
# Specify a location for mpfr
1278
# check for this first so it ends up on the link line before gmp.
1279
AC_ARG_WITH(mpfr-dir, [  --with-mpfr-dir=PATH    this option has been REMOVED],
1280
  AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
1281
Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH]))
1282
 
1283
AC_ARG_WITH(mpfr, [  --with-mpfr=PATH        specify prefix directory for installed MPFR package.
1284
                          Equivalent to --with-mpfr-include=PATH/include
1285
                          plus --with-mpfr-lib=PATH/lib])
1286
AC_ARG_WITH(mpfr_include, [  --with-mpfr-include=PATH
1287
                          specify directory for installed MPFR include files])
1288
AC_ARG_WITH(mpfr_lib, [  --with-mpfr-lib=PATH    specify directory for the installed MPFR library])
1289
 
1290
if test "x$with_mpfr" != x; then
1291
  gmplibs="-L$with_mpfr/lib $gmplibs"
1292
  gmpinc="-I$with_mpfr/include $gmpinc"
1293
fi
1294
if test "x$with_mpfr_include" != x; then
1295
  gmpinc="-I$with_mpfr_include $gmpinc"
1296
fi
1297
if test "x$with_mpfr_lib" != x; then
1298
  gmplibs="-L$with_mpfr_lib $gmplibs"
1299
fi
1300
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
1301
  gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
1302
  gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
1303
  extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
1304
  # Do not test the mpfr version.  Assume that it is sufficient, since
1305
  # it is in the source tree, and the library has not been built yet
1306
  # but it would be included on the link line in the version check below
1307
  # hence making the test fail.
1308
  have_gmp=yes
1309
fi
1310
 
1311
# Specify a location for gmp
1312
AC_ARG_WITH(gmp-dir, [  --with-gmp-dir=PATH     this option has been REMOVED],
1313
  AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
1314
Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH]))
1315
 
1316
AC_ARG_WITH(gmp, [  --with-gmp=PATH         specify prefix directory for the installed GMP package.
1317
                          Equivalent to --with-gmp-include=PATH/include
1318
                          plus --with-gmp-lib=PATH/lib])
1319
AC_ARG_WITH(gmp_include, [  --with-gmp-include=PATH specify directory for installed GMP include files])
1320
AC_ARG_WITH(gmp_lib, [  --with-gmp-lib=PATH     specify directory for the installed GMP library])
1321
 
1322
 
1323
if test "x$with_gmp" != x; then
1324
  gmplibs="-L$with_gmp/lib $gmplibs"
1325
  gmpinc="-I$with_gmp/include $gmpinc"
1326
fi
1327
if test "x$with_gmp_include" != x; then
1328
  gmpinc="-I$with_gmp_include $gmpinc"
1329
fi
1330
if test "x$with_gmp_lib" != x; then
1331
  gmplibs="-L$with_gmp_lib $gmplibs"
1332
fi
1333
if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
1334
  gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs"
1335
  gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
1336
  extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp'
1337
  extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
1338
  # Do not test the gmp version.  Assume that it is sufficient, since
1339
  # it is in the source tree, and the library has not been built yet
1340
  # but it would be included on the link line in the version check below
1341
  # hence making the test fail.
1342
  have_gmp=yes
1343
fi
1344
 
1345
if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then
1346
  have_gmp=yes
1347
  saved_CFLAGS="$CFLAGS"
1348
  CFLAGS="$CFLAGS $gmpinc"
1349
  # Check for the recommended and required versions of GMP.
1350
  AC_MSG_CHECKING([for the correct version of gmp.h])
1351
  AC_TRY_COMPILE([#include "gmp.h"],[
1352
  #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1353
  #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1354
  #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,0)
1355
  choke me
1356
  #endif
1357
  ], [AC_TRY_COMPILE([#include ],[
1358
  #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1359
  #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1360
  #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2)
1361
  choke me
1362
  #endif
1363
  ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1364
   [AC_MSG_RESULT([no]); have_gmp=no])
1365
 
1366
  # If we have GMP, check the MPFR version.
1367
  if test x"$have_gmp" = xyes; then
1368
    # Check for the recommended and required versions of MPFR.
1369
    AC_MSG_CHECKING([for the correct version of mpfr.h])
1370
    AC_TRY_COMPILE([#include 
1371
    #include ],[
1372
    #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1)
1373
    choke me
1374
    #endif
1375
    ], [AC_TRY_COMPILE([#include 
1376
    #include ],[
1377
    #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2)
1378
    choke me
1379
    #endif
1380
    ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1381
     [AC_MSG_RESULT([no]); have_gmp=no])
1382
  fi
1383
 
1384
  # Check for the MPC header version.
1385
  if test x"$have_gmp" = xyes ; then
1386
    # Check for the recommended and required versions of MPC.
1387
    AC_MSG_CHECKING([for the correct version of mpc.h])
1388
    AC_TRY_COMPILE([#include ],[
1389
    #if MPC_VERSION < MPC_VERSION_NUM(0,8,0)
1390
    choke me
1391
    #endif
1392
    ], [AC_TRY_COMPILE([#include ],[
1393
    #if MPC_VERSION < MPC_VERSION_NUM(0,8,1)
1394
    choke me
1395
    #endif
1396
    ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1397
     [AC_MSG_RESULT([no]); have_gmp=no])
1398
  fi
1399
 
1400
  # Now check the MPFR library.
1401
  if test x"$have_gmp" = xyes; then
1402
    saved_LIBS="$LIBS"
1403
    LIBS="$LIBS $gmplibs"
1404
    AC_MSG_CHECKING([for the correct version of the gmp/mpfr/mpc libraries])
1405
    AC_TRY_LINK([#include ],[
1406
    mpfr_t n;
1407
    mpfr_t x;
1408
    mpc_t c;
1409
    int t;
1410
    mpfr_init (n);
1411
    mpfr_init (x);
1412
    mpfr_atan2 (n, n, x, GMP_RNDN);
1413
    mpfr_erfc (n, x, GMP_RNDN);
1414
    mpfr_subnormalize (x, t, GMP_RNDN);
1415
    mpfr_clear(n);
1416
    mpfr_clear(x);
1417
    mpc_init2 (c, 53);
1418
    mpc_set_ui_ui (c, 1, 1, MPC_RNDNN);
1419
    mpc_cosh (c, c, MPC_RNDNN);
1420
    mpc_pow (c, c, c, MPC_RNDNN);
1421
    mpc_acosh (c, c, MPC_RNDNN);
1422
    mpc_clear (c);
1423
    ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
1424
    LIBS="$saved_LIBS"
1425
  fi
1426
 
1427
  CFLAGS="$saved_CFLAGS"
1428
 
1429
# The library versions listed in the error message below should match
1430
# the HARD-minimums enforced above.
1431
  if test x$have_gmp != xyes; then
1432
    AC_MSG_ERROR([Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
1433
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
1434
their locations.  Source code for these libraries can be found at
1435
their respective hosting sites as well as at
1436
ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
1437
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
1438
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
1439
make sure that you have installed both the libraries and the header
1440
files.  They may be located in separate packages.])
1441
  fi
1442
fi
1443
 
1444
# Flags needed for both GMP, MPFR and/or MPC.
1445
AC_SUBST(gmplibs)
1446
AC_SUBST(gmpinc)
1447
AC_SUBST(extra_mpfr_configure_flags)
1448
AC_SUBST(extra_mpc_gmp_configure_flags)
1449
AC_SUBST(extra_mpc_mpfr_configure_flags)
1450
 
1451
# Allow host libstdc++ to be specified for static linking with PPL.
1452
AC_ARG_WITH(host-libstdcxx, [  --with-host-libstdcxx=L Use linker arguments L to link with libstdc++
1453
                          when linking with PPL])
1454
 
1455
case $with_host_libstdcxx in
1456
  no|yes)
1457
    AC_MSG_ERROR([-with-host-libstdcxx needs an argument])
1458
    ;;
1459
esac
1460
 
1461
# Linker flags to use for stage1 or when not boostrapping.
1462
AC_ARG_WITH(stage1-ldflags,
1463
[  --with-stage1-ldflags=FLAGS Linker flags for stage1],
1464
[if test "$withval" = "no" -o "$withval" = "yes"; then
1465
   stage1_ldflags=
1466
 else
1467
   stage1_ldflags=$withval
1468
 fi],
1469
[stage1_ldflags=])
1470
AC_SUBST(stage1_ldflags)
1471
 
1472
# Libraries to use for stage1 or when not bootstrapping.
1473
AC_ARG_WITH(stage1-libs,
1474
[  -with-stage1-libs=LIBS      Libraries for stage1],
1475
[if test "$withval" = "no" -o "$withval" = "yes"; then
1476
   stage1_libs=
1477
 else
1478
   stage1_libs=$withval
1479
 fi],
1480
[stage1_libs=$with_host_libstdcxx])
1481
AC_SUBST(stage1_libs)
1482
 
1483
# Libraries to use for stage2 and later builds.  This defaults to the
1484
# argument passed to --with-host-libstdcxx.
1485
AC_ARG_WITH(boot-libs,
1486
[  --with-boot-libs=LIBS     Libraries for stage2 and later],
1487
[if test "$withval" = "no" -o "$withval" = "yes"; then
1488
   poststage1_libs=
1489
 else
1490
   poststage1_libs=$withval
1491
 fi],
1492
[poststage1_libs=$with_host_libstdcxx])
1493
AC_SUBST(poststage1_libs)
1494
 
1495
# Linker flags to use for stage2 and later builds.
1496
AC_ARG_WITH(boot-ldflags,
1497
[  --with-boot-ldflags=FLAGS Linker flags for stage2 and later],
1498
[if test "$withval" = "no" -o "$withval" = "yes"; then
1499
   poststage1_ldflags=
1500
 else
1501
   poststage1_ldflags=$withval
1502
 fi],
1503
[poststage1_ldflags=
1504
 # With --enable-build-with-cxx, default to linking libstdc++ and
1505
 # libgcc statically.  But if the user explicitly specified the
1506
 # libraries to use, trust that they are doing what they want.
1507
 if test "$ENABLE_BUILD_WITH_CXX" = "yes" -a "$poststage1_libs" = ""; then
1508
   poststage1_ldflags="-static-libstdc++ -static-libgcc"
1509
 fi])
1510
AC_SUBST(poststage1_ldflags)
1511
 
1512
# Check for PPL
1513
ppl_major_version=0
1514
ppl_minor_version=10
1515
ppllibs=" -lppl_c -lppl -lgmpxx"
1516
pplinc=
1517
 
1518
AC_ARG_WITH(ppl, [  --with-ppl=PATH         Specify prefix directory for the installed PPL package
1519
                          Equivalent to --with-ppl-include=PATH/include
1520
                          plus --with-ppl-lib=PATH/lib])
1521
AC_ARG_WITH(ppl_include, [  --with-ppl-include=PATH Specify directory for installed PPL include files])
1522
AC_ARG_WITH(ppl_lib, [  --with-ppl-lib=PATH     Specify the directory for the installed PPL library])
1523
 
1524
case $with_ppl in
1525
  no)
1526
    ppllibs=
1527
    ;;
1528
  "" | yes)
1529
    ;;
1530
  *)
1531
    ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx"
1532
    pplinc="-I$with_ppl/include $pplinc"
1533
    ;;
1534
esac
1535
if test "x$with_ppl_include" != x; then
1536
  pplinc="-I$with_ppl_include $pplinc"
1537
fi
1538
if test "x$with_ppl_lib" != x; then
1539
  ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx"
1540
fi
1541
if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
1542
  ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"' -lppl_c -lppl -lgmpxx '
1543
  pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
1544
  enable_ppl_version_check=no
1545
fi
1546
 
1547
AC_ARG_ENABLE(ppl-version-check,
1548
[  --disable-ppl-version-check    disable check for PPL version],
1549
ENABLE_PPL_CHECK=$enableval,
1550
ENABLE_PPL_CHECK=yes)
1551
 
1552
if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then
1553
  saved_CFLAGS="$CFLAGS"
1554
  CFLAGS="$CFLAGS $pplinc $gmpinc"
1555
  AC_MSG_CHECKING([for version $ppl_major_version.$ppl_minor_version of PPL])
1556
  AC_TRY_COMPILE([#include "ppl_c.h"],[
1557
  #if PPL_VERSION_MAJOR != $ppl_major_version || PPL_VERSION_MINOR != $ppl_minor_version
1558
  choke me
1559
  #endif
1560
  ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
1561
  CFLAGS="$saved_CFLAGS"
1562
fi
1563
 
1564
# Flags needed for PPL
1565
AC_SUBST(ppllibs)
1566
AC_SUBST(pplinc)
1567
 
1568
 
1569
# Check for CLOOG
1570
clooglibs=" -lcloog "
1571
clooginc=" -DCLOOG_PPL_BACKEND "
1572
 
1573
AC_ARG_WITH(cloog, [  --with-cloog=PATH       Specify prefix directory for the installed CLooG-PPL package
1574
                          Equivalent to --with-cloog-include=PATH/include
1575
                          plus --with-cloog-lib=PATH/lib])
1576
AC_ARG_WITH(cloog_include, [  --with-cloog-include=PATH Specify directory for installed CLooG include files])
1577
AC_ARG_WITH(cloog_lib, [  --with-cloog-lib=PATH   Specify the directory for the installed CLooG library])
1578
 
1579
if test "x$with_ppl" = "xno"; then
1580
  with_cloog=no
1581
fi
1582
 
1583
case $with_cloog in
1584
  no)
1585
    clooglibs=
1586
    clooginc=
1587
    ;;
1588
  "" | yes)
1589
    ;;
1590
  *)
1591
    clooglibs="-L$with_cloog/lib -lcloog"
1592
    clooginc="-I$with_cloog/include -DCLOOG_PPL_BACKEND "
1593
    ;;
1594
esac
1595
if test "x$with_cloog_include" != x; then
1596
  clooginc="-I$with_cloog_include -DCLOOG_PPL_BACKEND "
1597
fi
1598
if test "x$with_cloog_lib" != x; then
1599
  clooglibs="-L$with_cloog_lib -lcloog"
1600
fi
1601
if test "x$with_cloog$with_cloog_include$with_cloog_lib" = x && test -d ${srcdir}/cloog; then
1602
  clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' -lcloog '
1603
  clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -DCLOOG_PPL_BACKEND '
1604
  enable_cloog_version_check=no
1605
fi
1606
 
1607
AC_ARG_ENABLE(cloog-version-check,
1608
[  --disable-cloog-version-check  disable check for CLooG version],
1609
ENABLE_CLOOG_CHECK=$enableval,
1610
ENABLE_CLOOG_CHECK=yes)
1611
 
1612
if test "x$with_cloog" != "xno" -a "${ENABLE_CLOOG_CHECK}" = "yes"; then
1613
  saved_CFLAGS="$CFLAGS"
1614
  CFLAGS="$CFLAGS $clooginc $gmpinc $pplinc"
1615
  AC_MSG_CHECKING([for version 0.15.5 (or later revision) of CLooG])
1616
  AC_TRY_COMPILE([#include "cloog/cloog.h"],[
1617
  #if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 5
1618
  choke me
1619
  #endif
1620
  ], [AC_TRY_COMPILE([#include "cloog/cloog.h"],[
1621
  #if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 9
1622
  choke me
1623
  #endif
1624
  ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1625
  [AC_MSG_RESULT([no]); clooglibs= ; clooginc= ])
1626
  CFLAGS="$saved_CFLAGS"
1627
fi
1628
 
1629
# Flags needed for CLOOG
1630
AC_SUBST(clooglibs)
1631
AC_SUBST(clooginc)
1632
 
1633
# Check for LTO support.
1634
AC_ARG_ENABLE(lto,
1635
[  --enable-lto            enable link time optimization support],
1636
enable_lto=$enableval,
1637
enable_lto=yes; default_enable_lto=yes)
1638
 
1639
 
1640
ACX_ELF_TARGET_IFELSE([if test x"$enable_lto" = x"yes" ; then
1641
  # Make sure that libelf.h and gelf.h are available.
1642
  AC_ARG_WITH(libelf, [  --with-libelf=PATH       Specify prefix directory for the installed libelf package
1643
                          Equivalent to --with-libelf-include=PATH/include
1644
                          plus --with-libelf-lib=PATH/lib])
1645
 
1646
  AC_ARG_WITH(libelf_include, [  --with-libelf-include=PATH Specify directory for installed libelf include files])
1647
 
1648
  AC_ARG_WITH(libelf_lib, [  --with-libelf-lib=PATH   Specify the directory for the installed libelf library])
1649
 
1650
  saved_CFLAGS="$CFLAGS"
1651
  saved_CPPFLAGS="$CPPFLAGS"
1652
  saved_LIBS="$LIBS"
1653
 
1654
  case $with_libelf in
1655
    "")
1656
      libelflibs="-lelf"
1657
      libelfinc="-I/usr/include/libelf"
1658
      ;;
1659
    *)
1660
      libelflibs="-L$with_libelf/lib -lelf"
1661
      libelfinc="-I$with_libelf/include -I$with_libelf/include/libelf"
1662
      LIBS="$libelflibs $LIBS"
1663
      ;;
1664
  esac
1665
 
1666
  if test "x$with_libelf_include" != x; then
1667
    libelfinc="-I$with_libelf_include"
1668
  fi
1669
 
1670
  if test "x$with_libelf_lib" != x; then
1671
    libelflibs="-L$with_libelf_lib -lelf"
1672
    LIBS="$libelflibs $LIBS"
1673
  fi
1674
 
1675
  if test "x$with_libelf$with_libelf_include$with_libelf_lib" = x \
1676
     && test -d ${srcdir}/libelf; then
1677
    libelflibs='-L$$r/$(HOST_SUBDIR)/libelf/lib -lelf '
1678
    libelfinc='-D__LIBELF_INTERNAL__ -I$$r/$(HOST_SUBDIR)/libelf/lib -I$$s/libelf/lib'
1679
    LIBS="$libelflibs $LIBS"
1680
 
1681
 else
1682
 
1683
  CFLAGS="$CFLAGS $libelfinc"
1684
  CPPFLAGS="$CPPFLAGS $libelfinc"
1685
  LIBS="$LIBS $libelflibs"
1686
 
1687
  AC_CHECK_HEADERS(libelf.h, [have_libelf_h=yes])
1688
  AC_CHECK_HEADERS(gelf.h, [have_gelf_h=yes])
1689
 
1690
  AC_CHECK_HEADERS(libelf/libelf.h, [have_libelf_libelf_h=yes])
1691
  AC_CHECK_HEADERS(libelf/gelf.h, [have_libelf_gelf_h=yes])
1692
 
1693
  # If we couldn't find libelf.h and the user forced it, emit an error.
1694
  if test x"$have_libelf_h" != x"yes" \
1695
     && test x"$have_libelf_libelf_h" != x"yes" ; then
1696
    if test x"$default_enable_lto" != x"yes" ; then
1697
      AC_MSG_ERROR([LTO support requires libelf.h or libelf/libelf.h.])
1698
    else
1699
      enable_lto=no
1700
      libelflibs=
1701
      libelfinc=
1702
    fi
1703
  fi
1704
 
1705
  # If we couldn't find gelf.h and the user forced it, emit an error.
1706
  if test x"$have_gelf_h" != x"yes" \
1707
     && test x"$have_libelf_gelf_h" != x"yes" ; then
1708
    if test x"$default_enable_lto" != x"yes" ; then
1709
      AC_MSG_ERROR([LTO support requires gelf.h or libelf/gelf.h.])
1710
    else
1711
      enable_lto=no
1712
      libelflibs=
1713
      libelfinc=
1714
    fi
1715
  fi
1716
 
1717
  # Check that the detected libelf has the functions we need.  We cannot
1718
  # rely on just detecting the headers since they do not include
1719
  # versioning information.  Add functions, if needed.
1720
  if test x"$enable_lto" = x"yes" ; then
1721
    AC_MSG_CHECKING([for the correct version of libelf])
1722
    AC_TRY_LINK(
1723
      [#include ],[
1724
      elf_errmsg (0);
1725
      elf_getscn (0, 0);
1726
      elf_nextscn (0, 0);
1727
      elf_strptr (0, 0, 0);
1728
      elf_getident (0, 0);
1729
      elf_begin (0, 0, 0);
1730
      elf_ndxscn (0);
1731
      elf_end (0);
1732
      ],
1733
      [AC_MSG_RESULT([yes]);],
1734
      [AC_MSG_RESULT([no]); enable_lto=no; libelflibs= ; libelfinc= ]
1735
    )
1736
 
1737
    # Check for elf_getshdrstrndx or elf_getshstrndx.  The latter's flavor
1738
    # is determined in gcc/configure.ac.
1739
    if test x"$enable_lto" = x"yes" ; then
1740
      AC_MSG_CHECKING([for elf_getshdrstrndx])
1741
      AC_TRY_LINK(
1742
        [#include ],[
1743
        elf_getshdrstrndx (0, 0);
1744
        ],
1745
        [AC_MSG_RESULT([yes]);],
1746
        [AC_MSG_RESULT([no]);
1747
         AC_MSG_CHECKING([for elf_getshstrndx])
1748
         AC_TRY_LINK(
1749
           [#include ],[
1750
           elf_getshstrndx (0, 0);
1751
           ],
1752
           [AC_MSG_RESULT([yes]);],
1753
           [AC_MSG_RESULT([no]); enable_lto=no; libelflibs= ; libelfinc= ]
1754
         )]
1755
      )
1756
    fi
1757
 
1758
    # If we couldn't enable LTO and the user forced it, emit an error.
1759
    if test x"$enable_lto" = x"no" \
1760
       && test x"$default_enable_lto" != x"yes" ; then
1761
      AC_MSG_ERROR([To enable LTO, GCC requires libelf v0.8.12+.
1762
Try the --with-libelf, --with-libelf-include and --with-libelf-lib options
1763
to specify its location.])
1764
    fi
1765
  fi
1766
 
1767
  CFLAGS="$saved_CFLAGS"
1768
  CPPFLAGS="$saved_CPPFLAGS"
1769
  LIBS="$saved_LIBS"
1770
 
1771
 fi
1772
 
1773
  # Flags needed for libelf.
1774
  AC_SUBST(libelflibs)
1775
  AC_SUBST(libelfinc)
1776
fi],[if test x"$default_enable_lto" = x"yes" ; then
1777
    # On non-ELF platforms, LTO must be explicitly enabled.
1778
    enable_lto=no
1779
  else
1780
  # Apart from ELF platforms, only Windows supports LTO so far.  It
1781
  # would also be nice to check the binutils support, but we don't
1782
  # have gcc_GAS_CHECK_FEATURE available here.  For now, we'll just
1783
  # warn during gcc/ subconfigure; unless you're bootstrapping with
1784
  # -flto it won't be needed until after installation anyway.
1785
    case $target in
1786
      *-cygwin*|*-mingw*) ;;
1787
      x86_64-apple-darwin*) ;;
1788
      *) if test x"$enable_lto" = x"yes"; then
1789
        AC_MSG_ERROR([LTO support is not enabled for this target.])
1790
        fi
1791
      ;;
1792
    esac
1793
  fi
1794
  default_enable_lto=no])
1795
 
1796
 
1797
# By default, C is the only stage 1 language.
1798
stage1_languages=,c,
1799
 
1800
# Target libraries that we bootstrap.
1801
bootstrap_target_libs=,target-libgcc,
1802
 
1803
# Figure out what language subdirectories are present.
1804
# Look if the user specified --enable-languages="..."; if not, use
1805
# the environment variable $LANGUAGES if defined. $LANGUAGES might
1806
# go away some day.
1807
# NB:  embedded tabs in this IF block -- do not untabify
1808
if test -d ${srcdir}/gcc; then
1809
  if test x"${enable_languages+set}" != xset; then
1810
    if test x"${LANGUAGES+set}" = xset; then
1811
      enable_languages="${LANGUAGES}"
1812
        echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
1813
    else
1814
      enable_languages=all
1815
    fi
1816
  else
1817
    if test x"${enable_languages}" = x ||
1818
       test x"${enable_languages}" = xyes;
1819
       then
1820
      echo configure.in: --enable-languages needs at least one language argument 1>&2
1821
      exit 1
1822
    fi
1823
  fi
1824
  enable_languages=`echo "${enable_languages}" | sed -e 's/[[   ,]][[   ,]]*/,/g' -e 's/,$//'`
1825
 
1826
  # 'f95' is the old name for the 'fortran' language. We issue a warning
1827
  # and make the substitution.
1828
  case ,${enable_languages}, in
1829
    *,f95,*)
1830
      echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
1831
      enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
1832
      ;;
1833
  esac
1834
 
1835
  # First scan to see if an enabled language requires some other language.
1836
  # We assume that a given config-lang.in will list all the language
1837
  # front ends it requires, even if some are required indirectly.
1838
  for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1839
    case ${lang_frag} in
1840
      ..) ;;
1841
      # The odd quoting in the next line works around
1842
      # an apparent bug in bash 1.12 on linux.
1843
      ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1844
      *)
1845
        # From the config-lang.in, get $language, $lang_requires
1846
        language=
1847
        lang_requires=
1848
        . ${lang_frag}
1849
        for other in ${lang_requires} ; do
1850
          case ,${enable_languages}, in
1851
            *,$other,*) ;;
1852
            *,all,*) ;;
1853
            *,$language,*)
1854
              echo " \`$other' language required by \`$language'; enabling" 1>&2
1855
              enable_languages="${enable_languages},${other}"
1856
              ;;
1857
          esac
1858
        done
1859
        ;;
1860
    esac
1861
  done
1862
 
1863
  new_enable_languages=,c,
1864
 
1865
  # If LTO is enabled, add the LTO front end.
1866
  extra_host_libiberty_configure_flags=
1867
  if test "$enable_lto" = "yes" ; then
1868
    case ,${enable_languages}, in
1869
      *,lto,*) ;;
1870
      *) enable_languages="${enable_languages},lto" ;;
1871
    esac
1872
    if test "${ENABLE_GOLD}" = "yes" ; then
1873
      configdirs="$configdirs lto-plugin"
1874
      extra_host_libiberty_configure_flags=--enable-shared
1875
    fi
1876
  fi
1877
  AC_SUBST(extra_host_libiberty_configure_flags)
1878
 
1879
  missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
1880
  potential_languages=,c,
1881
 
1882
  for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1883
    case ${lang_frag} in
1884
      ..) ;;
1885
      # The odd quoting in the next line works around
1886
      # an apparent bug in bash 1.12 on linux.
1887
      ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1888
      *)
1889
        # From the config-lang.in, get $language, $target_libs,
1890
        # $lang_dirs, $boot_language, and $build_by_default
1891
        language=
1892
        target_libs=
1893
        lang_dirs=
1894
        subdir_requires=
1895
        boot_language=no
1896
        build_by_default=yes
1897
        . ${lang_frag}
1898
        if test x${language} = x; then
1899
          echo "${lang_frag} doesn't set \$language." 1>&2
1900
          exit 1
1901
        fi
1902
 
1903
        if test "$language" = "c++" \
1904
           && test "$ENABLE_BUILD_WITH_CXX" = "yes"; then
1905
          boot_language=yes
1906
        fi
1907
 
1908
        case ,${enable_languages}, in
1909
          *,${language},*)
1910
            # Language was explicitly selected; include it.
1911
            add_this_lang=yes
1912
            ;;
1913
          *,all,*)
1914
            # 'all' was selected, select it if it is a default language
1915
            add_this_lang=${build_by_default}
1916
            ;;
1917
          *)
1918
            add_this_lang=no
1919
            ;;
1920
        esac
1921
 
1922
        # Disable languages that need other directories if these aren't available.
1923
        for i in $subdir_requires; do
1924
          test -f "$srcdir/gcc/$i/config-lang.in" && continue
1925
          case ,${enable_languages}, in
1926
            *,${language},*)
1927
              # Specifically requested language; tell them.
1928
              AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
1929
              ;;
1930
            *)
1931
              # Silently disable.
1932
              add_this_lang=unsupported
1933
              ;;
1934
          esac
1935
        done
1936
 
1937
        # Disable Ada if no preexisting GNAT is available.
1938
        case ,${enable_languages},:${language}:${have_gnat} in
1939
          *,${language},*:ada:no)
1940
            # Specifically requested language; tell them.
1941
            AC_MSG_ERROR([GNAT is required to build $language])
1942
            ;;
1943
          *:ada:no)
1944
            # Silently disable.
1945
            add_this_lang=unsupported
1946
            ;;
1947
        esac
1948
 
1949
        # Disable a language that is unsupported by the target.
1950
        case " $unsupported_languages " in
1951
          *" $language "*)
1952
            add_this_lang=unsupported
1953
            ;;
1954
        esac
1955
 
1956
        case $add_this_lang in
1957
          unsupported)
1958
            # Remove language-dependent dirs.
1959
            eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1960
            ;;
1961
          no)
1962
            # Remove language-dependent dirs; still show language as supported.
1963
            eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1964
            potential_languages="${potential_languages}${language},"
1965
            ;;
1966
          yes)
1967
            new_enable_languages="${new_enable_languages}${language},"
1968
            potential_languages="${potential_languages}${language},"
1969
            missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
1970
            case "${boot_language}:,$enable_stage1_languages," in
1971
              yes:* | *:*,$language,* | *:*,yes, | *:*,all,)
1972
                # Add to (comma-separated) list of stage 1 languages.
1973
                case ",$stage1_languages," in
1974
                  *,$language,* | ,yes, | ,all,) ;;
1975
                  *) stage1_languages="${stage1_languages}${language}," ;;
1976
                esac
1977
                # We need to bootstrap any supporting libraries.
1978
                bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
1979
                ;;
1980
            esac
1981
            ;;
1982
        esac
1983
        ;;
1984
    esac
1985
  done
1986
 
1987
  AC_ARG_ENABLE(stage1-languages,
1988
[  --enable-stage1-languages@<:@=all@:>@   choose additional languages to build during
1989
                          stage1.  Mostly useful for compiler development.],
1990
  [case ,${enable_stage1_languages}, in
1991
    ,no,|,,)
1992
      # Set it to something that will have no effect in the loop below
1993
      enable_stage1_languages=c ;;
1994
    ,yes,)
1995
      enable_stage1_languages=`echo $new_enable_languages | \
1996
        sed -e "s/^,//" -e "s/,$//" ` ;;
1997
    *,all,*)
1998
      enable_stage1_languages=`echo ,$enable_stage1_languages, | \
1999
        sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
2000
  esac
2001
 
2002
  # Add "good" languages from enable_stage1_languages to stage1_languages,
2003
  # while "bad" languages go in missing_languages.  Leave no duplicates.
2004
  for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
2005
    case $potential_languages in
2006
      *,$i,*)
2007
        case $stage1_languages in
2008
          *,$i,*) ;;
2009
          *) stage1_languages="$stage1_languages$i," ;;
2010
        esac ;;
2011
      *)
2012
        case $missing_languages in
2013
          *,$i,*) ;;
2014
          *) missing_languages="$missing_languages$i," ;;
2015
        esac ;;
2016
     esac
2017
  done])
2018
 
2019
  # Remove leading/trailing commas that were added for simplicity
2020
  potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
2021
  missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
2022
  stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
2023
  new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
2024
 
2025
  if test "x$missing_languages" != x; then
2026
    AC_MSG_ERROR([
2027
The following requested languages could not be built: ${missing_languages}
2028
Supported languages are: ${potential_languages}])
2029
  fi
2030
  if test "x$new_enable_languages" != "x$enable_languages"; then
2031
    echo The following languages will be built: ${new_enable_languages}
2032
    enable_languages="$new_enable_languages"
2033
  fi
2034
 
2035
  AC_SUBST(stage1_languages)
2036
  ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
2037
fi
2038
 
2039
# Handle --disable- generically.
2040
for dir in $configdirs $build_configdirs $target_configdirs ; do
2041
  dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
2042
  varname=`echo $dirname | sed -e s/+/_/g`
2043
  if eval test x\${enable_${varname}} "=" xno ; then
2044
    noconfigdirs="$noconfigdirs $dir"
2045
  fi
2046
done
2047
 
2048
# Check for Boehm's garbage collector
2049
AC_ARG_ENABLE(objc-gc,
2050
[  --enable-objc-gc        enable use of Boehm's garbage collector with the
2051
                          GNU Objective-C runtime],
2052
[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
2053
  *,objc,*:*:yes:*target-boehm-gc*)
2054
    AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
2055
    ;;
2056
esac])
2057
 
2058
# Make sure we only build Boehm's garbage collector if required.
2059
case ,${enable_languages},:${enable_objc_gc} in
2060
  *,objc,*:yes)
2061
    # Keep target-boehm-gc if requested for Objective-C.
2062
    ;;
2063
  *)
2064
    # Otherwise remove target-boehm-gc depending on target-libjava.
2065
    if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
2066
      noconfigdirs="$noconfigdirs target-boehm-gc"
2067
    fi
2068
    ;;
2069
esac
2070
 
2071
# Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
2072
# $build_configdirs and $target_configdirs.
2073
# If we have the source for $noconfigdirs entries, add them to $notsupp.
2074
 
2075
notsupp=""
2076
for dir in . $skipdirs $noconfigdirs ; do
2077
  dirname=`echo $dir | sed -e s/target-//g -e s/build-//g`
2078
  if test $dir != .  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2079
    configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
2080
    if test -r $srcdir/$dirname/configure ; then
2081
      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2082
        true
2083
      else
2084
        notsupp="$notsupp $dir"
2085
      fi
2086
    fi
2087
  fi
2088
  if test $dir != .  && echo " ${build_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2089
    build_configdirs=`echo " ${build_configdirs} " | sed -e "s/ ${dir} / /"`
2090
    if test -r $srcdir/$dirname/configure ; then
2091
      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2092
        true
2093
      else
2094
        notsupp="$notsupp $dir"
2095
      fi
2096
    fi
2097
  fi
2098
  if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2099
    target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
2100
    if test -r $srcdir/$dirname/configure ; then
2101
      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2102
        true
2103
      else
2104
        notsupp="$notsupp $dir"
2105
      fi
2106
    fi
2107
  fi
2108
done
2109
 
2110
# Sometimes the tools are distributed with libiberty but with no other
2111
# libraries.  In that case, we don't want to build target-libiberty.
2112
# Don't let libgcc imply libiberty either.
2113
if test -n "${target_configdirs}" ; then
2114
  libgcc=
2115
  others=
2116
  for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
2117
    if test "$i" = "libgcc"; then
2118
      libgcc=target-libgcc
2119
    elif test "$i" != "libiberty" ; then
2120
      if test -r $srcdir/$i/configure ; then
2121
        others=yes;
2122
        break;
2123
      fi
2124
    fi
2125
  done
2126
  if test -z "${others}" ; then
2127
    target_configdirs=$libgcc
2128
  fi
2129
fi
2130
 
2131
# Quietly strip out all directories which aren't configurable in this tree.
2132
# This relies on all configurable subdirectories being autoconfiscated, which
2133
# is now the case.
2134
build_configdirs_all="$build_configdirs"
2135
build_configdirs=
2136
for i in ${build_configdirs_all} ; do
2137
  j=`echo $i | sed -e s/build-//g`
2138
  if test -f ${srcdir}/$j/configure ; then
2139
    build_configdirs="${build_configdirs} $i"
2140
  fi
2141
done
2142
 
2143
configdirs_all="$configdirs"
2144
configdirs=
2145
for i in ${configdirs_all} ; do
2146
  if test -f ${srcdir}/$i/configure ; then
2147
    configdirs="${configdirs} $i"
2148
  fi
2149
done
2150
 
2151
target_configdirs_all="$target_configdirs"
2152
target_configdirs=
2153
for i in ${target_configdirs_all} ; do
2154
  j=`echo $i | sed -e s/target-//g`
2155
  if test -f ${srcdir}/$j/configure ; then
2156
    target_configdirs="${target_configdirs} $i"
2157
  fi
2158
done
2159
 
2160
# Produce a warning message for the subdirs we can't configure.
2161
# This isn't especially interesting in the Cygnus tree, but in the individual
2162
# FSF releases, it's important to let people know when their machine isn't
2163
# supported by the one or two programs in a package.
2164
 
2165
if test -n "${notsupp}" && test -z "${norecursion}" ; then
2166
  # If $appdirs is non-empty, at least one of those directories must still
2167
  # be configured, or we error out.  (E.g., if the gas release supports a
2168
  # specified target in some subdirs but not the gas subdir, we shouldn't
2169
  # pretend that all is well.)
2170
  if test -n "$appdirs" ; then
2171
    for dir in $appdirs ; do
2172
      if test -r $dir/Makefile.in ; then
2173
        if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2174
          appdirs=""
2175
          break
2176
        fi
2177
        if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
2178
          appdirs=""
2179
          break
2180
        fi
2181
      fi
2182
    done
2183
    if test -n "$appdirs" ; then
2184
      echo "*** This configuration is not supported by this package." 1>&2
2185
      exit 1
2186
    fi
2187
  fi
2188
  # Okay, some application will build, or we don't care to check.  Still
2189
  # notify of subdirs not getting built.
2190
  echo "*** This configuration is not supported in the following subdirectories:" 1>&2
2191
  echo "    ${notsupp}" 1>&2
2192
  echo "    (Any other directories should still work fine.)" 1>&2
2193
fi
2194
 
2195
case "$host" in
2196
  *msdosdjgpp*)
2197
    enable_gdbtk=no ;;
2198
esac
2199
 
2200
# To find our prefix, in gcc_cv_tool_prefix.
2201
ACX_TOOL_DIRS
2202
 
2203
copy_dirs=
2204
 
2205
AC_ARG_WITH([build-sysroot],
2206
  [  --with-build-sysroot=SYSROOT
2207
                          use sysroot as the system root during the build],
2208
  [if test x"$withval" != x ; then
2209
     SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
2210
   fi],
2211
  [SYSROOT_CFLAGS_FOR_TARGET=])
2212
AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
2213
 
2214
AC_ARG_WITH([debug-prefix-map],
2215
  [  --with-debug-prefix-map='A=B C=D ...'
2216
                             map A to B, C to D ... in debug information],
2217
  [if test x"$withval" != x; then
2218
     DEBUG_PREFIX_CFLAGS_FOR_TARGET=
2219
     for debug_map in $withval; do
2220
       DEBUG_PREFIX_CFLAGS_FOR_TARGET="$DEBUG_PREFIX_CFLAGS_FOR_TARGET -fdebug-prefix-map=$debug_map"
2221
     done
2222
   fi],
2223
  [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
2224
AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
2225
 
2226
# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
2227
# might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
2228
# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
2229
# We want to ensure that TARGET libraries (which we know are built with
2230
# gcc) are built with "-O2 -g", so include those options when setting
2231
# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
2232
if test "x$CFLAGS_FOR_TARGET" = x; then
2233
  CFLAGS_FOR_TARGET=$CFLAGS
2234
  case " $CFLAGS " in
2235
    *" -O2 "*) ;;
2236
    *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
2237
  esac
2238
  case " $CFLAGS " in
2239
    *" -g "* | *" -g3 "*) ;;
2240
    *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
2241
  esac
2242
fi
2243
AC_SUBST(CFLAGS_FOR_TARGET)
2244
 
2245
if test "x$CXXFLAGS_FOR_TARGET" = x; then
2246
  CXXFLAGS_FOR_TARGET=$CXXFLAGS
2247
  case " $CXXFLAGS " in
2248
    *" -O2 "*) ;;
2249
    *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
2250
  esac
2251
  case " $CXXFLAGS " in
2252
    *" -g "* | *" -g3 "*) ;;
2253
    *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
2254
  esac
2255
fi
2256
AC_SUBST(CXXFLAGS_FOR_TARGET)
2257
 
2258
# Handle --with-headers=XXX.  If the value is not "yes", the contents of
2259
# the named directory are copied to $(tooldir)/sys-include.
2260
if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
2261
  if test x${is_cross_compiler} = xno ; then
2262
    echo 1>&2 '***' --with-headers is only supported when cross compiling
2263
    exit 1
2264
  fi
2265
  if test x"${with_headers}" != xyes ; then
2266
    x=${gcc_cv_tool_prefix}
2267
    copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
2268
  fi
2269
fi
2270
 
2271
# Handle --with-libs=XXX.  If the value is not "yes", the contents of
2272
# the name directories are copied to $(tooldir)/lib.  Multiple directories
2273
# are permitted.
2274
if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
2275
  if test x${is_cross_compiler} = xno ; then
2276
    echo 1>&2 '***' --with-libs is only supported when cross compiling
2277
    exit 1
2278
  fi
2279
  if test x"${with_libs}" != xyes ; then
2280
    # Copy the libraries in reverse order, so that files in the first named
2281
    # library override files in subsequent libraries.
2282
    x=${gcc_cv_tool_prefix}
2283
    for l in ${with_libs}; do
2284
      copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
2285
    done
2286
  fi
2287
fi
2288
 
2289
# Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
2290
#
2291
# This is done by determining whether or not the appropriate directory
2292
# is available, and by checking whether or not specific configurations
2293
# have requested that this magic not happen.
2294
#
2295
# The command line options always override the explicit settings in
2296
# configure.in, and the settings in configure.in override this magic.
2297
#
2298
# If the default for a toolchain is to use GNU as and ld, and you don't
2299
# want to do that, then you should use the --without-gnu-as and
2300
# --without-gnu-ld options for the configure script.  Similarly, if
2301
# the default is to use the included zlib and you don't want to do that,
2302
# you should use the --with-system-zlib option for the configure script.
2303
 
2304
if test x${use_gnu_as} = x &&
2305
   echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
2306
  with_gnu_as=yes
2307
  extra_host_args="$extra_host_args --with-gnu-as"
2308
fi
2309
 
2310
if test x${use_gnu_ld} = x &&
2311
   echo " ${configdirs} " | egrep " (go)?ld " > /dev/null 2>&1 ; then
2312
  with_gnu_ld=yes
2313
  extra_host_args="$extra_host_args --with-gnu-ld"
2314
fi
2315
 
2316
if test x${use_included_zlib} = x &&
2317
   echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
2318
  :
2319
else
2320
  with_system_zlib=yes
2321
  extra_host_args="$extra_host_args --with-system-zlib"
2322
fi
2323
 
2324
# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
2325
# can detect this case.
2326
 
2327
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
2328
  with_newlib=yes
2329
  extra_host_args="$extra_host_args --with-newlib"
2330
fi
2331
 
2332
# Handle ${copy_dirs}
2333
set fnord ${copy_dirs}
2334
shift
2335
while test $# != 0 ; do
2336
  if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
2337
    :
2338
  else
2339
    echo Copying $1 to $2
2340
 
2341
    # Use the install script to create the directory and all required
2342
    # parent directories.
2343
    if test -d $2 ; then
2344
      :
2345
    else
2346
      echo >config.temp
2347
      ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
2348
    fi
2349
 
2350
    # Copy the directory, assuming we have tar.
2351
    # FIXME: Should we use B in the second tar?  Not all systems support it.
2352
    (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
2353
 
2354
    # It is the responsibility of the user to correctly adjust all
2355
    # symlinks.  If somebody can figure out how to handle them correctly
2356
    # here, feel free to add the code.
2357
 
2358
    echo $1 > $2/COPIED
2359
  fi
2360
  shift; shift
2361
done
2362
 
2363
# Determine a target-dependent exec_prefix that the installed
2364
# gcc will search in.  Keep this list sorted by triplet, with
2365
# the *-*-osname triplets last.
2366
md_exec_prefix=
2367
case "${target}" in
2368
  alpha*-*-*vms*)
2369
    md_exec_prefix=/gnu/lib/gcc-lib
2370
    ;;
2371
  i[[34567]]86-pc-msdosdjgpp*)
2372
    md_exec_prefix=/dev/env/DJDIR/bin
2373
    ;;
2374
  i[[34567]]86-*-sco3.2v5*)
2375
    if test $with_gnu_as = yes; then
2376
      md_exec_prefix=/usr/gnu/bin
2377
    else
2378
      md_exec_prefix=/usr/ccs/bin/elf
2379
    fi
2380
    ;;
2381
 
2382
  mn10300-*-* | \
2383
  powerpc-*-chorusos* | \
2384
  powerpc*-*-eabi* | \
2385
  powerpc*-*-sysv* | \
2386
  powerpc*-*-kaos* | \
2387
  s390x-ibm-tpf*)
2388
    md_exec_prefix=/usr/ccs/bin
2389
    ;;
2390
  sparc64-*-elf*)
2391
    ;;
2392
  v850*-*-*)
2393
    md_exec_prefix=/usr/ccs/bin
2394
    ;;
2395
  xtensa*-*-elf*)
2396
    ;;
2397
 
2398
  *-*-beos* | \
2399
  *-*-elf* | \
2400
  *-*-hpux* | \
2401
  *-*-netware* | \
2402
  *-*-nto-qnx* | \
2403
  *-*-rtems* | \
2404
  *-*-solaris2* | \
2405
  *-*-sysv[[45]]* | \
2406
  *-*-vxworks* | \
2407
  *-wrs-windiss)
2408
    md_exec_prefix=/usr/ccs/bin
2409
    ;;
2410
esac
2411
 
2412
extra_arflags_for_target=
2413
extra_nmflags_for_target=
2414
extra_ranlibflags_for_target=
2415
target_makefile_frag=/dev/null
2416
case "${target}" in
2417
  mep*-*-*)
2418
    target_makefile_frag="config/mt-mep"
2419
    ;;
2420
  spu-*-*)
2421
    target_makefile_frag="config/mt-spu"
2422
    ;;
2423
  mips*-sde-elf*)
2424
    target_makefile_frag="config/mt-sde"
2425
    ;;
2426
  mipsisa*-*-elfoabi*)
2427
    target_makefile_frag="config/mt-mips-elfoabi"
2428
    ;;
2429
  mips*-*-*linux* | mips*-*-gnu*)
2430
    target_makefile_frag="config/mt-mips-gnu"
2431
    ;;
2432
  *-*-netware*)
2433
    target_makefile_frag="config/mt-netware"
2434
    ;;
2435
  *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
2436
    target_makefile_frag="config/mt-gnu"
2437
    ;;
2438
  *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
2439
    # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
2440
    # commands to handle both 32-bit and 64-bit objects.  These flags are
2441
    # harmless if we're using GNU nm or ar.
2442
    extra_arflags_for_target=" -X32_64"
2443
    extra_nmflags_for_target=" -B -X32_64"
2444
    ;;
2445
  *-*-darwin[[3-9]]*)
2446
    # ranlib before Darwin10 requires the -c flag to look at common symbols.
2447
    extra_ranlibflags_for_target=" -c"
2448
    ;;
2449
  mips*-*-pe | sh*-*-pe | *arm-wince-pe)
2450
    target_makefile_frag="config/mt-wince"
2451
    ;;
2452
esac
2453
 
2454
alphaieee_frag=/dev/null
2455
case $target in
2456
  alpha*-*-*)
2457
    # This just makes sure to use the -mieee option to build target libs.
2458
    # This should probably be set individually by each library.
2459
    alphaieee_frag="config/mt-alphaieee"
2460
    ;;
2461
esac
2462
 
2463
# If --enable-target-optspace always use -Os instead of -O2 to build
2464
# the target libraries, similarly if it is not specified, use -Os
2465
# on selected platforms.
2466
ospace_frag=/dev/null
2467
case "${enable_target_optspace}:${target}" in
2468
  yes:*)
2469
    ospace_frag="config/mt-ospace"
2470
    ;;
2471
  :d30v-*)
2472
    ospace_frag="config/mt-d30v"
2473
    ;;
2474
  :m32r-* | :d10v-* | :fr30-*)
2475
    ospace_frag="config/mt-ospace"
2476
    ;;
2477
  no:* | :*)
2478
    ;;
2479
  *)
2480
    echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
2481
    ;;
2482
esac
2483
 
2484
# Default to using --with-stabs for certain targets.
2485
if test x${with_stabs} = x ; then
2486
  case "${target}" in
2487
  mips*-*-irix[[56]]*)
2488
    ;;
2489
  mips*-*-* | alpha*-*-osf*)
2490
    with_stabs=yes;
2491
    extra_host_args="${extra_host_args} --with-stabs"
2492
    ;;
2493
  esac
2494
fi
2495
 
2496
# hpux11 in 64bit mode has libraries in a weird place.  Arrange to find
2497
# them automatically.
2498
case "${host}" in
2499
  hppa*64*-*-hpux11*)
2500
    extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
2501
    ;;
2502
esac
2503
 
2504
# Some systems (e.g., one of the i386-aix systems the gas testers are
2505
# using) don't handle "\$" correctly, so don't use it here.
2506
tooldir='${exec_prefix}'/${target_noncanonical}
2507
build_tooldir=${tooldir}
2508
 
2509
# Create a .gdbinit file which runs the one in srcdir
2510
# and tells GDB to look there for source files.
2511
 
2512
if test -r ${srcdir}/.gdbinit ; then
2513
  case ${srcdir} in
2514
    .) ;;
2515
    *) cat > ./.gdbinit <
2516
# ${NO_EDIT}
2517
dir ${srcdir}
2518
dir .
2519
source ${srcdir}/.gdbinit
2520
EOF
2521
    ;;
2522
  esac
2523
fi
2524
 
2525
# Make sure that the compiler is able to generate an executable.  If it
2526
# can't, we are probably in trouble.  We don't care whether we can run the
2527
# executable--we might be using a cross compiler--we only care whether it
2528
# can be created.  At this point the main configure script has set CC.
2529
we_are_ok=no
2530
echo "int main () { return 0; }" > conftest.c
2531
${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
2532
if test $? = 0 ; then
2533
  if test -s conftest || test -s conftest.exe ; then
2534
    we_are_ok=yes
2535
  fi
2536
fi
2537
case $we_are_ok in
2538
  no)
2539
    echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
2540
    echo 1>&2 "*** You must set the environment variable CC to a working compiler."
2541
    rm -f conftest*
2542
    exit 1
2543
    ;;
2544
esac
2545
rm -f conftest*
2546
 
2547
# The Solaris /usr/ucb/cc compiler does not appear to work.
2548
case "${host}" in
2549
  sparc-sun-solaris2*)
2550
      CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
2551
      if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
2552
          could_use=
2553
          test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
2554
          if test -d /opt/cygnus/bin ; then
2555
              if test "$could_use" = "" ; then
2556
                  could_use="/opt/cygnus/bin"
2557
              else
2558
                  could_use="$could_use or /opt/cygnus/bin"
2559
              fi
2560
          fi
2561
        if test "$could_use" = "" ; then
2562
            echo "Warning: compilation may fail because you're using"
2563
            echo "/usr/ucb/cc.  You should change your PATH or CC "
2564
            echo "variable and rerun configure."
2565
        else
2566
            echo "Warning: compilation may fail because you're using"
2567
            echo "/usr/ucb/cc, when you should use the C compiler from"
2568
            echo "$could_use.  You should change your"
2569
            echo "PATH or CC variable and rerun configure."
2570
        fi
2571
      fi
2572
  ;;
2573
esac
2574
 
2575
# Decide which environment variable is used to find dynamic libraries.
2576
case "${host}" in
2577
  *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
2578
  *-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
2579
  *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
2580
  *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
2581
esac
2582
 
2583
# On systems where the dynamic library environment variable is PATH,
2584
# gcc/ will put dynamic libraries into a subdirectory to avoid adding
2585
# built executables to PATH.
2586
if test "$RPATH_ENVVAR" = PATH; then
2587
  GCC_SHLIB_SUBDIR=/shlib
2588
else
2589
  GCC_SHLIB_SUBDIR=
2590
fi
2591
 
2592
# Record target_configdirs and the configure arguments for target and
2593
# build configuration in Makefile.
2594
target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
2595
build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
2596
 
2597
# If we are building libgomp, bootstrap it.
2598
if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then
2599
  bootstrap_target_libs=${bootstrap_target_libs}target-libgomp,
2600
fi
2601
 
2602
# Determine whether gdb needs tk/tcl or not.
2603
# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
2604
# and in that case we want gdb to be built without tk.  Ugh!
2605
# In fact I believe gdb is the *only* package directly dependent on tk,
2606
# so we should be able to put the 'maybe's in unconditionally and
2607
# leave out the maybe dependencies when enable_gdbtk is false.  I'm not
2608
# 100% sure that that's safe though.
2609
 
2610
gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
2611
case "$enable_gdbtk" in
2612
  no)
2613
    GDB_TK="" ;;
2614
  yes)
2615
    GDB_TK="${gdb_tk}" ;;
2616
  *)
2617
    # Only add the dependency on gdbtk when GDBtk is part of the gdb
2618
    # distro.  Eventually someone will fix this and move Insight, nee
2619
    # gdbtk to a separate directory.
2620
    if test -d ${srcdir}/gdb/gdbtk ; then
2621
      GDB_TK="${gdb_tk}"
2622
    else
2623
      GDB_TK=""
2624
    fi
2625
    ;;
2626
esac
2627
CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
2628
INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
2629
 
2630
# Strip out unwanted targets.
2631
 
2632
# While at that, we remove Makefiles if we were started for recursive
2633
# configuration, so that the top-level Makefile reconfigures them,
2634
# like we used to do when configure itself was recursive.
2635
 
2636
# Loop over modules.  We used to use the "$extrasub" feature from Autoconf
2637
# but now we're fixing up the Makefile ourselves with the additional
2638
# commands passed to AC_CONFIG_FILES.  Use separate variables
2639
# extrasub-{build,host,target} not because there is any reason to split
2640
# the substitutions up that way, but only to remain below the limit of
2641
# 99 commands in a script, for HP-UX sed.
2642
# Do not nest @if/@endif pairs, because configure will not warn you at all.
2643
 
2644
AC_ARG_ENABLE([bootstrap],
2645
[  --enable-bootstrap      enable bootstrapping @<:@yes if native build@:>@],,
2646
enable_bootstrap=default)
2647
 
2648
# Issue errors and warnings for invalid/strange bootstrap combinations.
2649
case "$configdirs" in
2650
  *gcc*) have_compiler=yes ;;
2651
  *) have_compiler=no ;;
2652
esac
2653
 
2654
case "$have_compiler:$host:$target:$enable_bootstrap" in
2655
  *:*:*:no) ;;
2656
 
2657
  # Default behavior.  Enable bootstrap if we have a compiler
2658
  # and we are in a native configuration.
2659
  yes:$build:$build:default)
2660
    enable_bootstrap=yes ;;
2661
 
2662
  *:*:*:default)
2663
    enable_bootstrap=no ;;
2664
 
2665
  # We have a compiler and we are in a native configuration, bootstrap is ok
2666
  yes:$build:$build:yes)
2667
    ;;
2668
 
2669
  # Other configurations, but we have a compiler.  Assume the user knows
2670
  # what he's doing.
2671
  yes:*:*:yes)
2672
    AC_MSG_WARN([trying to bootstrap a cross compiler])
2673
    ;;
2674
 
2675
  # No compiler: if they passed --enable-bootstrap explicitly, fail
2676
  no:*:*:yes)
2677
    AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
2678
 
2679
  # Fail if wrong command line
2680
  *)
2681
    AC_MSG_ERROR([invalid option for --enable-bootstrap])
2682
    ;;
2683
esac
2684
 
2685
case ",$enable_languages,:$ENABLE_BUILD_WITH_CXX:$enable_bootstrap" in
2686
  *,c++,*:yes:yes) ;;
2687
  *:yes:yes)
2688
    AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx requires c++ in --enable-languages])
2689
    ;;
2690
esac
2691
 
2692
case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
2693
  yes:yes:*\ gold\ *:*,c++,*) ;;
2694
  yes:yes:*\ gold\ *:*)
2695
    AC_MSG_ERROR([in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages])
2696
    ;;
2697
esac
2698
 
2699
# Adjust the toplevel makefile according to whether bootstrap was selected.
2700
case $enable_bootstrap in
2701
  yes)
2702
    bootstrap_suffix=bootstrap
2703
    BUILD_CONFIG=bootstrap-debug
2704
    ;;
2705
  no)
2706
    bootstrap_suffix=no-bootstrap
2707
    BUILD_CONFIG=
2708
    ;;
2709
esac
2710
 
2711
AC_MSG_CHECKING(for default BUILD_CONFIG)
2712
 
2713
AC_ARG_WITH([build-config],
2714
  [--with-build-config='NAME NAME2...'
2715
                          Use config/NAME.mk build configuration],
2716
  [case $with_build_config in
2717
   yes) with_build_config= ;;
2718
   no) with_build_config= BUILD_CONFIG= ;;
2719
   esac])
2720
 
2721
if test "x${with_build_config}" != x; then
2722
  BUILD_CONFIG=$with_build_config
2723
else
2724
  case $BUILD_CONFIG in
2725
  bootstrap-debug)
2726
    if echo "int f (void) { return 0; }" > conftest.c &&
2727
       ${CC} -c conftest.c &&
2728
       mv conftest.o conftest.o.g0 &&
2729
       ${CC} -c -g conftest.c &&
2730
       mv conftest.o conftest.o.g &&
2731
       ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then
2732
      :
2733
    else
2734
      BUILD_CONFIG=
2735
    fi
2736
    rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g
2737
    ;;
2738
  esac
2739
fi
2740
AC_MSG_RESULT($BUILD_CONFIG)
2741
AC_SUBST(BUILD_CONFIG)
2742
 
2743
extrasub_build=
2744
for module in ${build_configdirs} ; do
2745
  if test -z "${no_recursion}" \
2746
     && test -f ${build_subdir}/${module}/Makefile; then
2747
    echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
2748
    rm -f ${build_subdir}/${module}/Makefile
2749
  fi
2750
  extrasub_build="$extrasub_build
2751
/^@if build-$module\$/d
2752
/^@endif build-$module\$/d
2753
/^@if build-$module-$bootstrap_suffix\$/d
2754
/^@endif build-$module-$bootstrap_suffix\$/d"
2755
done
2756
extrasub_host=
2757
for module in ${configdirs} ; do
2758
  if test -z "${no_recursion}"; then
2759
    for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
2760
      if test -f ${file}; then
2761
        echo 1>&2 "*** removing ${file} to force reconfigure"
2762
        rm -f ${file}
2763
      fi
2764
    done
2765
  fi
2766
  extrasub_host="$extrasub_host
2767
/^@if $module\$/d
2768
/^@endif $module\$/d
2769
/^@if $module-$bootstrap_suffix\$/d
2770
/^@endif $module-$bootstrap_suffix\$/d"
2771
done
2772
extrasub_target=
2773
for module in ${target_configdirs} ; do
2774
  if test -z "${no_recursion}" \
2775
     && test -f ${target_subdir}/${module}/Makefile; then
2776
    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
2777
    rm -f ${target_subdir}/${module}/Makefile
2778
  fi
2779
 
2780
  # We only bootstrap target libraries listed in bootstrap_target_libs.
2781
  case $bootstrap_target_libs in
2782
    *,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;;
2783
    *) target_bootstrap_suffix=no-bootstrap ;;
2784
  esac
2785
 
2786
  extrasub_target="$extrasub_target
2787
/^@if target-$module\$/d
2788
/^@endif target-$module\$/d
2789
/^@if target-$module-$target_bootstrap_suffix\$/d
2790
/^@endif target-$module-$target_bootstrap_suffix\$/d"
2791
done
2792
 
2793
# Do the final fixup along with target modules.
2794
extrasub_target="$extrasub_target
2795
/^@if /,/^@endif /d"
2796
 
2797
# Create the serialization dependencies.  This uses a temporary file.
2798
 
2799
AC_ARG_ENABLE([serial-configure],
2800
[  --enable-serial-@<:@{host,target,build}-@:>@configure
2801
                          force sequential configuration of
2802
                          sub-packages for the host, target or build
2803
                          machine, or all sub-packages])
2804
 
2805
case ${enable_serial_configure} in
2806
  yes)
2807
    enable_serial_build_configure=yes
2808
    enable_serial_host_configure=yes
2809
    enable_serial_target_configure=yes
2810
    ;;
2811
esac
2812
 
2813
# These force 'configure's to be done one at a time, to avoid problems
2814
# with contention over a shared config.cache.
2815
rm -f serdep.tmp
2816
echo '# serdep.tmp' > serdep.tmp
2817
olditem=
2818
test "x${enable_serial_build_configure}" = xyes &&
2819
for item in ${build_configdirs} ; do
2820
  case ${olditem} in
2821
    "") ;;
2822
    *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
2823
  esac
2824
  olditem=${item}
2825
done
2826
olditem=
2827
test "x${enable_serial_host_configure}" = xyes &&
2828
for item in ${configdirs} ; do
2829
  case ${olditem} in
2830
    "") ;;
2831
    *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
2832
  esac
2833
  olditem=${item}
2834
done
2835
olditem=
2836
test "x${enable_serial_target_configure}" = xyes &&
2837
for item in ${target_configdirs} ; do
2838
  case ${olditem} in
2839
    "") ;;
2840
    *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
2841
  esac
2842
  olditem=${item}
2843
done
2844
serialization_dependencies=serdep.tmp
2845
AC_SUBST_FILE(serialization_dependencies)
2846
 
2847
# Base args.  Strip norecursion, cache-file, srcdir, host, build,
2848
# target, nonopt, and variable assignments.  These are the ones we
2849
# might not want to pass down to subconfigures.  The exception being
2850
# --cache-file=/dev/null, which is used to turn off the use of cache
2851
# files altogether, and which should be passed on to subconfigures.
2852
# Also strip program-prefix, program-suffix, and program-transform-name,
2853
# so that we can pass down a consistent program-transform-name.
2854
baseargs=
2855
keep_next=no
2856
skip_next=no
2857
eval "set -- $ac_configure_args"
2858
for ac_arg
2859
do
2860
  if test X"$skip_next" = X"yes"; then
2861
    skip_next=no
2862
    continue
2863
  fi
2864
  if test X"$keep_next" = X"yes"; then
2865
    case $ac_arg in
2866
      *\'*)
2867
        ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2868
    esac
2869
    baseargs="$baseargs '$ac_arg'"
2870
    keep_next=no
2871
    continue
2872
  fi
2873
 
2874
  # Handle separated arguments.  Based on the logic generated by
2875
  # autoconf 2.59.
2876
  case $ac_arg in
2877
    *=* | --config-cache | -C | -disable-* | --disable-* \
2878
      | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2879
      | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2880
      | -with-* | --with-* | -without-* | --without-* | --x)
2881
      separate_arg=no
2882
      ;;
2883
    -*)
2884
      separate_arg=yes
2885
      ;;
2886
    *)
2887
      separate_arg=no
2888
      ;;
2889
  esac
2890
 
2891
  case "$ac_arg" in
2892
    --cache-file=/dev/null | \
2893
    -cache-file=/dev/null )
2894
      # Handled here to avoid the test to skip args below.
2895
      baseargs="$baseargs '$ac_arg'"
2896
      # Assert: $separate_arg should always be no.
2897
      keep_next=$separate_arg
2898
      ;;
2899
    --no*)
2900
      continue
2901
      ;;
2902
    --c* | \
2903
    --sr* | \
2904
    --ho* | \
2905
    --bu* | \
2906
    --t* | \
2907
    --program-* | \
2908
    -cache_file* | \
2909
    -srcdir* | \
2910
    -host* | \
2911
    -build* | \
2912
    -target* | \
2913
    -program-prefix* | \
2914
    -program-suffix* | \
2915
    -program-transform-name* )
2916
      skip_next=$separate_arg
2917
      continue
2918
      ;;
2919
    -*)
2920
      # An option.  Add it.
2921
      case $ac_arg in
2922
        *\'*)
2923
          ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2924
      esac
2925
      baseargs="$baseargs '$ac_arg'"
2926
      keep_next=$separate_arg
2927
      ;;
2928
    *)
2929
      # Either a variable assignment, or a nonopt (triplet).  Don't
2930
      # pass it down; let the Makefile handle this.
2931
      continue
2932
      ;;
2933
  esac
2934
done
2935
# Remove the initial space we just introduced and, as these will be
2936
# expanded by make, quote '$'.
2937
baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
2938
 
2939
# Add in --program-transform-name, after --program-prefix and
2940
# --program-suffix have been applied to it.  Autoconf has already
2941
# doubled dollar signs and backslashes in program_transform_name; we want
2942
# the backslashes un-doubled, and then the entire thing wrapped in single
2943
# quotes, because this will be expanded first by make and then by the shell.
2944
# Also, because we want to override the logic in subdir configure scripts to
2945
# choose program_transform_name, replace any s,x,x, with s,y,y,.
2946
sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" < conftestsed.out
2947
${program_transform_name}
2948
EOF_SED
2949
gcc_transform_name=`cat conftestsed.out`
2950
rm -f conftestsed.out
2951
baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
2952
if test "$silent" = yes; then
2953
  baseargs="$baseargs --silent"
2954
fi
2955
baseargs="$baseargs --disable-option-checking"
2956
 
2957
# For the build-side libraries, we just need to pretend we're native,
2958
# and not use the same cache file.  Multilibs are neither needed nor
2959
# desired.
2960
build_configargs="--cache-file=../config.cache ${baseargs}"
2961
 
2962
# For host modules, accept cache file option, or specification as blank.
2963
case "${cache_file}" in
2964
"") # empty
2965
  cache_file_option="" ;;
2966
/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
2967
  cache_file_option="--cache-file=${cache_file}" ;;
2968
*) # relative path
2969
  cache_file_option="--cache-file=../${cache_file}" ;;
2970
esac
2971
 
2972
# Host dirs don't like to share a cache file either, horribly enough.
2973
# This seems to be due to autoconf 2.5x stupidity.
2974
host_configargs="--cache-file=./config.cache ${extra_host_args} ${baseargs}"
2975
 
2976
target_configargs=${baseargs}
2977
 
2978
# Passing a --with-cross-host argument lets the target libraries know
2979
# whether they are being built with a cross-compiler or being built
2980
# native.  However, it would be better to use other mechanisms to make the
2981
# sorts of decisions they want to make on this basis.  Please consider
2982
# this option to be deprecated.  FIXME.
2983
if test x${is_cross_compiler} = xyes ; then
2984
  target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
2985
fi
2986
 
2987
# Default to --enable-multilib.
2988
if test x${enable_multilib} = x ; then
2989
  target_configargs="--enable-multilib ${target_configargs}"
2990
fi
2991
 
2992
# Pass --with-newlib if appropriate.  Note that target_configdirs has
2993
# changed from the earlier setting of with_newlib.
2994
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
2995
  target_configargs="--with-newlib ${target_configargs}"
2996
fi
2997
 
2998
# Different target subdirs use different values of certain variables
2999
# (notably CXX).  Worse, multilibs use *lots* of different values.
3000
# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
3001
# it doesn't automatically accept command-line overrides of them.
3002
# This means it's not safe for target subdirs to share a cache file,
3003
# which is disgusting, but there you have it.  Hopefully this can be
3004
# fixed in future.  It's still worthwhile to use a cache file for each
3005
# directory.  I think.
3006
 
3007
# Pass the appropriate --build, --host, --target and --cache-file arguments.
3008
# We need to pass --target, as newer autoconf's requires consistency
3009
# for target_alias and gcc doesn't manage it consistently.
3010
target_configargs="--cache-file=./config.cache ${target_configargs}"
3011
 
3012
FLAGS_FOR_TARGET=
3013
case " $target_configdirs " in
3014
 *" newlib "*)
3015
  case " $target_configargs " in
3016
  *" --with-newlib "*)
3017
   case "$target" in
3018
    *-cygwin*)
3019
      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'
3020
      ;;
3021
   esac
3022
 
3023
   # If we're not building GCC, don't discard standard headers.
3024
   if test -d ${srcdir}/gcc; then
3025
     FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
3026
 
3027
     if test "${build}" != "${host}"; then
3028
       # On Canadian crosses, CC_FOR_TARGET will have already been set
3029
       # by `configure', so we won't have an opportunity to add -Bgcc/
3030
       # to it.  This is right: we don't want to search that directory
3031
       # for binaries, but we want the header files in there, so add
3032
       # them explicitly.
3033
       FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include'
3034
 
3035
       # Someone might think of using the pre-installed headers on
3036
       # Canadian crosses, in case the installed compiler is not fully
3037
       # compatible with the compiler being built.  In this case, it
3038
       # would be better to flag an error than risking having
3039
       # incompatible object files being constructed.  We can't
3040
       # guarantee that an error will be flagged, but let's hope the
3041
       # compiler will do it, when presented with incompatible header
3042
       # files.
3043
     fi
3044
   fi
3045
 
3046
   case "${target}-${is_cross_compiler}" in
3047
   i[[3456789]]86-*-linux*-no)
3048
      # Here host == target, so we don't need to build gcc,
3049
      # so we don't want to discard standard headers.
3050
      FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
3051
      ;;
3052
   *)
3053
      # If we're building newlib, use its generic headers last, but search
3054
      # for any libc-related directories first (so make it the last -B
3055
      # switch).
3056
      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
3057
 
3058
      # If we're building libgloss, find the startup file, simulator library
3059
      # and linker script.
3060
      case " $target_configdirs " in
3061
        *" libgloss "*)
3062
        # Look for startup file, simulator library and maybe linker script.
3063
        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
3064
        # Look for libnosys.a in case the target needs it.
3065
        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
3066
        # Most targets have the linker script in the source directory.
3067
        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
3068
        ;;
3069
      esac
3070
      ;;
3071
   esac
3072
   ;;
3073
  esac
3074
  ;;
3075
esac
3076
 
3077
case "$target" in
3078
  x86_64-*mingw* | *-w64-mingw*)
3079
  # MinGW-w64 does not use newlib, nor does it use winsup. It may,
3080
  # however, use a symlink named 'mingw' in ${prefix} .
3081
    FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L${prefix}/${target}/lib -L${prefix}/mingw/lib -isystem ${prefix}/${target}/include -isystem ${prefix}/mingw/include'
3082
    ;;
3083
  *-mingw*)
3084
  # MinGW can't be handled as Cygwin above since it does not use newlib.
3085
    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'
3086
    ;;
3087
esac
3088
 
3089
# Allow the user to override the flags for
3090
# our build compiler if desired.
3091
if test x"${build}" = x"${host}" ; then
3092
  CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
3093
  CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
3094
  LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
3095
fi
3096
 
3097
# On Canadian crosses, we'll be searching the right directories for
3098
# the previously-installed cross compiler, so don't bother to add
3099
# flags for directories within the install tree of the compiler
3100
# being built; programs in there won't even run.
3101
if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
3102
  # Search for pre-installed headers if nothing else fits.
3103
  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
3104
fi
3105
 
3106
if test "x${use_gnu_ld}" = x &&
3107
   echo " ${configdirs} " | grep " ld " > /dev/null ; then
3108
  # Arrange for us to find uninstalled linker scripts.
3109
  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
3110
fi
3111
 
3112
# Search for other target-specific linker scripts and such.
3113
case "${target}" in
3114
  mep*)
3115
    FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
3116
    ;;
3117
esac
3118
 
3119
# Makefile fragments.
3120
for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
3121
do
3122
  eval fragval=\$$frag
3123
  if test $fragval != /dev/null; then
3124
    eval $frag=${srcdir}/$fragval
3125
  fi
3126
done
3127
AC_SUBST_FILE(host_makefile_frag)
3128
AC_SUBST_FILE(target_makefile_frag)
3129
AC_SUBST_FILE(alphaieee_frag)
3130
AC_SUBST_FILE(ospace_frag)
3131
 
3132
# Miscellanea: directories, flags, etc.
3133
AC_SUBST(RPATH_ENVVAR)
3134
AC_SUBST(GCC_SHLIB_SUBDIR)
3135
AC_SUBST(tooldir)
3136
AC_SUBST(build_tooldir)
3137
AC_SUBST(CONFIGURE_GDB_TK)
3138
AC_SUBST(GDB_TK)
3139
AC_SUBST(INSTALL_GDB_TK)
3140
 
3141
# Build module lists & subconfigure args.
3142
AC_SUBST(build_configargs)
3143
AC_SUBST(build_configdirs)
3144
 
3145
# Host module lists & subconfigure args.
3146
AC_SUBST(host_configargs)
3147
AC_SUBST(configdirs)
3148
AC_SUBST(target_configdirs)
3149
 
3150
# Target module lists & subconfigure args.
3151
AC_SUBST(target_configargs)
3152
 
3153
 
3154
# Build tools.
3155
AC_SUBST(AR_FOR_BUILD)
3156
AC_SUBST(AS_FOR_BUILD)
3157
AC_SUBST(CC_FOR_BUILD)
3158
AC_SUBST(CFLAGS_FOR_BUILD)
3159
AC_SUBST(CXXFLAGS_FOR_BUILD)
3160
AC_SUBST(CXX_FOR_BUILD)
3161
AC_SUBST(DLLTOOL_FOR_BUILD)
3162
AC_SUBST(GCJ_FOR_BUILD)
3163
AC_SUBST(GFORTRAN_FOR_BUILD)
3164
AC_SUBST(LDFLAGS_FOR_BUILD)
3165
AC_SUBST(LD_FOR_BUILD)
3166
AC_SUBST(NM_FOR_BUILD)
3167
AC_SUBST(RANLIB_FOR_BUILD)
3168
AC_SUBST(WINDMC_FOR_BUILD)
3169
AC_SUBST(WINDRES_FOR_BUILD)
3170
AC_SUBST(config_shell)
3171
 
3172
# Generate default definitions for YACC, M4, LEX and other programs that run
3173
# on the build machine.  These are used if the Makefile can't locate these
3174
# programs in objdir.
3175
MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
3176
 
3177
AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
3178
case " $build_configdirs " in
3179
  *" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
3180
  *" byacc "*) YACC='$$r/$(BUILD_SUBDIR)/byacc/byacc' ;;
3181
esac
3182
 
3183
AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
3184
case " $build_configdirs " in
3185
  *" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
3186
esac
3187
 
3188
AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
3189
case " $build_configdirs " in
3190
  *" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
3191
esac
3192
 
3193
AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
3194
case " $build_configdirs " in
3195
  *" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3196
  *" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
3197
esac
3198
 
3199
AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
3200
case " $build_configdirs " in
3201
  *" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3202
esac
3203
 
3204
AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
3205
case " $build_configdirs " in
3206
  *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
3207
  *)
3208
changequote(,)
3209
    # For an installed makeinfo, we require it to be from texinfo 4.7 or
3210
    # higher, else we use the "missing" dummy.
3211
    if ${MAKEINFO} --version \
3212
       | egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
3213
      :
3214
    else
3215
      MAKEINFO="$MISSING makeinfo"
3216
    fi
3217
    ;;
3218
changequote([,])
3219
esac
3220
 
3221
# FIXME: expect and dejagnu may become build tools?
3222
 
3223
AC_CHECK_PROGS(EXPECT, expect, expect)
3224
case " $configdirs " in
3225
  *" expect "*)
3226
    test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
3227
    ;;
3228
esac
3229
 
3230
AC_CHECK_PROGS(RUNTEST, runtest, runtest)
3231
case " $configdirs " in
3232
  *" dejagnu "*)
3233
    test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest'
3234
    ;;
3235
esac
3236
 
3237
 
3238
# Host tools.
3239
NCN_STRICT_CHECK_TOOLS(AR, ar)
3240
NCN_STRICT_CHECK_TOOLS(AS, as)
3241
NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
3242
NCN_STRICT_CHECK_TOOLS(LD, ld)
3243
NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
3244
NCN_STRICT_CHECK_TOOLS(NM, nm)
3245
NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, true)
3246
NCN_STRICT_CHECK_TOOLS(STRIP, strip, true)
3247
NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
3248
NCN_STRICT_CHECK_TOOLS(WINDMC, windmc)
3249
NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
3250
NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
3251
AC_SUBST(CC)
3252
AC_SUBST(CXX)
3253
AC_SUBST(CFLAGS)
3254
AC_SUBST(CXXFLAGS)
3255
 
3256
# Target tools.
3257
AC_ARG_WITH([build-time-tools],
3258
  [  --with-build-time-tools=PATH
3259
                          use given path to find target tools during the build],
3260
  [case x"$withval" in
3261
     x/*) ;;
3262
     *)
3263
       with_build_time_tools=
3264
       AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path])
3265
       ;;
3266
   esac],
3267
  [with_build_time_tools=])
3268
 
3269
NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
3270
NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
3271
NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
3272
NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
3273
NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
3274
 
3275
ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
3276
ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
3277
ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
3278
ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
3279
ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
3280
ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
3281
ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
3282
ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib)
3283
ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
3284
ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
3285
ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
3286
 
3287
RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
3288
 
3289
GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
3290
GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
3291
GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3292
GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
3293
                [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],
3294
                c++)
3295
GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
3296
                [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],
3297
                c++)
3298
GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
3299
GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3300
GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
3301
                [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
3302
GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
3303
                [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
3304
GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
3305
GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
3306
GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
3307
GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
3308
GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
3309
GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip])
3310
GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
3311
GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc])
3312
 
3313
AC_SUBST(FLAGS_FOR_TARGET)
3314
AC_SUBST(RAW_CXX_FOR_TARGET)
3315
 
3316
# Certain tools may need extra flags.
3317
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
3318
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
3319
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
3320
 
3321
# When building target libraries, except in a Canadian cross, we use
3322
# the same toolchain as the compiler we just built.
3323
COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
3324
COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
3325
COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
3326
if test $host = $build; then
3327
  case " $configdirs " in
3328
    *" gcc "*)
3329
      COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
3330
      COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
3331
      COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
3332
      ;;
3333
  esac
3334
fi
3335
 
3336
AC_SUBST(COMPILER_AS_FOR_TARGET)
3337
AC_SUBST(COMPILER_LD_FOR_TARGET)
3338
AC_SUBST(COMPILER_NM_FOR_TARGET)
3339
 
3340
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
3341
AC_ARG_ENABLE(maintainer-mode,
3342
[  --enable-maintainer-mode enable make rules and dependencies not useful
3343
                          (and sometimes confusing) to the casual installer],
3344
      USE_MAINTAINER_MODE=$enableval,
3345
      USE_MAINTAINER_MODE=no)
3346
AC_MSG_RESULT($USE_MAINTAINER_MODE)
3347
AC_SUBST(MAINTAINER_MODE_TRUE)
3348
AC_SUBST(MAINTAINER_MODE_FALSE)
3349
if test "$USE_MAINTAINER_MODE" = yes; then
3350
  MAINTAINER_MODE_TRUE=
3351
  MAINTAINER_MODE_FALSE='#'
3352
else
3353
  MAINTAINER_MODE_TRUE='#'
3354
  MAINTAINER_MODE_FALSE=
3355
fi
3356
MAINT=$MAINTAINER_MODE_TRUE
3357
AC_SUBST(MAINT)dnl
3358
 
3359
# ---------------------
3360
# GCC bootstrap support
3361
# ---------------------
3362
 
3363
# Stage specific cflags for build.
3364
stage1_cflags="-g"
3365
case $build in
3366
  vax-*-*)
3367
    case ${GCC} in
3368
      yes) stage1_cflags="-g -Wa,-J" ;;
3369
      *) stage1_cflags="-g -J" ;;
3370
    esac ;;
3371
esac
3372
 
3373
# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
3374
if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then
3375
  saved_CFLAGS="$CFLAGS"
3376
 
3377
  # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
3378
  CFLAGS="$CFLAGS -fkeep-inline-functions"
3379
  AC_MSG_CHECKING([whether -fkeep-inline-functions is supported])
3380
  AC_TRY_COMPILE([
3381
#if (__GNUC__ < 3) \
3382
    || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \
3383
                          || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1)))
3384
#error http://gcc.gnu.org/PR29382
3385
#endif
3386
    ],,
3387
    [AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"],
3388
    [AC_MSG_RESULT([no])])
3389
 
3390
  CFLAGS="$saved_CFLAGS"
3391
fi
3392
 
3393
AC_SUBST(stage1_cflags)
3394
 
3395
# Enable --enable-checking in stage1 of the compiler.
3396
AC_ARG_ENABLE(stage1-checking,
3397
[  --enable-stage1-checking@<:@=all@:>@   choose additional checking for stage1
3398
                          of the compiler],
3399
[stage1_checking=--enable-checking=${enable_stage1_checking}],
3400
[if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
3401
  stage1_checking=--enable-checking=yes,types
3402
else
3403
  stage1_checking=--enable-checking=$enable_checking,types
3404
fi])
3405
AC_SUBST(stage1_checking)
3406
 
3407
# Enable -Werror in bootstrap stage2 and later.
3408
AC_ARG_ENABLE(werror,
3409
[  --enable-werror         enable -Werror in bootstrap stage2 and later], [],
3410
[if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
3411
  enable_werror=yes
3412
else
3413
  enable_werror=no
3414
fi])
3415
case ${enable_werror} in
3416
  yes) stage2_werror_flag="--enable-werror-always" ;;
3417
  *) stage2_werror_flag="" ;;
3418
esac
3419
AC_SUBST(stage2_werror_flag)
3420
 
3421
# Specify what files to not compare during bootstrap.
3422
 
3423
compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
3424
case "$target" in
3425
  hppa*64*-*-hpux*) ;;
3426
  hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
3427
esac
3428
case " $configdirs " in
3429
*" ppl "*) compare_exclusions="$compare_exclusions | ppl/src/ppl-config.o" ;;
3430
esac
3431
AC_SUBST(compare_exclusions)
3432
 
3433
AC_CONFIG_FILES([Makefile],
3434
  [sed "$extrasub_build" Makefile |
3435
   sed "$extrasub_host" |
3436
   sed "$extrasub_target" > mf$$
3437
   mv -f mf$$ Makefile],
3438
  [extrasub_build="$extrasub_build"
3439
   extrasub_host="$extrasub_host"
3440
   extrasub_target="$extrasub_target"])
3441
AC_OUTPUT

powered by: WebSVN 2.1.0

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