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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [configure.in] - Blame information for rev 816

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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