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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [configure.ac] - Blame information for rev 178

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

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

powered by: WebSVN 2.1.0

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