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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [configure.ac] - Blame information for rev 856

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

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

powered by: WebSVN 2.1.0

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