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

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [configure.in] - Blame information for rev 22

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

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

powered by: WebSVN 2.1.0

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