]> git.ipfire.org Git - thirdparty/gcc.git/blob - configure.ac
51b53b5c56ab698596fa8caa20e7894848179b92
[thirdparty/gcc.git] / configure.ac
1 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2 # 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
3 # 2014, 2015, 2016 Free Software Foundation, Inc.
4 #
5 # This file is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; see the file COPYING3. If not see
17 # <http://www.gnu.org/licenses/>.
18
19 ##############################################################################
20 ### WARNING: this file contains embedded tabs. Do not run untabify on this file.
21
22 m4_include(config/acx.m4)
23 m4_include(config/override.m4)
24 m4_include(config/proginstall.m4)
25 m4_include(config/elf.m4)
26 m4_include([libtool.m4])
27 m4_include([ltoptions.m4])
28 m4_include([ltsugar.m4])
29 m4_include([ltversion.m4])
30 m4_include([lt~obsolete.m4])
31 m4_include([config/isl.m4])
32
33 AC_INIT(move-if-change)
34 AC_PREREQ(2.64)
35 AC_DISABLE_OPTION_CHECKING
36
37 progname=$0
38 # if PWD already has a value, it is probably wrong.
39 if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
40
41 # Export original configure arguments for use by sub-configures.
42 # Quote arguments with shell meta charatcers.
43 TOPLEVEL_CONFIGURE_ARGUMENTS=
44 set -- "$progname" "$@"
45 for ac_arg
46 do
47 case "$ac_arg" in
48 *" "*|*" "*|*[[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\']]*)
49 ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
50 # if the argument is of the form -foo=baz, quote the baz part only
51 ac_arg=`echo "'$ac_arg'" | sed "s/^'\([[-a-zA-Z0-9]]*=\)/\\1'/"` ;;
52 *) ;;
53 esac
54 # Add the quoted argument to the list.
55 TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS $ac_arg"
56 done
57 if test "$silent" = yes; then
58 TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS --silent"
59 fi
60 # Remove the initial space we just introduced and, as these will be
61 # expanded by make, quote '$'.
62 TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
63 AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
64
65 # Find the build, host, and target systems.
66 ACX_NONCANONICAL_BUILD
67 ACX_NONCANONICAL_HOST
68 ACX_NONCANONICAL_TARGET
69
70 dnl Autoconf 2.5x and later will set a default program prefix if
71 dnl --target was used, even if it was the same as --host. Disable
72 dnl that behavior. This must be done before AC_CANONICAL_SYSTEM
73 dnl to take effect.
74 test "$host_noncanonical" = "$target_noncanonical" &&
75 test "$program_prefix$program_suffix$program_transform_name" = \
76 NONENONEs,x,x, &&
77 program_transform_name=s,y,y,
78
79 AC_CANONICAL_SYSTEM
80 AC_ARG_PROGRAM
81
82 m4_pattern_allow([^AS_FOR_TARGET$])dnl
83 m4_pattern_allow([^AS_FOR_BUILD$])dnl
84
85 # Get 'install' or 'install-sh' and its variants.
86 AC_PROG_INSTALL
87 ACX_PROG_LN
88 AC_PROG_LN_S
89 AC_PROG_SED
90 AC_PROG_AWK
91
92 srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
93
94 # We pass INSTALL explicitly to sub-makes. Make sure that it is not
95 # a relative path.
96 if test "$INSTALL" = "${srcdir}/install-sh -c"; then
97 INSTALL="${srcpwd}/install-sh -c"
98 fi
99
100 # Set srcdir to "." if that's what it is.
101 # This is important for multilib support.
102 pwd=`${PWDCMD-pwd}`
103 if test "${pwd}" = "${srcpwd}" ; then
104 srcdir=.
105 fi
106
107 topsrcdir=$srcpwd
108
109 extra_host_args=
110
111 ### To add a new directory to the tree, first choose whether it is a target
112 ### or a host dependent tool. Then put it into the appropriate list
113 ### (library or tools, host or target), doing a dependency sort.
114
115 # Subdirs will be configured in the order listed in build_configdirs,
116 # configdirs, or target_configdirs; see the serialization section below.
117
118 # Dependency sorting is only needed when *configuration* must be done in
119 # a particular order. In all cases a dependency should be specified in
120 # the Makefile, whether or not it's implicitly specified here.
121
122 # Double entries in build_configdirs, configdirs, or target_configdirs may
123 # cause circular dependencies and break everything horribly.
124
125 # these library is used by various programs built for the build
126 # environment
127 #
128 build_libs="build-libiberty build-libcpp"
129
130 # these tools are built for the build environment
131 build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes"
132
133 # these libraries are used by various programs built for the host environment
134 #f
135 host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libdecnumber gmp mpfr mpc isl libelf libiconv"
136
137 # these tools are built for the host environment
138 # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
139 # know that we are building the simulator.
140 # binutils, gas and ld appear in that order because it makes sense to run
141 # "make check" in that particular order.
142 # If --enable-gold is used, "gold" may replace "ld".
143 host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools"
144
145 # libgcj represents the runtime libraries only used by gcj.
146 libgcj="target-libffi \
147 target-zlib \
148 target-libjava"
149
150 # these libraries are built for the target environment, and are built after
151 # the host libraries and the host tools (which may be a cross compiler)
152 # Note that libiberty is not a target library.
153 target_libraries="target-libgcc \
154 target-libbacktrace \
155 target-libgloss \
156 target-newlib \
157 target-libgomp \
158 target-libcilkrts \
159 target-liboffloadmic \
160 target-libatomic \
161 target-libitm \
162 target-libstdc++-v3 \
163 target-libsanitizer \
164 target-libvtv \
165 target-libmpx \
166 target-libssp \
167 target-libquadmath \
168 target-libgfortran \
169 target-boehm-gc \
170 ${libgcj} \
171 target-libobjc \
172 target-libada \
173 target-libgo"
174
175 # these tools are built using the target libraries, and are intended to
176 # run only in the target environment
177 #
178 # note: any program that *uses* libraries that are in the "target_libraries"
179 # list belongs in this list.
180 #
181 target_tools="target-rda"
182
183 ################################################################################
184
185 ## All tools belong in one of the four categories, and are assigned above
186 ## We assign ${configdirs} this way to remove all embedded newlines. This
187 ## is important because configure will choke if they ever get through.
188 ## ${configdirs} is directories we build using the host tools.
189 ## ${target_configdirs} is directories we build using the target tools.
190 configdirs=`echo ${host_libs} ${host_tools}`
191 target_configdirs=`echo ${target_libraries} ${target_tools}`
192 build_configdirs=`echo ${build_libs} ${build_tools}`
193
194 m4_divert_text([PARSE_ARGS],
195 [case $srcdir in
196 *" "*)
197 m4_pushdef([AS_MESSAGE_LOG_FD], [])dnl
198 AC_MSG_ERROR([path to source, $srcdir, contains spaces])
199 m4_popdef([AS_MESSAGE_LOG_FD])dnl
200 ;;
201 esac
202 ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'`
203 ])
204
205 ################################################################################
206
207 srcname="gnu development package"
208
209 # This gets set non-empty for some net releases of packages.
210 appdirs=""
211
212 # Define is_cross_compiler to save on calls to 'test'.
213 is_cross_compiler=
214 if test x"${host}" = x"${target}" ; then
215 is_cross_compiler=no
216 else
217 is_cross_compiler=yes
218 fi
219
220 # Find the build and target subdir names.
221 GCC_TOPLEV_SUBDIRS
222 # Be sure to cover against remnants of an in-tree build.
223 if test $srcdir != . && test -d $srcdir/host-${host_noncanonical}; then
224 AC_MSG_ERROR([building out of tree but $srcdir contains host-${host_noncanonical}.
225 Use a pristine source tree when building in a separate tree])
226 fi
227
228 # Skipdirs are removed silently.
229 skipdirs=
230 # Noconfigdirs are removed loudly.
231 noconfigdirs=""
232
233 use_gnu_ld=
234 # Make sure we don't let GNU ld be added if we didn't want it.
235 if test x$with_gnu_ld = xno ; then
236 use_gnu_ld=no
237 noconfigdirs="$noconfigdirs ld gold"
238 fi
239
240 use_gnu_as=
241 # Make sure we don't let GNU as be added if we didn't want it.
242 if test x$with_gnu_as = xno ; then
243 use_gnu_as=no
244 noconfigdirs="$noconfigdirs gas"
245 fi
246
247 use_included_zlib=
248 AC_ARG_WITH(system-zlib,
249 [AS_HELP_STRING([--with-system-zlib], [use installed libz])])
250 # Make sure we don't let ZLIB be added if we didn't want it.
251 if test x$with_system_zlib = xyes ; then
252 use_included_zlib=no
253 noconfigdirs="$noconfigdirs zlib"
254 fi
255
256 # some tools are so dependent upon X11 that if we're not building with X,
257 # it's not even worth trying to configure, much less build, that tool.
258
259 case ${with_x} in
260 yes | "") ;; # the default value for this tree is that X11 is available
261 no)
262 skipdirs="${skipdirs} tk itcl libgui"
263 # We won't be able to build gdbtk without X.
264 enable_gdbtk=no
265 ;;
266 *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
267 esac
268
269 # Some are only suitable for cross toolchains.
270 # Remove these if host=target.
271 cross_only="target-libgloss target-newlib target-opcodes"
272
273 case $is_cross_compiler in
274 no) skipdirs="${skipdirs} ${cross_only}" ;;
275 esac
276
277 # If both --with-headers and --with-libs are specified, default to
278 # --without-newlib.
279 if test x"${with_headers}" != x && test x"${with_headers}" != xno \
280 && test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
281 if test x"${with_newlib}" = x ; then
282 with_newlib=no
283 fi
284 fi
285
286 # Recognize --with-newlib/--without-newlib.
287 case ${with_newlib} in
288 no) skipdirs="${skipdirs} target-newlib" ;;
289 yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
290 esac
291
292 AC_ARG_ENABLE(as-accelerator-for,
293 [AS_HELP_STRING([--enable-as-accelerator-for=ARG],
294 [build as offload target compiler.
295 Specify offload host triple by ARG])])
296
297 AC_ARG_ENABLE(offload-targets,
298 [AS_HELP_STRING([--enable-offload-targets=LIST],
299 [enable offloading to devices from comma-separated LIST of
300 TARGET[=DIR]. Use optional path to find offload target compiler
301 during the build])],
302 [
303 if test x"$enable_offload_targets" = x; then
304 AC_MSG_ERROR([no offload targets specified])
305 fi
306 ], [enable_offload_targets=])
307
308 # Handle --enable-gold, --enable-ld.
309 # --disable-gold [--enable-ld]
310 # Build only ld. Default option.
311 # --enable-gold [--enable-ld]
312 # Build both gold and ld. Install gold as "ld.gold", install ld
313 # as "ld.bfd" and "ld".
314 # --enable-gold=default [--enable-ld]
315 # Build both gold and ld. Install gold as "ld.gold" and "ld",
316 # install ld as "ld.bfd".
317 # --enable-gold[=default] --disable-ld
318 # Build only gold, which is then installed as both "ld.gold" and "ld".
319 # --enable-gold --enable-ld=default
320 # Build both gold (installed as "ld.gold") and ld (installed as "ld"
321 # and ld.bfd).
322 # In other words, ld is default
323 # --enable-gold=default --enable-ld=default
324 # Error.
325
326 default_ld=
327 AC_ARG_ENABLE(gold,
328 [AS_HELP_STRING([[--enable-gold[=ARG]]],
329 [build gold @<:@ARG={default,yes,no}@:>@])],
330 ENABLE_GOLD=$enableval,
331 ENABLE_GOLD=no)
332 case "${ENABLE_GOLD}" in
333 yes|default)
334 # Check for ELF target.
335 is_elf=no
336 case "${target}" in
337 *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
338 | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
339 | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
340 | *-*-solaris2* | *-*-nto* | *-*-nacl*)
341 case "${target}" in
342 *-*-linux*aout* | *-*-linux*oldld*)
343 ;;
344 *)
345 is_elf=yes
346 ;;
347 esac
348 esac
349
350 if test "$is_elf" = "yes"; then
351 # Check for target supported by gold.
352 case "${target}" in
353 i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* \
354 | aarch64*-*-* | tilegx*-*-* | mips*-*-* | s390*-*-*)
355 configdirs="$configdirs gold"
356 if test x${ENABLE_GOLD} = xdefault; then
357 default_ld=gold
358 fi
359 ENABLE_GOLD=yes
360 ;;
361 esac
362 fi
363 ;;
364 no)
365 ;;
366 *)
367 AC_MSG_ERROR([invalid --enable-gold argument])
368 ;;
369 esac
370
371 AC_ARG_ENABLE(ld,
372 [AS_HELP_STRING([[--enable-ld[=ARG]]],
373 [build ld @<:@ARG={default,yes,no}@:>@])],
374 ENABLE_LD=$enableval,
375 ENABLE_LD=yes)
376
377 case "${ENABLE_LD}" in
378 default)
379 if test x${default_ld} != x; then
380 AC_MSG_ERROR([either gold or ld can be the default ld])
381 fi
382 ;;
383 yes)
384 ;;
385 no)
386 if test x${ENABLE_GOLD} != xyes; then
387 AC_MSG_WARN([neither ld nor gold are enabled])
388 fi
389 configdirs=`echo " ${configdirs} " | sed -e 's/ ld / /'`
390 ;;
391 *)
392 AC_MSG_ERROR([invalid --enable-ld argument])
393 ;;
394 esac
395
396 # PR gas/19109
397 # Decide the default method for compressing debug sections.
398 # Provide a configure time option to override our default.
399 AC_ARG_ENABLE(compressed_debug_sections,
400 [AS_HELP_STRING([--enable-compressed-debug-sections={all,gas,gold,ld,none}],
401 [Enable compressed debug sections for gas, gold or ld by
402 default])],
403 [
404 if test x"$enable_compressed_debug_sections" = xyes; then
405 AC_MSG_ERROR([no program with compressed debug sections specified])
406 fi
407 ], [enable_compressed_debug_sections=])
408
409 # Configure extra directories which are host specific
410
411 case "${host}" in
412 *-cygwin*)
413 configdirs="$configdirs libtermcap" ;;
414 esac
415
416 # A target can indicate whether a language isn't supported for some reason.
417 # Only spaces may be used in this macro; not newlines or tabs.
418 unsupported_languages=
419
420 # Remove more programs from consideration, based on the host or
421 # target this usually means that a port of the program doesn't
422 # exist yet.
423
424 case "${host}" in
425 i[[3456789]]86-*-msdosdjgpp*)
426 noconfigdirs="$noconfigdirs tcl tk itcl"
427 ;;
428 esac
429
430
431 AC_ARG_ENABLE(libquadmath,
432 AS_HELP_STRING([--disable-libquadmath],
433 [do not build libquadmath directory]),
434 ENABLE_LIBQUADMATH=$enableval,
435 ENABLE_LIBQUADMATH=yes)
436 if test "${ENABLE_LIBQUADMATH}" = "no" ; then
437 noconfigdirs="$noconfigdirs target-libquadmath"
438 fi
439
440
441 AC_ARG_ENABLE(libquadmath-support,
442 AS_HELP_STRING([--disable-libquadmath-support],
443 [disable libquadmath support for Fortran]),
444 ENABLE_LIBQUADMATH_SUPPORT=$enableval,
445 ENABLE_LIBQUADMATH_SUPPORT=yes)
446 enable_libquadmath_support=
447 if test "${ENABLE_LIBQUADMATH_SUPPORT}" = "no" ; then
448 enable_libquadmath_support=no
449 fi
450
451
452 AC_ARG_ENABLE(libada,
453 [AS_HELP_STRING([--enable-libada], [build libada directory])],
454 ENABLE_LIBADA=$enableval,
455 ENABLE_LIBADA=yes)
456 if test "${ENABLE_LIBADA}" != "yes" ; then
457 noconfigdirs="$noconfigdirs gnattools"
458 fi
459
460 AC_ARG_ENABLE(libssp,
461 [AS_HELP_STRING([--enable-libssp], [build libssp directory])],
462 ENABLE_LIBSSP=$enableval,
463 ENABLE_LIBSSP=yes)
464
465 AC_ARG_ENABLE(libstdcxx,
466 AS_HELP_STRING([--disable-libstdcxx],
467 [do not build libstdc++-v3 directory]),
468 ENABLE_LIBSTDCXX=$enableval,
469 ENABLE_LIBSTDCXX=default)
470 [if test "${ENABLE_LIBSTDCXX}" = "no" ; then
471 noconfigdirs="$noconfigdirs target-libstdc++-v3"
472 fi]
473
474 # If this is accelerator compiler and its target is intelmic we enable
475 # target liboffloadmic by default. If this is compiler with offloading
476 # for intelmic we enable host liboffloadmic by default. Otherwise
477 # liboffloadmic is disabled by default.
478 AC_ARG_ENABLE([liboffloadmic],
479 AC_HELP_STRING([[--enable-liboffloadmic[=ARG]]],
480 [build liboffloadmic @<:@ARG={no,host,target}@:>@]),
481 [case "$enableval" in
482 no | host | target)
483 enable_liboffloadmic=$enableval ;;
484 *)
485 AC_MSG_ERROR([--enable-liboffloadmic=no/host/target]) ;;
486 esac],
487 [if test x"$enable_as_accelerator_for" != x; then
488 case "${target}" in
489 *-intelmic-* | *-intelmicemul-*)
490 enable_liboffloadmic=target
491 extra_liboffloadmic_configure_flags="--enable-liboffloadmic=target"
492 ;;
493 *)
494 enable_liboffloadmic=no
495 ;;
496 esac
497 else
498 case "${enable_offload_targets}" in
499 *-intelmic-* | *-intelmicemul-*)
500 enable_liboffloadmic=host
501 extra_liboffloadmic_configure_flags="--enable-liboffloadmic=host"
502 ;;
503 *)
504 enable_liboffloadmic=no
505 ;;
506 esac
507 fi])
508 AC_SUBST(extra_liboffloadmic_configure_flags)
509
510 # Save it here so that, even in case of --enable-libgcj, if the Java
511 # front-end isn't enabled, we still get libgcj disabled.
512 libgcj_saved=$libgcj
513 case $enable_libgcj in
514 yes)
515 # If we reset it here, it won't get added to noconfigdirs in the
516 # target-specific build rules, so it will be forcibly enabled
517 # (unless the Java language itself isn't enabled).
518 libgcj=
519 ;;
520 no)
521 # Make sure we get it printed in the list of not supported target libs.
522 # Don't disable libffi, though, other languages use it.
523 noconfigdirs="$noconfigdirs `echo ${libgcj} | sed -e 's/target-libffi//'`"
524 # Clear libgcj_saved so that even if java is enabled libffi won't be
525 # built.
526 libgcj_saved=
527 ;;
528 esac
529
530 AC_ARG_ENABLE(static-libjava,
531 [AS_HELP_STRING([[--enable-static-libjava[=ARG]]],
532 [build static libjava @<:@default=no@:>@])],
533 ENABLE_STATIC_LIBJAVA=$enableval,
534 ENABLE_STATIC_LIBJAVA=no)
535 enable_static_libjava=
536 if test "${ENABLE_STATIC_LIBJAVA}" = "yes" ; then
537 enable_static_libjava=yes
538 fi
539
540 if test x$enable_static_libjava != xyes ; then
541 EXTRA_CONFIGARGS_LIBJAVA=--disable-static
542 fi
543 AC_SUBST(EXTRA_CONFIGARGS_LIBJAVA)
544
545 # Enable libgomp by default on hosted POSIX systems, and a few others.
546 if test x$enable_libgomp = x ; then
547 case "${target}" in
548 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
549 ;;
550 *-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
551 ;;
552 *-*-solaris2* | *-*-hpux11*)
553 ;;
554 *-*-darwin* | *-*-aix*)
555 ;;
556 nvptx*-*-*)
557 ;;
558 *)
559 noconfigdirs="$noconfigdirs target-libgomp"
560 ;;
561 esac
562 fi
563
564 # Disable libatomic on unsupported systems.
565 if test -d ${srcdir}/libatomic; then
566 if test x$enable_libatomic = x; then
567 AC_MSG_CHECKING([for libatomic support])
568 if (srcdir=${srcdir}/libatomic; \
569 . ${srcdir}/configure.tgt; \
570 test -n "$UNSUPPORTED")
571 then
572 AC_MSG_RESULT([no])
573 noconfigdirs="$noconfigdirs target-libatomic"
574 else
575 AC_MSG_RESULT([yes])
576 fi
577 fi
578 fi
579
580 # Disable libcilkrts on unsupported systems.
581 if test -d ${srcdir}/libcilkrts; then
582 if test x$enable_libcilkrts = x; then
583 AC_MSG_CHECKING([for libcilkrts support])
584 if (srcdir=${srcdir}/libcilkrts; \
585 . ${srcdir}/configure.tgt; \
586 test -n "$UNSUPPORTED")
587 then
588 AC_MSG_RESULT([no])
589 noconfigdirs="$noconfigdirs target-libcilkrts"
590 else
591 AC_MSG_RESULT([yes])
592 fi
593 fi
594 fi
595
596 # Disable liboffloadmic on unsupported systems.
597 if test -d ${srcdir}/liboffloadmic; then
598 if test x$enable_liboffloadmic != xno; then
599 AC_MSG_CHECKING([for liboffloadmic support])
600 if (srcdir=${srcdir}/liboffloadmic; \
601 . ${srcdir}/configure.tgt; \
602 test -n "$UNSUPPORTED")
603 then
604 AC_MSG_RESULT([no])
605 noconfigdirs="$noconfigdirs target-liboffloadmic"
606 else
607 AC_MSG_RESULT([yes])
608 fi
609 fi
610 fi
611
612 # Disable libitm on unsupported systems.
613 if test -d ${srcdir}/libitm; then
614 if test x$enable_libitm = x; then
615 AC_MSG_CHECKING([for libitm support])
616 if (srcdir=${srcdir}/libitm; \
617 . ${srcdir}/configure.tgt; \
618 test -n "$UNSUPPORTED")
619 then
620 AC_MSG_RESULT([no])
621 noconfigdirs="$noconfigdirs target-libitm"
622 else
623 AC_MSG_RESULT([yes])
624 fi
625 fi
626 fi
627
628 # Disable libsanitizer on unsupported systems.
629 if test -d ${srcdir}/libsanitizer; then
630 if test x$enable_libsanitizer = x; then
631 AC_MSG_CHECKING([for libsanitizer support])
632 if (srcdir=${srcdir}/libsanitizer; \
633 . ${srcdir}/configure.tgt; \
634 test -n "$UNSUPPORTED")
635 then
636 AC_MSG_RESULT([no])
637 noconfigdirs="$noconfigdirs target-libsanitizer"
638 else
639 AC_MSG_RESULT([yes])
640 fi
641 fi
642 fi
643
644 # Disable libvtv on unsupported systems.
645 if test -d ${srcdir}/libvtv; then
646 if test x$enable_libvtv = x; then
647 AC_MSG_CHECKING([for libvtv support])
648 if (srcdir=${srcdir}/libvtv; \
649 . ${srcdir}/configure.tgt; \
650 test "$VTV_SUPPORTED" != "yes")
651 then
652 AC_MSG_RESULT([no])
653 noconfigdirs="$noconfigdirs target-libvtv"
654 else
655 AC_MSG_RESULT([yes])
656 fi
657 fi
658 fi
659
660
661 # Enable libmpx on supported systems by request.
662 if test -d ${srcdir}/libmpx; then
663 if test x$enable_libmpx = x; then
664 AC_MSG_CHECKING([for libmpx support])
665 if (srcdir=${srcdir}/libmpx; \
666 . ${srcdir}/configure.tgt; \
667 test "$LIBMPX_SUPPORTED" != "yes")
668 then
669 AC_MSG_RESULT([no])
670 noconfigdirs="$noconfigdirs target-libmpx"
671 else
672 AC_MSG_RESULT([yes])
673 fi
674 fi
675 fi
676
677
678
679 # Disable libquadmath for some systems.
680 case "${target}" in
681 avr-*-*)
682 noconfigdirs="$noconfigdirs target-libquadmath"
683 ;;
684 # libquadmath is unused on AIX and libquadmath build process use of
685 # LD_LIBRARY_PATH can break AIX bootstrap.
686 powerpc-*-aix* | rs6000-*-aix*)
687 noconfigdirs="$noconfigdirs target-libquadmath"
688 ;;
689 esac
690
691 # Disable libssp for some systems.
692 case "${target}" in
693 avr-*-*)
694 # No hosted I/O support.
695 noconfigdirs="$noconfigdirs target-libssp"
696 ;;
697 powerpc-*-aix* | rs6000-*-aix*)
698 noconfigdirs="$noconfigdirs target-libssp"
699 ;;
700 rl78-*-*)
701 # libssp uses a misaligned load to trigger a fault, but the RL78
702 # doesn't fault for those - instead, it gives a build-time error
703 # for explicit misaligned loads.
704 noconfigdirs="$noconfigdirs target-libssp"
705 ;;
706 visium-*-*)
707 # No hosted I/O support.
708 noconfigdirs="$noconfigdirs target-libssp"
709 ;;
710 esac
711
712 # Disable libstdc++-v3 for some systems.
713 # Allow user to override this if they pass --enable-libstdc++-v3
714 if test "${ENABLE_LIBSTDCXX}" = "default" ; then
715 case "${target}" in
716 *-*-vxworks*)
717 # VxWorks uses the Dinkumware C++ library.
718 noconfigdirs="$noconfigdirs target-libstdc++-v3"
719 ;;
720 arm*-wince-pe*)
721 # the C++ libraries don't build on top of CE's C libraries
722 noconfigdirs="$noconfigdirs target-libstdc++-v3"
723 ;;
724 avr-*-*)
725 noconfigdirs="$noconfigdirs target-libstdc++-v3"
726 ;;
727 ft32-*-*)
728 noconfigdirs="$noconfigdirs target-libstdc++-v3"
729 ;;
730 esac
731 fi
732
733 # Disable Fortran for some systems.
734 case "${target}" in
735 mmix-*-*)
736 # See <http://gcc.gnu.org/ml/gcc-patches/2004-11/msg00572.html>.
737 unsupported_languages="$unsupported_languages fortran"
738 ;;
739 esac
740
741 # Disable Java if libffi is not supported.
742 case "${target}" in
743 aarch64-*-*)
744 ;;
745 alpha*-*-*)
746 ;;
747 arm*-*-*)
748 ;;
749 cris-*-*)
750 ;;
751 frv-*-*)
752 ;;
753 hppa*-*-linux*)
754 ;;
755 hppa*-*-hpux*)
756 ;;
757 i?86-*-*)
758 ;;
759 ia64*-*-*)
760 ;;
761 m32r*-*-*)
762 ;;
763 m68k-*-*)
764 ;;
765 mips*-*-rtems*)
766 ;;
767 mips*-*-linux*)
768 ;;
769 powerpc*-*-linux*)
770 ;;
771 powerpc-*-darwin*)
772 ;;
773 powerpc-*-aix* | rs6000-*-aix*)
774 ;;
775 powerpc-*-freebsd*)
776 ;;
777 powerpc64-*-freebsd*)
778 ;;
779 powerpc*-*-rtems*)
780 ;;
781 s390-*-* | s390x-*-*)
782 ;;
783 sh-*-* | sh[[34]]*-*-*)
784 ;;
785 sparc*-*-*)
786 ;;
787 x86_64-*-*)
788 ;;
789 *-*-*)
790 unsupported_languages="$unsupported_languages java"
791 ;;
792 esac
793
794 # Disable Java, libgcj or related libraries for some systems.
795 case "${target}" in
796 powerpc-*-darwin*)
797 ;;
798 i[[3456789]]86-*-darwin*)
799 ;;
800 x86_64-*-darwin[[912]]*)
801 ;;
802 *-*-darwin*)
803 noconfigdirs="$noconfigdirs ${libgcj}"
804 ;;
805 *-*-netware*)
806 noconfigdirs="$noconfigdirs ${libgcj}"
807 ;;
808 *-*-phoenix*)
809 noconfigdirs="$noconfigdirs ${libgcj}"
810 ;;
811 *-*-rtems*)
812 noconfigdirs="$noconfigdirs ${libgcj}"
813 ;;
814 *-*-tpf*)
815 noconfigdirs="$noconfigdirs ${libgcj}"
816 ;;
817 *-*-uclinux*)
818 noconfigdirs="$noconfigdirs ${libgcj}"
819 ;;
820 *-*-vxworks*)
821 noconfigdirs="$noconfigdirs ${libgcj}"
822 ;;
823 alpha*-*-*vms*)
824 noconfigdirs="$noconfigdirs ${libgcj}"
825 ;;
826 arm*-*-freebsd*)
827 noconfigdirs="$noconfigdirs ${libgcj}"
828 ;;
829 arm-wince-pe)
830 noconfigdirs="$noconfigdirs ${libgcj}"
831 ;;
832 arm*-*-symbianelf*)
833 noconfigdirs="$noconfigdirs ${libgcj}"
834 ;;
835 bfin-*-*)
836 noconfigdirs="$noconfigdirs target-boehm-gc"
837 ;;
838 cris-*-* | crisv32-*-*)
839 unsupported_languages="$unsupported_languages java"
840 case "${target}" in
841 *-*-linux*)
842 ;;
843 *) # See PR46792 regarding target-libffi.
844 noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
845 esac
846 ;;
847 hppa*64*-*-linux*)
848 # In this case, it's because the hppa64-linux target is for
849 # the kernel only at this point and has no libc, and thus no
850 # headers, crt*.o, etc., all of which are needed by these.
851 unsupported_languages="$unsupported_languages java"
852 ;;
853 hppa*64*-*-hpux*)
854 noconfigdirs="$noconfigdirs ${libgcj}"
855 ;;
856 hppa*-hp-hpux11*)
857 ;;
858 hppa*-*-hpux*)
859 # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
860 # build on HP-UX 10.20.
861 noconfigdirs="$noconfigdirs ${libgcj}"
862 ;;
863 ia64*-*-*vms*)
864 noconfigdirs="$noconfigdirs ${libgcj}"
865 ;;
866 i[[3456789]]86-w64-mingw*)
867 noconfigdirs="$noconfigdirs ${libgcj}"
868 ;;
869 i[[3456789]]86-*-mingw*)
870 noconfigdirs="$noconfigdirs ${libgcj}"
871 ;;
872 x86_64-*-mingw*)
873 noconfigdirs="$noconfigdirs ${libgcj}"
874 ;;
875 mmix-*-*)
876 noconfigdirs="$noconfigdirs target-libffi target-boehm-gc"
877 ;;
878 powerpc-*-aix*)
879 # copied from rs6000-*-* entry
880 noconfigdirs="$noconfigdirs ${libgcj}"
881 ;;
882 rs6000-*-aix*)
883 noconfigdirs="$noconfigdirs ${libgcj}"
884 ;;
885 ft32-*-*)
886 noconfigdirs="$noconfigdirs ${libgcj}"
887 ;;
888 *-*-lynxos*)
889 noconfigdirs="$noconfigdirs ${libgcj}"
890 ;;
891 esac
892
893 # Disable the go frontend on systems where it is known to not work. Please keep
894 # this in sync with contrib/config-list.mk.
895 case "${target}" in
896 *-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*)
897 unsupported_languages="$unsupported_languages go"
898 ;;
899 esac
900
901 # Disable libgo for some systems where it is known to not work.
902 # For testing, you can easily override this with --enable-libgo.
903 if test x$enable_libgo = x; then
904 case "${target}" in
905 *-*-darwin*)
906 # PR 46986
907 noconfigdirs="$noconfigdirs target-libgo"
908 ;;
909 *-*-cygwin* | *-*-mingw*)
910 noconfigdirs="$noconfigdirs target-libgo"
911 ;;
912 *-*-aix*)
913 noconfigdirs="$noconfigdirs target-libgo"
914 ;;
915 esac
916 fi
917
918 # Default libgloss CPU subdirectory.
919 libgloss_dir="$target_cpu"
920
921 case "${target}" in
922 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
923 libgloss_dir=wince
924 ;;
925 aarch64*-*-* )
926 libgloss_dir=aarch64
927 ;;
928 arm*-*-*)
929 libgloss_dir=arm
930 ;;
931 cris-*-* | crisv32-*-*)
932 libgloss_dir=cris
933 ;;
934 hppa*-*-*)
935 libgloss_dir=pa
936 ;;
937 i[[3456789]]86-*-*)
938 libgloss_dir=i386
939 ;;
940 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
941 libgloss_dir=m68hc11
942 ;;
943 m68*-*-* | fido-*-*)
944 libgloss_dir=m68k
945 ;;
946 mips*-*-*)
947 libgloss_dir=mips
948 ;;
949 powerpc*-*-*)
950 libgloss_dir=rs6000
951 ;;
952 sparc*-*-*)
953 libgloss_dir=sparc
954 ;;
955 esac
956
957 # Disable newlib and libgloss for various target OSes.
958 case "${target}" in
959 alpha*-dec-osf*)
960 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
961 ;;
962 i[[3456789]]86-*-linux*)
963 # This section makes it possible to build newlib natively on linux.
964 # If we are using a cross compiler then don't configure newlib.
965 if test x${is_cross_compiler} != xno ; then
966 noconfigdirs="$noconfigdirs target-newlib"
967 fi
968 noconfigdirs="$noconfigdirs target-libgloss"
969 # If we are not using a cross compiler, do configure newlib.
970 # Note however, that newlib will only be configured in this situation
971 # if the --with-newlib option has been given, because otherwise
972 # 'target-newlib' will appear in skipdirs.
973 ;;
974 i[[3456789]]86-*-rdos*)
975 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
976 ;;
977 sh*-*-pe|mips*-*-pe|arm-wince-pe)
978 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
979 ;;
980 sparc-*-sunos4*)
981 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
982 ;;
983 *-*-aix*)
984 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
985 ;;
986 *-*-beos*)
987 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
988 ;;
989 *-*-chorusos)
990 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
991 ;;
992 *-*-dragonfly*)
993 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
994 ;;
995 *-*-freebsd*)
996 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
997 ;;
998 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
999 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1000 ;;
1001 *-*-lynxos*)
1002 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1003 ;;
1004 *-*-mingw*)
1005 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1006 ;;
1007 *-*-netbsd*)
1008 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1009 ;;
1010 *-*-netware*)
1011 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1012 ;;
1013 *-*-tpf*)
1014 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1015 ;;
1016 *-*-uclinux*)
1017 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1018 ;;
1019 *-*-vxworks*)
1020 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1021 ;;
1022 esac
1023
1024 case "${target}" in
1025 *-*-chorusos)
1026 ;;
1027 aarch64-*-darwin*)
1028 noconfigdirs="$noconfigdirs ld gas gdb gprof"
1029 noconfigdirs="$noconfigdirs sim target-rda"
1030 ;;
1031 arm-*-darwin*)
1032 noconfigdirs="$noconfigdirs ld gas gdb gprof"
1033 noconfigdirs="$noconfigdirs sim target-rda"
1034 ;;
1035 powerpc-*-darwin*)
1036 noconfigdirs="$noconfigdirs ld gas gdb gprof"
1037 noconfigdirs="$noconfigdirs sim target-rda"
1038 ;;
1039 i[[3456789]]86-*-darwin*)
1040 noconfigdirs="$noconfigdirs ld gprof"
1041 noconfigdirs="$noconfigdirs sim target-rda"
1042 ;;
1043 x86_64-*-darwin[[912]]*)
1044 noconfigdirs="$noconfigdirs ld gas gprof"
1045 noconfigdirs="$noconfigdirs sim target-rda"
1046 ;;
1047 *-*-darwin*)
1048 noconfigdirs="$noconfigdirs ld gas gdb gprof"
1049 noconfigdirs="$noconfigdirs sim target-rda"
1050 ;;
1051 *-*-dragonfly*)
1052 ;;
1053 *-*-freebsd*)
1054 if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
1055 && test -f /usr/local/include/gmp.h; then
1056 with_gmp=/usr/local
1057 fi
1058 ;;
1059 *-*-kaos*)
1060 # Remove unsupported stuff on all kaOS configurations.
1061 noconfigdirs="$noconfigdirs target-libgloss"
1062 ;;
1063 *-*-netbsd*)
1064 ;;
1065 *-*-netware*)
1066 ;;
1067 *-*-phoenix*)
1068 noconfigdirs="$noconfigdirs target-libgloss"
1069 ;;
1070 *-*-rtems*)
1071 noconfigdirs="$noconfigdirs target-libgloss"
1072 # this is not caught below because this stanza matches earlier
1073 case $target in
1074 or1k*-*-*) noconfigdirs="$noconfigdirs gdb" ;;
1075 esac
1076 ;;
1077 # The tpf target doesn't support gdb yet.
1078 *-*-tpf*)
1079 noconfigdirs="$noconfigdirs gdb tcl tk libgui itcl"
1080 ;;
1081 *-*-uclinux*)
1082 noconfigdirs="$noconfigdirs target-rda"
1083 ;;
1084 *-*-vxworks*)
1085 ;;
1086 alpha*-dec-osf*)
1087 # ld works, but does not support shared libraries.
1088 # gas doesn't generate exception information.
1089 noconfigdirs="$noconfigdirs gas ld"
1090 ;;
1091 alpha*-*-*vms*)
1092 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
1093 ;;
1094 alpha*-*-*)
1095 # newlib is not 64 bit ready
1096 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1097 ;;
1098 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
1099 noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
1100 ;;
1101 arm-*-pe*)
1102 noconfigdirs="$noconfigdirs target-libgloss"
1103 ;;
1104 arm-*-riscix*)
1105 noconfigdirs="$noconfigdirs ld target-libgloss"
1106 ;;
1107 avr-*-*)
1108 if test x${with_avrlibc} != xno; then
1109 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1110 fi
1111 ;;
1112 c4x-*-* | tic4x-*-*)
1113 noconfigdirs="$noconfigdirs target-libgloss"
1114 ;;
1115 tic54x-*-*)
1116 noconfigdirs="$noconfigdirs target-libgloss gdb"
1117 ;;
1118 d10v-*-*)
1119 noconfigdirs="$noconfigdirs target-libgloss"
1120 ;;
1121 d30v-*-*)
1122 noconfigdirs="$noconfigdirs gdb"
1123 ;;
1124 fr30-*-elf*)
1125 noconfigdirs="$noconfigdirs gdb"
1126 ;;
1127 ft32-*-*)
1128 noconfigdirs="$noconfigdirs target-rda gprof"
1129 ;;
1130 moxie-*-*)
1131 noconfigdirs="$noconfigdirs"
1132 ;;
1133 h8300*-*-*)
1134 noconfigdirs="$noconfigdirs target-libgloss"
1135 ;;
1136 h8500-*-*)
1137 noconfigdirs="$noconfigdirs target-libgloss"
1138 ;;
1139 hppa1.1-*-osf* | hppa1.1-*-bsd* )
1140 ;;
1141 hppa*64*-*-hpux*)
1142 noconfigdirs="$noconfigdirs gdb"
1143 ;;
1144 hppa*-*-hpux11*)
1145 noconfigdirs="$noconfigdirs gdb ld"
1146 ;;
1147 hppa*64*-*-linux*)
1148 ;;
1149 hppa*-*-linux*)
1150 ;;
1151 hppa*-*-*elf* | \
1152 hppa*-*-lites* | \
1153 hppa*-*-openbsd* | \
1154 hppa*64*-*-*)
1155 ;;
1156 hppa*-*-pro*)
1157 ;;
1158 hppa*-*-*)
1159 noconfigdirs="$noconfigdirs ld"
1160 ;;
1161 i960-*-*)
1162 noconfigdirs="$noconfigdirs gdb"
1163 ;;
1164 ia64*-*-elf*)
1165 # No gdb support yet.
1166 noconfigdirs="$noconfigdirs readline libgui itcl gdb"
1167 ;;
1168 ia64*-**-hpux*)
1169 # No ld support yet.
1170 noconfigdirs="$noconfigdirs gdb libgui itcl ld"
1171 ;;
1172 ia64*-*-*vms*)
1173 # No ld support yet.
1174 noconfigdirs="$noconfigdirs libgui itcl ld"
1175 ;;
1176 i[[3456789]]86-w64-mingw*)
1177 ;;
1178 i[[3456789]]86-*-mingw*)
1179 target_configdirs="$target_configdirs target-winsup"
1180 ;;
1181 *-*-cygwin*)
1182 target_configdirs="$target_configdirs target-libtermcap target-winsup"
1183 noconfigdirs="$noconfigdirs target-libgloss"
1184 # always build newlib if winsup directory is present.
1185 if test -d "$srcdir/winsup/cygwin"; then
1186 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
1187 elif test -d "$srcdir/newlib"; then
1188 echo "Warning: winsup/cygwin is missing so newlib can't be built."
1189 fi
1190 ;;
1191 i[[3456789]]86-*-pe)
1192 noconfigdirs="$noconfigdirs target-libgloss"
1193 ;;
1194 i[[3456789]]86-*-sco3.2v5*)
1195 # The linker does not yet know about weak symbols in COFF,
1196 # and is not configured to handle mixed ELF and COFF.
1197 noconfigdirs="$noconfigdirs ld target-libgloss"
1198 ;;
1199 i[[3456789]]86-*-sco*)
1200 noconfigdirs="$noconfigdirs gprof target-libgloss"
1201 ;;
1202 i[[3456789]]86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*)
1203 noconfigdirs="$noconfigdirs target-libgloss"
1204 ;;
1205 i[[3456789]]86-*-sysv4*)
1206 noconfigdirs="$noconfigdirs target-libgloss"
1207 ;;
1208 i[[3456789]]86-*-beos*)
1209 noconfigdirs="$noconfigdirs gdb"
1210 ;;
1211 i[[3456789]]86-*-rdos*)
1212 noconfigdirs="$noconfigdirs gdb"
1213 ;;
1214 mmix-*-*)
1215 noconfigdirs="$noconfigdirs gdb"
1216 ;;
1217 mt-*-*)
1218 noconfigdirs="$noconfigdirs sim"
1219 ;;
1220 powerpc-*-aix*)
1221 # copied from rs6000-*-* entry
1222 noconfigdirs="$noconfigdirs gprof"
1223 ;;
1224 powerpc*-*-winnt* | powerpc*-*-pe*)
1225 target_configdirs="$target_configdirs target-winsup"
1226 noconfigdirs="$noconfigdirs gdb tcl tk target-libgloss itcl"
1227 # always build newlib.
1228 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
1229 ;;
1230 # This is temporary until we can link against shared libraries
1231 powerpcle-*-solaris*)
1232 noconfigdirs="$noconfigdirs gdb sim tcl tk itcl"
1233 ;;
1234 powerpc-*-beos*)
1235 noconfigdirs="$noconfigdirs gdb"
1236 ;;
1237 rs6000-*-lynxos*)
1238 noconfigdirs="$noconfigdirs gprof"
1239 ;;
1240 rs6000-*-aix*)
1241 noconfigdirs="$noconfigdirs gprof"
1242 ;;
1243 rs6000-*-*)
1244 noconfigdirs="$noconfigdirs gprof"
1245 ;;
1246 m68k-apollo-*)
1247 noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
1248 ;;
1249 microblaze*)
1250 noconfigdirs="$noconfigdirs gprof"
1251 ;;
1252 mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
1253 if test x$with_newlib = xyes; then
1254 noconfigdirs="$noconfigdirs gprof"
1255 fi
1256 ;;
1257 mips*-*-irix5*)
1258 noconfigdirs="$noconfigdirs gprof target-libgloss"
1259 ;;
1260 mips*-*-irix6*)
1261 noconfigdirs="$noconfigdirs gprof target-libgloss"
1262 ;;
1263 mips*-*-bsd*)
1264 noconfigdirs="$noconfigdirs ld gas gprof target-libgloss"
1265 ;;
1266 mips*-*-linux*)
1267 ;;
1268 mips*-*-ultrix* | mips*-*-osf* | mips*-*-ecoff* | mips*-*-pe* \
1269 | mips*-*-irix* | mips*-*-lnews* | mips*-*-riscos*)
1270 noconfigdirs="$noconfigdirs ld gas gprof"
1271 ;;
1272 mips*-*-*)
1273 noconfigdirs="$noconfigdirs gprof"
1274 ;;
1275 nvptx*-*-*)
1276 noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
1277 ;;
1278 or1k*-*-*)
1279 noconfigdirs="$noconfigdirs gdb"
1280 ;;
1281 sh-*-*)
1282 case "${target}" in
1283 sh*-*-elf)
1284 ;;
1285 *)
1286 noconfigdirs="$noconfigdirs target-libgloss" ;;
1287 esac
1288 ;;
1289 sparc-*-sunos4*)
1290 if test x${is_cross_compiler} = xno ; then
1291 use_gnu_ld=no
1292 fi
1293 ;;
1294 tic6x-*-*)
1295 noconfigdirs="$noconfigdirs sim"
1296 ;;
1297 tilepro*-*-* | tilegx*-*-*)
1298 noconfigdirs="$noconfigdirs sim"
1299 ;;
1300 v810-*-*)
1301 noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss"
1302 ;;
1303 vax-*-*)
1304 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1305 ;;
1306 esac
1307
1308 # If we aren't building newlib, then don't build libgloss, since libgloss
1309 # depends upon some newlib header files.
1310 case "${noconfigdirs}" in
1311 *target-libgloss*) ;;
1312 *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
1313 esac
1314
1315 # Work in distributions that contain no compiler tools, like Autoconf.
1316 host_makefile_frag=/dev/null
1317 if test -d ${srcdir}/config ; then
1318 case "${host}" in
1319 i[[3456789]]86-*-msdosdjgpp*)
1320 host_makefile_frag="config/mh-djgpp"
1321 ;;
1322 *-cygwin*)
1323 ACX_CHECK_CYGWIN_CAT_WORKS
1324 host_makefile_frag="config/mh-cygwin"
1325 ;;
1326 *-mingw*)
1327 host_makefile_frag="config/mh-mingw"
1328 ;;
1329 alpha*-linux*)
1330 host_makefile_frag="config/mh-alpha-linux"
1331 ;;
1332 hppa*-hp-hpux10*)
1333 host_makefile_frag="config/mh-pa-hpux10"
1334 ;;
1335 hppa*-hp-hpux*)
1336 host_makefile_frag="config/mh-pa"
1337 ;;
1338 hppa*-*)
1339 host_makefile_frag="config/mh-pa"
1340 ;;
1341 *-*-darwin*)
1342 host_makefile_frag="config/mh-darwin"
1343 ;;
1344 powerpc-*-aix*)
1345 host_makefile_frag="config/mh-ppc-aix"
1346 ;;
1347 rs6000-*-aix*)
1348 host_makefile_frag="config/mh-ppc-aix"
1349 ;;
1350 esac
1351 fi
1352
1353 if test "${build}" != "${host}" ; then
1354 AR_FOR_BUILD=${AR_FOR_BUILD-ar}
1355 AS_FOR_BUILD=${AS_FOR_BUILD-as}
1356 CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
1357 CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
1358 GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
1359 GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
1360 GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
1361 DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
1362 LD_FOR_BUILD=${LD_FOR_BUILD-ld}
1363 NM_FOR_BUILD=${NM_FOR_BUILD-nm}
1364 RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
1365 WINDRES_FOR_BUILD=${WINDRES_FOR_BUILD-windres}
1366 WINDMC_FOR_BUILD=${WINDMC_FOR_BUILD-windmc}
1367 else
1368 AR_FOR_BUILD="\$(AR)"
1369 AS_FOR_BUILD="\$(AS)"
1370 CC_FOR_BUILD="\$(CC)"
1371 CXX_FOR_BUILD="\$(CXX)"
1372 GCJ_FOR_BUILD="\$(GCJ)"
1373 GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
1374 GOC_FOR_BUILD="\$(GOC)"
1375 DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
1376 LD_FOR_BUILD="\$(LD)"
1377 NM_FOR_BUILD="\$(NM)"
1378 RANLIB_FOR_BUILD="\$(RANLIB)"
1379 WINDRES_FOR_BUILD="\$(WINDRES)"
1380 WINDMC_FOR_BUILD="\$(WINDMC)"
1381 fi
1382
1383 AC_PROG_CC
1384 AC_PROG_CXX
1385
1386 # We must set the default linker to the linker used by gcc for the correct
1387 # operation of libtool. If LD is not defined and we are using gcc, try to
1388 # set the LD default to the ld used by gcc.
1389 if test -z "$LD"; then
1390 if test "$GCC" = yes; then
1391 case $build in
1392 *-*-mingw*)
1393 gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
1394 *)
1395 gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
1396 esac
1397 case $gcc_prog_ld in
1398 # Accept absolute paths.
1399 [[\\/]* | [A-Za-z]:[\\/]*)]
1400 LD="$gcc_prog_ld" ;;
1401 esac
1402 fi
1403 fi
1404
1405 # Check whether -static-libstdc++ -static-libgcc is supported.
1406 have_static_libs=no
1407 if test "$GCC" = yes; then
1408 saved_LDFLAGS="$LDFLAGS"
1409
1410 LDFLAGS="$LDFLAGS -static-libstdc++ -static-libgcc"
1411 AC_MSG_CHECKING([whether g++ accepts -static-libstdc++ -static-libgcc])
1412 AC_LANG_PUSH(C++)
1413 AC_LINK_IFELSE([
1414 #if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
1415 #error -static-libstdc++ not implemented
1416 #endif
1417 int main() {}],
1418 [AC_MSG_RESULT([yes]); have_static_libs=yes],
1419 [AC_MSG_RESULT([no])])
1420 AC_LANG_POP(C++)
1421
1422 LDFLAGS="$saved_LDFLAGS"
1423 fi
1424
1425 ACX_PROG_GNAT
1426 ACX_PROG_CMP_IGNORE_INITIAL
1427
1428 AC_ARG_ENABLE([bootstrap],
1429 [AS_HELP_STRING([--enable-bootstrap],
1430 [enable bootstrapping @<:@yes if native build@:>@])],,
1431 enable_bootstrap=default)
1432
1433 # Issue errors and warnings for invalid/strange bootstrap combinations.
1434 if test -r $srcdir/gcc/configure; then
1435 have_compiler=yes
1436 else
1437 have_compiler=no
1438 fi
1439
1440 case "$have_compiler:$host:$target:$enable_bootstrap" in
1441 *:*:*:no) ;;
1442
1443 # Default behavior. Enable bootstrap if we have a compiler
1444 # and we are in a native configuration.
1445 yes:$build:$build:default)
1446 enable_bootstrap=yes ;;
1447
1448 *:*:*:default)
1449 enable_bootstrap=no ;;
1450
1451 # We have a compiler and we are in a native configuration, bootstrap is ok
1452 yes:$build:$build:yes)
1453 ;;
1454
1455 # Other configurations, but we have a compiler. Assume the user knows
1456 # what he's doing.
1457 yes:*:*:yes)
1458 AC_MSG_WARN([trying to bootstrap a cross compiler])
1459 ;;
1460
1461 # No compiler: if they passed --enable-bootstrap explicitly, fail
1462 no:*:*:yes)
1463 AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
1464
1465 # Fail if wrong command line
1466 *)
1467 AC_MSG_ERROR([invalid option for --enable-bootstrap])
1468 ;;
1469 esac
1470
1471 # When bootstrapping with GCC, build stage 1 in C++98 mode to ensure that a
1472 # C++98 compiler can still start the bootstrap.
1473 if test "$enable_bootstrap:$GXX" = "yes:yes"; then
1474 CXX="$CXX -std=gnu++98"
1475 fi
1476
1477 # Used for setting $lt_cv_objdir
1478 _LT_CHECK_OBJDIR
1479
1480 # Check for GMP, MPFR and MPC
1481 gmplibs="-lmpc -lmpfr -lgmp"
1482 gmpinc=
1483 have_gmp=no
1484
1485 # Specify a location for mpc
1486 # check for this first so it ends up on the link line before mpfr.
1487 AC_ARG_WITH(mpc,
1488 [AS_HELP_STRING([--with-mpc=PATH],
1489 [specify prefix directory for installed MPC package.
1490 Equivalent to --with-mpc-include=PATH/include
1491 plus --with-mpc-lib=PATH/lib])])
1492 AC_ARG_WITH(mpc-include,
1493 [AS_HELP_STRING([--with-mpc-include=PATH],
1494 [specify directory for installed MPC include files])])
1495 AC_ARG_WITH(mpc-lib,
1496 [AS_HELP_STRING([--with-mpc-lib=PATH],
1497 [specify directory for the installed MPC library])])
1498
1499 if test "x$with_mpc" != x; then
1500 gmplibs="-L$with_mpc/lib $gmplibs"
1501 gmpinc="-I$with_mpc/include $gmpinc"
1502 fi
1503 if test "x$with_mpc_include" != x; then
1504 gmpinc="-I$with_mpc_include $gmpinc"
1505 fi
1506 if test "x$with_mpc_lib" != x; then
1507 gmplibs="-L$with_mpc_lib $gmplibs"
1508 fi
1509 if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then
1510 gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/'"$lt_cv_objdir $gmplibs"
1511 gmpinc='-I$$s/mpc/src '"$gmpinc"
1512 # Do not test the mpc version. Assume that it is sufficient, since
1513 # it is in the source tree, and the library has not been built yet
1514 # but it would be included on the link line in the version check below
1515 # hence making the test fail.
1516 have_gmp=yes
1517 fi
1518
1519 # Specify a location for mpfr
1520 # check for this first so it ends up on the link line before gmp.
1521 AC_ARG_WITH(mpfr-dir,
1522 [AS_HELP_STRING([--with-mpfr-dir=PATH], [this option has been REMOVED])],
1523 [AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
1524 Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH])])
1525
1526 AC_ARG_WITH(mpfr,
1527 [AS_HELP_STRING([--with-mpfr=PATH],
1528 [specify prefix directory for installed MPFR package.
1529 Equivalent to --with-mpfr-include=PATH/include
1530 plus --with-mpfr-lib=PATH/lib])])
1531 AC_ARG_WITH(mpfr-include,
1532 [AS_HELP_STRING([--with-mpfr-include=PATH],
1533 [specify directory for installed MPFR include files])])
1534 AC_ARG_WITH(mpfr-lib,
1535 [AS_HELP_STRING([--with-mpfr-lib=PATH],
1536 [specify directory for the installed MPFR library])])
1537
1538 if test "x$with_mpfr" != x; then
1539 gmplibs="-L$with_mpfr/lib $gmplibs"
1540 gmpinc="-I$with_mpfr/include $gmpinc"
1541 fi
1542 if test "x$with_mpfr_include" != x; then
1543 gmpinc="-I$with_mpfr_include $gmpinc"
1544 fi
1545 if test "x$with_mpfr_lib" != x; then
1546 gmplibs="-L$with_mpfr_lib $gmplibs"
1547 fi
1548 if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
1549 gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir $gmplibs"
1550 gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr/src -I$$s/mpfr/src '"$gmpinc"
1551 extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr/src --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir"
1552 # Do not test the mpfr version. Assume that it is sufficient, since
1553 # it is in the source tree, and the library has not been built yet
1554 # but it would be included on the link line in the version check below
1555 # hence making the test fail.
1556 have_gmp=yes
1557 fi
1558
1559 # Specify a location for gmp
1560 AC_ARG_WITH(gmp-dir,
1561 [AS_HELP_STRING([--with-gmp-dir=PATH], [this option has been REMOVED])],
1562 [AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
1563 Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH])])
1564
1565 AC_ARG_WITH(gmp,
1566 [AS_HELP_STRING([--with-gmp=PATH],
1567 [specify prefix directory for the installed GMP package.
1568 Equivalent to --with-gmp-include=PATH/include
1569 plus --with-gmp-lib=PATH/lib])])
1570 AC_ARG_WITH(gmp-include,
1571 [AS_HELP_STRING([--with-gmp-include=PATH],
1572 [specify directory for installed GMP include files])])
1573 AC_ARG_WITH(gmp-lib,
1574 [AS_HELP_STRING([--with-gmp-lib=PATH],
1575 [specify directory for the installed GMP library])])
1576
1577
1578 if test "x$with_gmp" != x; then
1579 gmplibs="-L$with_gmp/lib $gmplibs"
1580 gmpinc="-I$with_gmp/include $gmpinc"
1581 fi
1582 if test "x$with_gmp_include" != x; then
1583 gmpinc="-I$with_gmp_include $gmpinc"
1584 fi
1585 if test "x$with_gmp_lib" != x; then
1586 gmplibs="-L$with_gmp_lib $gmplibs"
1587 fi
1588 if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
1589 gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs"
1590 gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
1591 extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
1592 extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
1593 extra_isl_gmp_configure_flags='--with-gmp-builddir=$$r/$(HOST_SUBDIR)/gmp'
1594 # Do not test the gmp version. Assume that it is sufficient, since
1595 # it is in the source tree, and the library has not been built yet
1596 # but it would be included on the link line in the version check below
1597 # hence making the test fail.
1598 have_gmp=yes
1599 fi
1600
1601 if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then
1602 have_gmp=yes
1603 saved_CFLAGS="$CFLAGS"
1604 CFLAGS="$CFLAGS $gmpinc"
1605 # Check for the recommended and required versions of GMP.
1606 AC_MSG_CHECKING([for the correct version of gmp.h])
1607 AC_TRY_COMPILE([#include "gmp.h"],[
1608 #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1609 #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1610 #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,3)
1611 choke me
1612 #endif
1613 ], [AC_TRY_COMPILE([#include <gmp.h>],[
1614 #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1615 #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1616 #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2)
1617 choke me
1618 #endif
1619 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1620 [AC_MSG_RESULT([no]); have_gmp=no])
1621
1622 # If we have GMP, check the MPFR version.
1623 if test x"$have_gmp" = xyes; then
1624 # Check for the recommended and required versions of MPFR.
1625 AC_MSG_CHECKING([for the correct version of mpfr.h])
1626 AC_TRY_COMPILE([#include <gmp.h>
1627 #include <mpfr.h>],[
1628 #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,0)
1629 choke me
1630 #endif
1631 ], [AC_TRY_COMPILE([#include <gmp.h>
1632 #include <mpfr.h>],[
1633 #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2)
1634 choke me
1635 #endif
1636 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1637 [AC_MSG_RESULT([no]); have_gmp=no])
1638 fi
1639
1640 # Check for the MPC header version.
1641 if test x"$have_gmp" = xyes ; then
1642 # Check for the recommended and required versions of MPC.
1643 AC_MSG_CHECKING([for the correct version of mpc.h])
1644 AC_TRY_COMPILE([#include <mpc.h>],[
1645 #if MPC_VERSION < MPC_VERSION_NUM(0,8,0)
1646 choke me
1647 #endif
1648 ], [AC_TRY_COMPILE([#include <mpc.h>],[
1649 #if MPC_VERSION < MPC_VERSION_NUM(0,8,1)
1650 choke me
1651 #endif
1652 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1653 [AC_MSG_RESULT([no]); have_gmp=no])
1654 fi
1655
1656 # Now check the MPFR library.
1657 if test x"$have_gmp" = xyes; then
1658 saved_LIBS="$LIBS"
1659 LIBS="$LIBS $gmplibs"
1660 AC_MSG_CHECKING([for the correct version of the gmp/mpfr/mpc libraries])
1661 AC_TRY_LINK([#include <mpc.h>],[
1662 mpfr_t n;
1663 mpfr_t x;
1664 mpc_t c;
1665 int t;
1666 mpfr_init (n);
1667 mpfr_init (x);
1668 mpfr_atan2 (n, n, x, GMP_RNDN);
1669 mpfr_erfc (n, x, GMP_RNDN);
1670 mpfr_subnormalize (x, t, GMP_RNDN);
1671 mpfr_clear(n);
1672 mpfr_clear(x);
1673 mpc_init2 (c, 53);
1674 mpc_set_ui_ui (c, 1, 1, MPC_RNDNN);
1675 mpc_cosh (c, c, MPC_RNDNN);
1676 mpc_pow (c, c, c, MPC_RNDNN);
1677 mpc_acosh (c, c, MPC_RNDNN);
1678 mpc_clear (c);
1679 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
1680 LIBS="$saved_LIBS"
1681 fi
1682
1683 CFLAGS="$saved_CFLAGS"
1684
1685 # The library versions listed in the error message below should match
1686 # the HARD-minimums enforced above.
1687 if test x$have_gmp != xyes; then
1688 AC_MSG_ERROR([Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
1689 Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
1690 their locations. Source code for these libraries can be found at
1691 their respective hosting sites as well as at
1692 ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
1693 http://gcc.gnu.org/install/prerequisites.html for additional info. If
1694 you obtained GMP, MPFR and/or MPC from a vendor distribution package,
1695 make sure that you have installed both the libraries and the header
1696 files. They may be located in separate packages.])
1697 fi
1698 fi
1699
1700 # Flags needed for both GMP, MPFR and/or MPC.
1701 AC_SUBST(gmplibs)
1702 AC_SUBST(gmpinc)
1703 AC_SUBST(extra_mpfr_configure_flags)
1704 AC_SUBST(extra_mpc_gmp_configure_flags)
1705 AC_SUBST(extra_mpc_mpfr_configure_flags)
1706 AC_SUBST(extra_isl_gmp_configure_flags)
1707
1708 # Libraries to use for stage1 or when not bootstrapping.
1709 AC_ARG_WITH(stage1-libs,
1710 [AS_HELP_STRING([--with-stage1-libs=LIBS], [libraries for stage1])],
1711 [if test "$withval" = "no" -o "$withval" = "yes"; then
1712 stage1_libs=
1713 else
1714 stage1_libs=$withval
1715 fi],
1716 [stage1_libs=])
1717 AC_SUBST(stage1_libs)
1718
1719 # Linker flags to use for stage1 or when not bootstrapping.
1720 AC_ARG_WITH(stage1-ldflags,
1721 [AS_HELP_STRING([--with-stage1-ldflags=FLAGS], [linker flags for stage1])],
1722 [if test "$withval" = "no" -o "$withval" = "yes"; then
1723 stage1_ldflags=
1724 else
1725 stage1_ldflags=$withval
1726 fi],
1727 [stage1_ldflags=
1728 # In stage 1, default to linking libstdc++ and libgcc statically with GCC
1729 # if supported. But if the user explicitly specified the libraries to use,
1730 # trust that they are doing what they want.
1731 if test "$stage1_libs" = "" -a "$have_static_libs" = yes; then
1732 stage1_ldflags="-static-libstdc++ -static-libgcc"
1733 fi])
1734 AC_SUBST(stage1_ldflags)
1735
1736 # Libraries to use for stage2 and later builds.
1737 AC_ARG_WITH(boot-libs,
1738 [AS_HELP_STRING([--with-boot-libs=LIBS], [libraries for stage2 and later])],
1739 [if test "$withval" = "no" -o "$withval" = "yes"; then
1740 poststage1_libs=
1741 else
1742 poststage1_libs=$withval
1743 fi],
1744 [poststage1_libs=])
1745 AC_SUBST(poststage1_libs)
1746
1747 # Linker flags to use for stage2 and later builds.
1748 AC_ARG_WITH(boot-ldflags,
1749 [AS_HELP_STRING([--with-boot-ldflags=FLAGS],
1750 [linker flags for stage2 and later])],
1751 [if test "$withval" = "no" -o "$withval" = "yes"; then
1752 poststage1_ldflags=
1753 else
1754 poststage1_ldflags=$withval
1755 fi],
1756 [poststage1_ldflags=
1757 # In stages 2 and 3, default to linking libstdc++ and libgcc
1758 # statically. But if the user explicitly specified the libraries to
1759 # use, trust that they are doing what they want.
1760 if test "$poststage1_libs" = ""; then
1761 poststage1_ldflags="-static-libstdc++ -static-libgcc"
1762 fi])
1763 AC_SUBST(poststage1_ldflags)
1764
1765 # GCC GRAPHITE dependency isl.
1766 # Basic setup is inlined here, actual checks are in config/isl.m4
1767
1768 AC_ARG_WITH(isl,
1769 [AS_HELP_STRING(
1770 [--with-isl=PATH],
1771 [Specify prefix directory for the installed isl package.
1772 Equivalent to --with-isl-include=PATH/include
1773 plus --with-isl-lib=PATH/lib])])
1774
1775 # Treat --without-isl as a request to disable
1776 # GRAPHITE support and skip all following checks.
1777 if test "x$with_isl" != "xno"; then
1778 # Check for isl
1779 dnl Provide configure switches and initialize islinc & isllibs
1780 dnl with user input.
1781 ISL_INIT_FLAGS
1782 dnl The versions of isl that work for Graphite
1783 ISL_CHECK_VERSION()
1784 dnl Only execute fail-action, if isl has been requested.
1785 ISL_IF_FAILED([
1786 AC_MSG_ERROR([Unable to find a usable isl. See config.log for details.])])
1787 fi
1788
1789 # If the isl check failed, disable builds of in-tree variant of isl
1790 if test "x$with_isl" = xno ||
1791 test "x$gcc_cv_isl" = xno; then
1792 noconfigdirs="$noconfigdirs isl"
1793 islinc=
1794 fi
1795
1796 AC_SUBST(isllibs)
1797 AC_SUBST(islinc)
1798
1799 # Check for LTO support.
1800 AC_ARG_ENABLE(lto,
1801 [AS_HELP_STRING([--enable-lto], [enable link time optimization support])],
1802 enable_lto=$enableval,
1803 enable_lto=yes; default_enable_lto=yes)
1804
1805 ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
1806 build_lto_plugin=yes
1807 ],[if test x"$default_enable_lto" = x"yes" ; then
1808 case $target in
1809 *-apple-darwin9* | *-cygwin* | *-mingw* | *djgpp*) ;;
1810 # On other non-ELF platforms, LTO has yet to be validated.
1811 *) enable_lto=no ;;
1812 esac
1813 else
1814 # Apart from ELF platforms, only Windows and Darwin support LTO so far.
1815 # It would also be nice to check the binutils support, but we don't
1816 # have gcc_GAS_CHECK_FEATURE available here. For now, we'll just
1817 # warn during gcc/ subconfigure; unless you're bootstrapping with
1818 # -flto it won't be needed until after installation anyway.
1819 case $target in
1820 *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;;
1821 *) if test x"$enable_lto" = x"yes"; then
1822 AC_MSG_ERROR([LTO support is not enabled for this target.])
1823 fi
1824 ;;
1825 esac
1826 fi
1827 # Among non-ELF, only Windows platforms support the lto-plugin so far.
1828 # Build it unless LTO was explicitly disabled.
1829 case $target in
1830 *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;;
1831 *) ;;
1832 esac
1833 ])
1834
1835 AC_ARG_ENABLE(linker-plugin-configure-flags,
1836 [AS_HELP_STRING([[--enable-linker-plugin-configure-flags=FLAGS]],
1837 [additional flags for configuring linker plugins @<:@none@:>@])],
1838 extra_linker_plugin_configure_flags=$enableval,
1839 extra_linker_plugin_configure_flags=)
1840 AC_SUBST(extra_linker_plugin_configure_flags)
1841 AC_ARG_ENABLE(linker-plugin-flags,
1842 [AS_HELP_STRING([[--enable-linker-plugin-flags=FLAGS]],
1843 [additional flags for configuring and building linker plugins @<:@none@:>@])],
1844 extra_linker_plugin_flags=$enableval,
1845 extra_linker_plugin_flags=)
1846 AC_SUBST(extra_linker_plugin_flags)
1847
1848
1849 # By default, C and C++ are the only stage 1 languages.
1850 stage1_languages=,c,
1851
1852 # Target libraries that we bootstrap.
1853 bootstrap_target_libs=,target-libgcc,
1854
1855 # Figure out what language subdirectories are present.
1856 # Look if the user specified --enable-languages="..."; if not, use
1857 # the environment variable $LANGUAGES if defined. $LANGUAGES might
1858 # go away some day.
1859 # NB: embedded tabs in this IF block -- do not untabify
1860 if test -d ${srcdir}/gcc; then
1861 if test x"${enable_languages+set}" != xset; then
1862 if test x"${LANGUAGES+set}" = xset; then
1863 enable_languages="${LANGUAGES}"
1864 echo configure.ac: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
1865 else
1866 enable_languages=all
1867 fi
1868 else
1869 if test x"${enable_languages}" = x ||
1870 test x"${enable_languages}" = xyes;
1871 then
1872 echo configure.ac: --enable-languages needs at least one language argument 1>&2
1873 exit 1
1874 fi
1875 fi
1876 enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
1877
1878 # 'f95' is the old name for the 'fortran' language. We issue a warning
1879 # and make the substitution.
1880 case ,${enable_languages}, in
1881 *,f95,*)
1882 echo configure.ac: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
1883 enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
1884 ;;
1885 esac
1886
1887 # If bootstrapping, C++ must be enabled.
1888 case ",$enable_languages,:$enable_bootstrap" in
1889 *,c++,*:*) ;;
1890 *:yes)
1891 if test -f ${srcdir}/gcc/cp/config-lang.in; then
1892 enable_languages="${enable_languages},c++"
1893 else
1894 AC_MSG_ERROR([bootstrapping requires c++ sources])
1895 fi
1896 ;;
1897 esac
1898
1899 # First scan to see if an enabled language requires some other language.
1900 # We assume that a given config-lang.in will list all the language
1901 # front ends it requires, even if some are required indirectly.
1902 for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1903 case ${lang_frag} in
1904 ..) ;;
1905 # The odd quoting in the next line works around
1906 # an apparent bug in bash 1.12 on linux.
1907 ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1908 *)
1909 # From the config-lang.in, get $language, $lang_requires, and
1910 # $lang_requires_boot_languages.
1911 language=
1912 lang_requires=
1913 lang_requires_boot_languages=
1914 . ${lang_frag}
1915 for other in ${lang_requires} ${lang_requires_boot_languages}; do
1916 case ,${enable_languages}, in
1917 *,$other,*) ;;
1918 *,all,*) ;;
1919 *,$language,*)
1920 echo " \`$other' language required by \`$language'; enabling" 1>&2
1921 enable_languages="${enable_languages},${other}"
1922 ;;
1923 esac
1924 done
1925 for other in ${lang_requires_boot_languages} ; do
1926 if test "$other" != "c"; then
1927 case ,${enable_stage1_languages}, in
1928 *,$other,*) ;;
1929 *,all,*) ;;
1930 *)
1931 case ,${enable_languages}, in
1932 *,$language,*)
1933 echo " '$other' language required by '$language' in stage 1; enabling" 1>&2
1934 enable_stage1_languages="$enable_stage1_languages,${other}"
1935 ;;
1936 esac
1937 ;;
1938 esac
1939 fi
1940 done
1941 ;;
1942 esac
1943 done
1944
1945 new_enable_languages=,c,
1946
1947 # If LTO is enabled, add the LTO front end.
1948 if test "$enable_lto" = "yes" ; then
1949 case ,${enable_languages}, in
1950 *,lto,*) ;;
1951 *) enable_languages="${enable_languages},lto" ;;
1952 esac
1953 if test "${build_lto_plugin}" = "yes" ; then
1954 configdirs="$configdirs lto-plugin"
1955 fi
1956 fi
1957
1958 # If we're building an offloading compiler, add the LTO front end.
1959 if test x"$enable_as_accelerator_for" != x ; then
1960 case ,${enable_languages}, in
1961 *,lto,*) ;;
1962 *) enable_languages="${enable_languages},lto" ;;
1963 esac
1964 fi
1965
1966 missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
1967 potential_languages=,c,
1968
1969 enabled_target_libs=
1970 disabled_target_libs=
1971
1972 for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1973 case ${lang_frag} in
1974 ..) ;;
1975 # The odd quoting in the next line works around
1976 # an apparent bug in bash 1.12 on linux.
1977 ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1978 *)
1979 # From the config-lang.in, get $language, $target_libs,
1980 # $lang_dirs, $boot_language, and $build_by_default
1981 language=
1982 target_libs=
1983 lang_dirs=
1984 subdir_requires=
1985 boot_language=no
1986 build_by_default=yes
1987 . ${lang_frag}
1988 if test x${language} = x; then
1989 echo "${lang_frag} doesn't set \$language." 1>&2
1990 exit 1
1991 fi
1992
1993 if test "$language" = "c++"; then
1994 boot_language=yes
1995 fi
1996
1997 add_this_lang=no
1998 case ,${enable_languages}, in
1999 *,${language},*)
2000 # Language was explicitly selected; include it
2001 # unless it is C, which is enabled by default.
2002 if test "$language" != "c"; then
2003 add_this_lang=yes
2004 fi
2005 ;;
2006 *,all,*)
2007 # 'all' was selected, select it if it is a default language
2008 if test "$language" != "c"; then
2009 add_this_lang=${build_by_default}
2010 fi
2011 ;;
2012 esac
2013
2014 # Disable languages that need other directories if these aren't available.
2015 for i in $subdir_requires; do
2016 test -f "$srcdir/gcc/$i/config-lang.in" && continue
2017 case ,${enable_languages}, in
2018 *,${language},*)
2019 # Specifically requested language; tell them.
2020 AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
2021 ;;
2022 *)
2023 # Silently disable.
2024 add_this_lang=unsupported
2025 ;;
2026 esac
2027 done
2028
2029 # Disable Ada if no preexisting GNAT is available.
2030 case ,${enable_languages},:${language}:${have_gnat} in
2031 *,${language},*:ada:no)
2032 # Specifically requested language; tell them.
2033 AC_MSG_ERROR([GNAT is required to build $language])
2034 ;;
2035 *:ada:no)
2036 # Silently disable.
2037 add_this_lang=unsupported
2038 ;;
2039 esac
2040
2041 # Disable a language that is unsupported by the target.
2042 case " $unsupported_languages " in
2043 *" $language "*)
2044 add_this_lang=unsupported
2045 ;;
2046 esac
2047
2048 case $add_this_lang in
2049 unsupported)
2050 # Remove language-dependent dirs.
2051 disabled_target_libs="$disabled_target_libs $target_libs"
2052 noconfigdirs="$noconfigdirs $lang_dirs"
2053 ;;
2054 no)
2055 # Remove language-dependent dirs; still show language as supported.
2056 disabled_target_libs="$disabled_target_libs $target_libs"
2057 noconfigdirs="$noconfigdirs $lang_dirs"
2058 potential_languages="${potential_languages}${language},"
2059 ;;
2060 yes)
2061 new_enable_languages="${new_enable_languages}${language},"
2062 potential_languages="${potential_languages}${language},"
2063 missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
2064 enabled_target_libs="$enabled_target_libs $target_libs"
2065 case "${boot_language}:,$enable_stage1_languages," in
2066 yes:* | *:*,$language,* | *:*,yes, | *:*,all,)
2067 # Add to (comma-separated) list of stage 1 languages.
2068 case ",$stage1_languages," in
2069 *,$language,* | ,yes, | ,all,) ;;
2070 *) stage1_languages="${stage1_languages}${language}," ;;
2071 esac
2072 # We need to bootstrap any supporting libraries.
2073 bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
2074 ;;
2075 esac
2076 ;;
2077 esac
2078 ;;
2079 esac
2080 done
2081
2082 # Add target libraries which are only needed for disabled languages
2083 # to noconfigdirs.
2084 if test -n "$disabled_target_libs"; then
2085 for dir in $disabled_target_libs; do
2086 case " $enabled_target_libs " in
2087 *" ${dir} "*) ;;
2088 *) noconfigdirs="$noconfigdirs $dir" ;;
2089 esac
2090 done
2091 fi
2092
2093 AC_ARG_ENABLE(stage1-languages,
2094 [AS_HELP_STRING([[--enable-stage1-languages[=all]]],
2095 [choose additional languages to build during
2096 stage1. Mostly useful for compiler development])],
2097 [case ,${enable_stage1_languages}, in
2098 ,no,|,,)
2099 # Set it to something that will have no effect in the loop below
2100 enable_stage1_languages=c ;;
2101 ,yes,)
2102 enable_stage1_languages=`echo $new_enable_languages | \
2103 sed -e "s/^,//" -e "s/,$//" ` ;;
2104 *,all,*)
2105 enable_stage1_languages=`echo ,$enable_stage1_languages, | \
2106 sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
2107 esac
2108
2109 # Add "good" languages from enable_stage1_languages to stage1_languages,
2110 # while "bad" languages go in missing_languages. Leave no duplicates.
2111 for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
2112 case $potential_languages in
2113 *,$i,*)
2114 case $stage1_languages in
2115 *,$i,*) ;;
2116 *) stage1_languages="$stage1_languages$i," ;;
2117 esac ;;
2118 *)
2119 case $missing_languages in
2120 *,$i,*) ;;
2121 *) missing_languages="$missing_languages$i," ;;
2122 esac ;;
2123 esac
2124 done])
2125
2126 # Remove leading/trailing commas that were added for simplicity
2127 potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
2128 missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
2129 stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
2130 new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
2131
2132 if test "x$missing_languages" != x; then
2133 AC_MSG_ERROR([
2134 The following requested languages could not be built: ${missing_languages}
2135 Supported languages are: ${potential_languages}])
2136 fi
2137 if test "x$new_enable_languages" != "x$enable_languages"; then
2138 echo The following languages will be built: ${new_enable_languages}
2139 enable_languages="$new_enable_languages"
2140 fi
2141
2142 AC_SUBST(stage1_languages)
2143 ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
2144 fi
2145
2146 # Handle --disable-<component> generically.
2147 for dir in $configdirs $build_configdirs $target_configdirs ; do
2148 dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
2149 varname=`echo $dirname | sed -e s/+/_/g`
2150 if eval test x\${enable_${varname}} "=" xno ; then
2151 noconfigdirs="$noconfigdirs $dir"
2152 fi
2153 done
2154
2155 # Check for Boehm's garbage collector
2156 AC_ARG_ENABLE(objc-gc,
2157 [AS_HELP_STRING([--enable-objc-gc],
2158 [enable use of Boehm's garbage collector with the
2159 GNU Objective-C runtime])],
2160 [case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
2161 *,objc,*:*:yes:*target-boehm-gc*)
2162 AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
2163 ;;
2164 esac])
2165
2166 # Make sure we only build Boehm's garbage collector if required.
2167 case ,${enable_languages},:${enable_objc_gc} in
2168 *,objc,*:yes)
2169 # Keep target-boehm-gc if requested for Objective-C.
2170 ;;
2171 *)
2172 # Otherwise remove target-boehm-gc depending on target-libjava.
2173 if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
2174 noconfigdirs="$noconfigdirs target-boehm-gc"
2175 fi
2176 ;;
2177 esac
2178
2179 # Disable libcilkrts, libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
2180 case ,${enable_languages}, in
2181 *,c++,*)
2182 # Disable libcilkrts, libitm, libsanitizer if we're not building libstdc++
2183 case "${noconfigdirs}" in
2184 *target-libstdc++-v3*)
2185 noconfigdirs="$noconfigdirs target-libcilkrts target-libitm target-libsanitizer"
2186 ;;
2187 *) ;;
2188 esac
2189 ;;
2190 *)
2191 noconfigdirs="$noconfigdirs target-libcilkrts target-liboffloadmic target-libitm target-libsanitizer target-libvtv"
2192 ;;
2193 esac
2194
2195 # Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
2196 # $build_configdirs and $target_configdirs.
2197 # If we have the source for $noconfigdirs entries, add them to $notsupp.
2198
2199 notsupp=""
2200 for dir in . $skipdirs $noconfigdirs ; do
2201 dirname=`echo $dir | sed -e s/target-//g -e s/build-//g`
2202 if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2203 configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
2204 if test -r $srcdir/$dirname/configure ; then
2205 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2206 true
2207 else
2208 notsupp="$notsupp $dir"
2209 fi
2210 fi
2211 fi
2212 if test $dir != . && echo " ${build_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2213 build_configdirs=`echo " ${build_configdirs} " | sed -e "s/ ${dir} / /"`
2214 if test -r $srcdir/$dirname/configure ; then
2215 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2216 true
2217 else
2218 notsupp="$notsupp $dir"
2219 fi
2220 fi
2221 fi
2222 if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2223 target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
2224 if test -r $srcdir/$dirname/configure ; then
2225 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2226 true
2227 else
2228 notsupp="$notsupp $dir"
2229 fi
2230 fi
2231 fi
2232 done
2233
2234 # Quietly strip out all directories which aren't configurable in this tree.
2235 # This relies on all configurable subdirectories being autoconfiscated, which
2236 # is now the case.
2237 build_configdirs_all="$build_configdirs"
2238 build_configdirs=
2239 for i in ${build_configdirs_all} ; do
2240 j=`echo $i | sed -e s/build-//g`
2241 if test -f ${srcdir}/$j/configure ; then
2242 build_configdirs="${build_configdirs} $i"
2243 fi
2244 done
2245
2246 configdirs_all="$configdirs"
2247 configdirs=
2248 for i in ${configdirs_all} ; do
2249 if test -f ${srcdir}/$i/configure ; then
2250 configdirs="${configdirs} $i"
2251 fi
2252 done
2253
2254 target_configdirs_all="$target_configdirs"
2255 target_configdirs=
2256 for i in ${target_configdirs_all} ; do
2257 j=`echo $i | sed -e s/target-//g`
2258 if test -f ${srcdir}/$j/configure ; then
2259 target_configdirs="${target_configdirs} $i"
2260 fi
2261 done
2262
2263 # Exclude target-zlib if target-libjava isn't built.
2264 case ${target_configdirs} in
2265 *target-libjava*)
2266 ;;
2267 *)
2268 target_configdirs="`echo ${target_configdirs} | sed -e 's/target-zlib//'`"
2269 ;;
2270 esac
2271
2272 # libiberty-linker-plugin is special: it doesn't have its own source directory,
2273 # so we have to add it after the preceding checks.
2274 if test x"$extra_linker_plugin_flags$extra_linker_plugin_configure_flags" != x
2275 then
2276 case " $configdirs " in
2277 *" libiberty "*)
2278 # If we can build libiberty, we can also build libiberty-linker-plugin.
2279 configdirs="$configdirs libiberty-linker-plugin"
2280 extra_linker_plugin_configure_flags="$extra_linker_plugin_configure_flags \
2281 --with-libiberty=../libiberty-linker-plugin";;
2282 *)
2283 AC_MSG_ERROR([libiberty missing]);;
2284 esac
2285 fi
2286
2287 # Sometimes we have special requirements for the host libiberty.
2288 extra_host_libiberty_configure_flags=
2289 extra_host_zlib_configure_flags=
2290 case " $configdirs " in
2291 *" lto-plugin "* | *" libcc1 "*)
2292 # When these are to be built as shared libraries, the same applies to
2293 # libiberty.
2294 extra_host_libiberty_configure_flags=--enable-shared
2295 ;;
2296 *" bfd "*)
2297 # When bfd is to be built as a shared library, the same applies to
2298 # zlib.
2299 if test "$enable_shared" = "yes"; then
2300 extra_host_zlib_configure_flags=--enable-host-shared
2301 fi
2302 ;;
2303 esac
2304 AC_SUBST(extra_host_libiberty_configure_flags)
2305 AC_SUBST(extra_host_zlib_configure_flags)
2306
2307 # Produce a warning message for the subdirs we can't configure.
2308 # This isn't especially interesting in the Cygnus tree, but in the individual
2309 # FSF releases, it's important to let people know when their machine isn't
2310 # supported by the one or two programs in a package.
2311
2312 if test -n "${notsupp}" && test -z "${norecursion}" ; then
2313 # If $appdirs is non-empty, at least one of those directories must still
2314 # be configured, or we error out. (E.g., if the gas release supports a
2315 # specified target in some subdirs but not the gas subdir, we shouldn't
2316 # pretend that all is well.)
2317 if test -n "$appdirs" ; then
2318 for dir in $appdirs ; do
2319 if test -r $dir/Makefile.in ; then
2320 if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2321 appdirs=""
2322 break
2323 fi
2324 if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
2325 appdirs=""
2326 break
2327 fi
2328 fi
2329 done
2330 if test -n "$appdirs" ; then
2331 echo "*** This configuration is not supported by this package." 1>&2
2332 exit 1
2333 fi
2334 fi
2335 # Okay, some application will build, or we don't care to check. Still
2336 # notify of subdirs not getting built.
2337 echo "*** This configuration is not supported in the following subdirectories:" 1>&2
2338 echo " ${notsupp}" 1>&2
2339 echo " (Any other directories should still work fine.)" 1>&2
2340 fi
2341
2342 case "$host" in
2343 *msdosdjgpp*)
2344 enable_gdbtk=no ;;
2345 esac
2346
2347 # To find our prefix, in gcc_cv_tool_prefix.
2348 ACX_TOOL_DIRS
2349
2350 copy_dirs=
2351
2352 AC_ARG_WITH([build-sysroot],
2353 [AS_HELP_STRING([--with-build-sysroot=SYSROOT],
2354 [use sysroot as the system root during the build])],
2355 [if test x"$withval" != x ; then
2356 SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
2357 fi],
2358 [SYSROOT_CFLAGS_FOR_TARGET=])
2359 AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
2360
2361 AC_ARG_WITH([debug-prefix-map],
2362 [AS_HELP_STRING([--with-debug-prefix-map='A=B C=D ...'],
2363 [map A to B, C to D ... in debug information])],
2364 [if test x"$withval" != x; then
2365 DEBUG_PREFIX_CFLAGS_FOR_TARGET=
2366 for debug_map in $withval; do
2367 DEBUG_PREFIX_CFLAGS_FOR_TARGET="$DEBUG_PREFIX_CFLAGS_FOR_TARGET -fdebug-prefix-map=$debug_map"
2368 done
2369 fi],
2370 [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
2371 AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
2372
2373 # During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
2374 # might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
2375 # might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
2376 # We want to ensure that TARGET libraries (which we know are built with
2377 # gcc) are built with "-O2 -g", so include those options when setting
2378 # CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
2379 if test "x$CFLAGS_FOR_TARGET" = x; then
2380 if test "x${is_cross_compiler}" = xyes; then
2381 CFLAGS_FOR_TARGET="-g -O2"
2382 else
2383 CFLAGS_FOR_TARGET=$CFLAGS
2384 case " $CFLAGS " in
2385 *" -O2 "*) ;;
2386 *) CFLAGS_FOR_TARGET="-O2 $CFLAGS_FOR_TARGET" ;;
2387 esac
2388 case " $CFLAGS " in
2389 *" -g "* | *" -g3 "*) ;;
2390 *) CFLAGS_FOR_TARGET="-g $CFLAGS_FOR_TARGET" ;;
2391 esac
2392 fi
2393 fi
2394 AC_SUBST(CFLAGS_FOR_TARGET)
2395
2396 if test "x$CXXFLAGS_FOR_TARGET" = x; then
2397 if test "x${is_cross_compiler}" = xyes; then
2398 CXXFLAGS_FOR_TARGET="-g -O2"
2399 else
2400 CXXFLAGS_FOR_TARGET=$CXXFLAGS
2401 case " $CXXFLAGS " in
2402 *" -O2 "*) ;;
2403 *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS_FOR_TARGET" ;;
2404 esac
2405 case " $CXXFLAGS " in
2406 *" -g "* | *" -g3 "*) ;;
2407 *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS_FOR_TARGET" ;;
2408 esac
2409 fi
2410 fi
2411 AC_SUBST(CXXFLAGS_FOR_TARGET)
2412
2413 AC_SUBST(LDFLAGS_FOR_TARGET)
2414
2415 # Handle --with-headers=XXX. If the value is not "yes", the contents of
2416 # the named directory are copied to $(tooldir)/sys-include.
2417 if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
2418 if test x${is_cross_compiler} = xno ; then
2419 echo 1>&2 '***' --with-headers is only supported when cross compiling
2420 exit 1
2421 fi
2422 if test x"${with_headers}" != xyes ; then
2423 x=${gcc_cv_tool_prefix}
2424 copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
2425 fi
2426 fi
2427
2428 # Handle --with-libs=XXX. If the value is not "yes", the contents of
2429 # the name directories are copied to $(tooldir)/lib. Multiple directories
2430 # are permitted.
2431 if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
2432 if test x${is_cross_compiler} = xno ; then
2433 echo 1>&2 '***' --with-libs is only supported when cross compiling
2434 exit 1
2435 fi
2436 if test x"${with_libs}" != xyes ; then
2437 # Copy the libraries in reverse order, so that files in the first named
2438 # library override files in subsequent libraries.
2439 x=${gcc_cv_tool_prefix}
2440 for l in ${with_libs}; do
2441 copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
2442 done
2443 fi
2444 fi
2445
2446 # Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
2447 #
2448 # This is done by determining whether or not the appropriate directory
2449 # is available, and by checking whether or not specific configurations
2450 # have requested that this magic not happen.
2451 #
2452 # The command line options always override the explicit settings in
2453 # configure.ac, and the settings in configure.ac override this magic.
2454 #
2455 # If the default for a toolchain is to use GNU as and ld, and you don't
2456 # want to do that, then you should use the --without-gnu-as and
2457 # --without-gnu-ld options for the configure script. Similarly, if
2458 # the default is to use the included zlib and you don't want to do that,
2459 # you should use the --with-system-zlib option for the configure script.
2460
2461 if test x${use_gnu_as} = x &&
2462 echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
2463 with_gnu_as=yes
2464 extra_host_args="$extra_host_args --with-gnu-as"
2465 fi
2466
2467 if test x${use_gnu_ld} = x &&
2468 echo " ${configdirs} " | egrep " (go)?ld " > /dev/null 2>&1 ; then
2469 with_gnu_ld=yes
2470 extra_host_args="$extra_host_args --with-gnu-ld"
2471 fi
2472
2473 if test x${use_included_zlib} = x &&
2474 echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
2475 :
2476 else
2477 with_system_zlib=yes
2478 extra_host_args="$extra_host_args --with-system-zlib"
2479 fi
2480
2481 # If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
2482 # can detect this case.
2483
2484 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
2485 with_newlib=yes
2486 extra_host_args="$extra_host_args --with-newlib"
2487 fi
2488
2489 # Handle ${copy_dirs}
2490 set fnord ${copy_dirs}
2491 shift
2492 while test $# != 0 ; do
2493 if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
2494 :
2495 else
2496 echo Copying $1 to $2
2497
2498 # Use the install script to create the directory and all required
2499 # parent directories.
2500 if test -d $2 ; then
2501 :
2502 else
2503 echo >config.temp
2504 ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
2505 fi
2506
2507 # Copy the directory, assuming we have tar.
2508 # FIXME: Should we use B in the second tar? Not all systems support it.
2509 (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
2510
2511 # It is the responsibility of the user to correctly adjust all
2512 # symlinks. If somebody can figure out how to handle them correctly
2513 # here, feel free to add the code.
2514
2515 echo $1 > $2/COPIED
2516 fi
2517 shift; shift
2518 done
2519
2520 # Determine a target-dependent exec_prefix that the installed
2521 # gcc will search in. Keep this list sorted by triplet, with
2522 # the *-*-osname triplets last.
2523 md_exec_prefix=
2524 case "${target}" in
2525 i[[34567]]86-pc-msdosdjgpp*)
2526 md_exec_prefix=/dev/env/DJDIR/bin
2527 ;;
2528 *-*-hpux* | \
2529 *-*-nto-qnx* | \
2530 *-*-solaris2*)
2531 md_exec_prefix=/usr/ccs/bin
2532 ;;
2533 esac
2534
2535 extra_arflags_for_target=
2536 extra_nmflags_for_target=
2537 extra_ranlibflags_for_target=
2538 target_makefile_frag=/dev/null
2539 case "${target}" in
2540 spu-*-*)
2541 target_makefile_frag="config/mt-spu"
2542 ;;
2543 mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
2544 target_makefile_frag="config/mt-sde"
2545 ;;
2546 mipsisa*-*-elfoabi*)
2547 target_makefile_frag="config/mt-mips-elfoabi"
2548 ;;
2549 mips*-*-*linux* | mips*-*-gnu*)
2550 target_makefile_frag="config/mt-mips-gnu"
2551 ;;
2552 nios2-*-elf*)
2553 target_makefile_frag="config/mt-nios2-elf"
2554 ;;
2555 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
2556 target_makefile_frag="config/mt-gnu"
2557 ;;
2558 *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
2559 # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
2560 # commands to handle both 32-bit and 64-bit objects. These flags are
2561 # harmless if we're using GNU nm or ar.
2562 extra_arflags_for_target=" -X32_64"
2563 extra_nmflags_for_target=" -B -X32_64"
2564 ;;
2565 esac
2566
2567 alphaieee_frag=/dev/null
2568 case $target in
2569 alpha*-*-*)
2570 # This just makes sure to use the -mieee option to build target libs.
2571 # This should probably be set individually by each library.
2572 alphaieee_frag="config/mt-alphaieee"
2573 ;;
2574 esac
2575
2576 # If --enable-target-optspace always use -Os instead of -O2 to build
2577 # the target libraries, similarly if it is not specified, use -Os
2578 # on selected platforms.
2579 ospace_frag=/dev/null
2580 case "${enable_target_optspace}:${target}" in
2581 yes:*)
2582 ospace_frag="config/mt-ospace"
2583 ;;
2584 :d30v-*)
2585 ospace_frag="config/mt-d30v"
2586 ;;
2587 :m32r-* | :d10v-* | :fr30-* | :i?86*-*-elfiamcu)
2588 ospace_frag="config/mt-ospace"
2589 ;;
2590 no:* | :*)
2591 ;;
2592 *)
2593 echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
2594 ;;
2595 esac
2596
2597 # Some systems (e.g., one of the i386-aix systems the gas testers are
2598 # using) don't handle "\$" correctly, so don't use it here.
2599 tooldir='${exec_prefix}'/${target_noncanonical}
2600 build_tooldir=${tooldir}
2601
2602 # Create a .gdbinit file which runs the one in srcdir
2603 # and tells GDB to look there for source files.
2604
2605 if test -r ${srcdir}/.gdbinit ; then
2606 case ${srcdir} in
2607 .) ;;
2608 *) cat > ./.gdbinit <<EOF
2609 # ${NO_EDIT}
2610 dir ${srcdir}
2611 dir .
2612 source ${srcdir}/.gdbinit
2613 EOF
2614 ;;
2615 esac
2616 fi
2617
2618 # Make sure that the compiler is able to generate an executable. If it
2619 # can't, we are probably in trouble. We don't care whether we can run the
2620 # executable--we might be using a cross compiler--we only care whether it
2621 # can be created. At this point the main configure script has set CC.
2622 we_are_ok=no
2623 echo "int main () { return 0; }" > conftest.c
2624 ${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
2625 if test $? = 0 ; then
2626 if test -s conftest || test -s conftest.exe ; then
2627 we_are_ok=yes
2628 fi
2629 fi
2630 case $we_are_ok in
2631 no)
2632 echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
2633 echo 1>&2 "*** You must set the environment variable CC to a working compiler."
2634 rm -f conftest*
2635 exit 1
2636 ;;
2637 esac
2638 rm -f conftest*
2639
2640 # Decide which environment variable is used to find dynamic libraries.
2641 case "${host}" in
2642 *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
2643 *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
2644 *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
2645 *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
2646 esac
2647
2648 # On systems where the dynamic library environment variable is PATH,
2649 # gcc/ will put dynamic libraries into a subdirectory to avoid adding
2650 # built executables to PATH.
2651 if test "$RPATH_ENVVAR" = PATH; then
2652 GCC_SHLIB_SUBDIR=/shlib
2653 else
2654 GCC_SHLIB_SUBDIR=
2655 fi
2656
2657 # Adjust the toplevel makefile according to whether bootstrap was selected.
2658 case $enable_bootstrap in
2659 yes)
2660 bootstrap_suffix=bootstrap
2661 BUILD_CONFIG=bootstrap-debug
2662 ;;
2663 no)
2664 bootstrap_suffix=no-bootstrap
2665 BUILD_CONFIG=
2666 ;;
2667 esac
2668
2669 AC_MSG_CHECKING(for default BUILD_CONFIG)
2670
2671 AC_ARG_WITH([build-config],
2672 [AS_HELP_STRING([--with-build-config='NAME NAME2...'],
2673 [use config/NAME.mk build configuration])],
2674 [case $with_build_config in
2675 yes) with_build_config= ;;
2676 no) with_build_config= BUILD_CONFIG= ;;
2677 esac])
2678
2679 if test "x${with_build_config}" != x; then
2680 BUILD_CONFIG=$with_build_config
2681 else
2682 case $BUILD_CONFIG in
2683 bootstrap-debug)
2684 if echo "int f (void) { return 0; }" > conftest.c &&
2685 ${CC} -c conftest.c &&
2686 mv conftest.o conftest.o.g0 &&
2687 ${CC} -c -g conftest.c &&
2688 mv conftest.o conftest.o.g &&
2689 ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then
2690 :
2691 else
2692 BUILD_CONFIG=
2693 fi
2694 rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g
2695 ;;
2696 esac
2697 fi
2698 AC_MSG_RESULT($BUILD_CONFIG)
2699 AC_SUBST(BUILD_CONFIG)
2700
2701 # Use same top-level configure hooks in libgcc/libstdc++/libvtv.
2702 AC_MSG_CHECKING([for --enable-vtable-verify])
2703 AC_ARG_ENABLE(vtable-verify,
2704 [AS_HELP_STRING([--enable-vtable-verify],
2705 [Enable vtable verification feature])],
2706 [case "$enableval" in
2707 yes) enable_vtable_verify=yes ;;
2708 no) enable_vtable_verify=no ;;
2709 *) enable_vtable_verify=no;;
2710 esac],
2711 [enable_vtable_verify=no])
2712 AC_MSG_RESULT($enable_vtable_verify)
2713
2714 # Record target_configdirs and the configure arguments for target and
2715 # build configuration in Makefile.
2716 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
2717 build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
2718 bootstrap_fixincludes=no
2719
2720 # If we are building libgomp, bootstrap it.
2721 if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then
2722 bootstrap_target_libs=${bootstrap_target_libs}target-libgomp,
2723 fi
2724
2725 # If we are building libsanitizer and $BUILD_CONFIG contains bootstrap-asan
2726 # or bootstrap-ubsan, bootstrap it.
2727 if echo " ${target_configdirs} " | grep " libsanitizer " > /dev/null 2>&1; then
2728 case "$BUILD_CONFIG" in
2729 *bootstrap-asan* | *bootstrap-ubsan* )
2730 bootstrap_target_libs=${bootstrap_target_libs}target-libsanitizer,
2731 bootstrap_fixincludes=yes
2732 ;;
2733 esac
2734 fi
2735
2736 # If we are building libvtv and --enable-vtable-verify, bootstrap it.
2737 if echo " ${target_configdirs} " | grep " libvtv " > /dev/null 2>&1 &&
2738 test "$enable_vtable_verify" != no; then
2739 bootstrap_target_libs=${bootstrap_target_libs}target-libvtv,
2740 fi
2741
2742 # If we are building libmpx, bootstrap it.
2743 if echo " ${target_configdirs} " | grep " libmpx " > /dev/null 2>&1; then
2744 bootstrap_target_libs=${bootstrap_target_libs}target-libmpx,
2745 fi
2746
2747 # Determine whether gdb needs tk/tcl or not.
2748 # Use 'maybe' since enable_gdbtk might be true even if tk isn't available
2749 # and in that case we want gdb to be built without tk. Ugh!
2750 # In fact I believe gdb is the *only* package directly dependent on tk,
2751 # so we should be able to put the 'maybe's in unconditionally and
2752 # leave out the maybe dependencies when enable_gdbtk is false. I'm not
2753 # 100% sure that that's safe though.
2754
2755 gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
2756 case "$enable_gdbtk" in
2757 no)
2758 GDB_TK="" ;;
2759 yes)
2760 GDB_TK="${gdb_tk}" ;;
2761 *)
2762 # Only add the dependency on gdbtk when GDBtk is part of the gdb
2763 # distro. Eventually someone will fix this and move Insight, nee
2764 # gdbtk to a separate directory.
2765 if test -d ${srcdir}/gdb/gdbtk ; then
2766 GDB_TK="${gdb_tk}"
2767 else
2768 GDB_TK=""
2769 fi
2770 ;;
2771 esac
2772 CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
2773 INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
2774
2775 # Strip out unwanted targets.
2776
2777 # While at that, we remove Makefiles if we were started for recursive
2778 # configuration, so that the top-level Makefile reconfigures them,
2779 # like we used to do when configure itself was recursive.
2780
2781 # Loop over modules. We used to use the "$extrasub" feature from Autoconf
2782 # but now we're fixing up the Makefile ourselves with the additional
2783 # commands passed to AC_CONFIG_FILES. Use separate variables
2784 # extrasub-{build,host,target} not because there is any reason to split
2785 # the substitutions up that way, but only to remain below the limit of
2786 # 99 commands in a script, for HP-UX sed.
2787 # Do not nest @if/@endif pairs, because configure will not warn you at all.
2788
2789 case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
2790 yes:yes:*\ gold\ *:*,c++,*) ;;
2791 yes:yes:*\ gold\ *:*)
2792 AC_MSG_ERROR([in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages])
2793 ;;
2794 esac
2795
2796 extrasub_build=
2797 for module in ${build_configdirs} ; do
2798 if test -z "${no_recursion}" \
2799 && test -f ${build_subdir}/${module}/Makefile; then
2800 echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
2801 rm -f ${build_subdir}/${module}/Makefile
2802 fi
2803 extrasub_build="$extrasub_build
2804 /^@if build-$module\$/d
2805 /^@endif build-$module\$/d
2806 /^@if build-$module-$bootstrap_suffix\$/d
2807 /^@endif build-$module-$bootstrap_suffix\$/d"
2808 done
2809 extrasub_host=
2810 for module in ${configdirs} ; do
2811 if test -z "${no_recursion}"; then
2812 for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
2813 if test -f ${file}; then
2814 echo 1>&2 "*** removing ${file} to force reconfigure"
2815 rm -f ${file}
2816 fi
2817 done
2818 fi
2819 case ${module},${bootstrap_fixincludes} in
2820 fixincludes,no) host_bootstrap_suffix=no-bootstrap ;;
2821 *) host_bootstrap_suffix=$bootstrap_suffix ;;
2822 esac
2823 extrasub_host="$extrasub_host
2824 /^@if $module\$/d
2825 /^@endif $module\$/d
2826 /^@if $module-$host_bootstrap_suffix\$/d
2827 /^@endif $module-$host_bootstrap_suffix\$/d"
2828 done
2829 extrasub_target=
2830 for module in ${target_configdirs} ; do
2831 if test -z "${no_recursion}" \
2832 && test -f ${target_subdir}/${module}/Makefile; then
2833 echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
2834 rm -f ${target_subdir}/${module}/Makefile
2835 fi
2836
2837 # We only bootstrap target libraries listed in bootstrap_target_libs.
2838 case $bootstrap_target_libs in
2839 *,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;;
2840 *) target_bootstrap_suffix=no-bootstrap ;;
2841 esac
2842
2843 extrasub_target="$extrasub_target
2844 /^@if target-$module\$/d
2845 /^@endif target-$module\$/d
2846 /^@if target-$module-$target_bootstrap_suffix\$/d
2847 /^@endif target-$module-$target_bootstrap_suffix\$/d"
2848 done
2849
2850 # Do the final fixup along with target modules.
2851 extrasub_target="$extrasub_target
2852 /^@if /,/^@endif /d"
2853
2854 # Create the serialization dependencies. This uses a temporary file.
2855
2856 AC_ARG_ENABLE([serial-configure],
2857 [AS_HELP_STRING([[--enable-serial-[{host,target,build}-]configure]],
2858 [force sequential configuration of
2859 sub-packages for the host, target or build
2860 machine, or all sub-packages])])
2861
2862 case ${enable_serial_configure} in
2863 yes)
2864 enable_serial_build_configure=yes
2865 enable_serial_host_configure=yes
2866 enable_serial_target_configure=yes
2867 ;;
2868 esac
2869
2870 # These force 'configure's to be done one at a time, to avoid problems
2871 # with contention over a shared config.cache.
2872 rm -f serdep.tmp
2873 echo '# serdep.tmp' > serdep.tmp
2874 olditem=
2875 test "x${enable_serial_build_configure}" = xyes &&
2876 for item in ${build_configdirs} ; do
2877 case ${olditem} in
2878 "") ;;
2879 *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
2880 esac
2881 olditem=${item}
2882 done
2883 olditem=
2884 test "x${enable_serial_host_configure}" = xyes &&
2885 for item in ${configdirs} ; do
2886 case ${olditem} in
2887 "") ;;
2888 *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
2889 esac
2890 olditem=${item}
2891 done
2892 olditem=
2893 test "x${enable_serial_target_configure}" = xyes &&
2894 for item in ${target_configdirs} ; do
2895 case ${olditem} in
2896 "") ;;
2897 *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
2898 esac
2899 olditem=${item}
2900 done
2901 serialization_dependencies=serdep.tmp
2902 AC_SUBST_FILE(serialization_dependencies)
2903
2904 # Base args. Strip norecursion, cache-file, srcdir, host, build,
2905 # target, nonopt, and variable assignments. These are the ones we
2906 # might not want to pass down to subconfigures. The exception being
2907 # --cache-file=/dev/null, which is used to turn off the use of cache
2908 # files altogether, and which should be passed on to subconfigures.
2909 # Also strip program-prefix, program-suffix, and program-transform-name,
2910 # so that we can pass down a consistent program-transform-name.
2911 baseargs=
2912 tbaseargs=
2913 keep_next=no
2914 skip_next=no
2915 eval "set -- $ac_configure_args"
2916 for ac_arg
2917 do
2918 if test X"$skip_next" = X"yes"; then
2919 skip_next=no
2920 continue
2921 fi
2922 if test X"$keep_next" = X"yes"; then
2923 case $ac_arg in
2924 *\'*)
2925 ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2926 esac
2927 baseargs="$baseargs '$ac_arg'"
2928 tbaseargs="$tbaseargs '$ac_arg'"
2929 keep_next=no
2930 continue
2931 fi
2932
2933 # Handle separated arguments. Based on the logic generated by
2934 # autoconf 2.59.
2935 case $ac_arg in
2936 *=* | --config-cache | -C | -disable-* | --disable-* \
2937 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2938 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2939 | -with-* | --with-* | -without-* | --without-* | --x)
2940 separate_arg=no
2941 ;;
2942 -*)
2943 separate_arg=yes
2944 ;;
2945 *)
2946 separate_arg=no
2947 ;;
2948 esac
2949
2950 skip_targ=no
2951 case $ac_arg in
2952 changequote(,)
2953 --with-* | --without-*)
2954 libopt=`echo "$ac_arg" | sed -e 's,^--[^-_]*[-_],,' -e 's,=.*$,,'`
2955
2956 case $libopt in
2957 *[-_]include)
2958 lib=`echo "$libopt" | sed 's,[-_]include$,,'`
2959 ;;
2960 *[-_]lib)
2961 lib=`echo "$libopt" | sed 's,[-_]lib$,,'`
2962 ;;
2963 *)
2964 lib=$libopt
2965 ;;
2966 esac
2967 changequote([,])
2968
2969 case $lib in
2970 mpc | mpfr | gmp | isl)
2971 # If we're processing --with-$lib, --with-$lib-include or
2972 # --with-$lib-lib, for one of the libs above, and target is
2973 # different from host, don't pass the current argument to any
2974 # target library's configure.
2975 if test x$is_cross_compiler = xyes; then
2976 skip_targ=yes
2977 fi
2978 ;;
2979 esac
2980 ;;
2981 esac
2982
2983 case "$ac_arg" in
2984 --cache-file=/dev/null | \
2985 -cache-file=/dev/null )
2986 # Handled here to avoid the test to skip args below.
2987 baseargs="$baseargs '$ac_arg'"
2988 tbaseargs="$tbaseargs '$ac_arg'"
2989 # Assert: $separate_arg should always be no.
2990 keep_next=$separate_arg
2991 ;;
2992 --no*)
2993 continue
2994 ;;
2995 --c* | \
2996 --sr* | \
2997 --ho* | \
2998 --bu* | \
2999 --t* | \
3000 --program-* | \
3001 -cache_file* | \
3002 -srcdir* | \
3003 -host* | \
3004 -build* | \
3005 -target* | \
3006 -program-prefix* | \
3007 -program-suffix* | \
3008 -program-transform-name* )
3009 skip_next=$separate_arg
3010 continue
3011 ;;
3012 -*)
3013 # An option. Add it.
3014 case $ac_arg in
3015 *\'*)
3016 ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
3017 esac
3018 baseargs="$baseargs '$ac_arg'"
3019 if test X"$skip_targ" = Xno; then
3020 tbaseargs="$tbaseargs '$ac_arg'"
3021 fi
3022 keep_next=$separate_arg
3023 ;;
3024 *)
3025 # Either a variable assignment, or a nonopt (triplet). Don't
3026 # pass it down; let the Makefile handle this.
3027 continue
3028 ;;
3029 esac
3030 done
3031 # Remove the initial space we just introduced and, as these will be
3032 # expanded by make, quote '$'.
3033 baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
3034
3035 # Add in --program-transform-name, after --program-prefix and
3036 # --program-suffix have been applied to it. Autoconf has already
3037 # doubled dollar signs and backslashes in program_transform_name; we want
3038 # the backslashes un-doubled, and then the entire thing wrapped in single
3039 # quotes, because this will be expanded first by make and then by the shell.
3040 # Also, because we want to override the logic in subdir configure scripts to
3041 # choose program_transform_name, replace any s,x,x, with s,y,y,.
3042 sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
3043 ${program_transform_name}
3044 EOF_SED
3045 gcc_transform_name=`cat conftestsed.out`
3046 rm -f conftestsed.out
3047 baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
3048 tbaseargs="$tbaseargs --program-transform-name='${gcc_transform_name}'"
3049 if test "$silent" = yes; then
3050 baseargs="$baseargs --silent"
3051 tbaseargs="$tbaseargs --silent"
3052 fi
3053 baseargs="$baseargs --disable-option-checking"
3054 tbaseargs="$tbaseargs --disable-option-checking"
3055
3056 # Record and document user additions to sub configure arguments.
3057 AC_ARG_VAR([build_configargs],
3058 [additional configure arguments for build directories])
3059 AC_ARG_VAR([host_configargs],
3060 [additional configure arguments for host directories])
3061 AC_ARG_VAR([target_configargs],
3062 [additional configure arguments for target directories])
3063
3064 # For the build-side libraries, we just need to pretend we're native,
3065 # and not use the same cache file. Multilibs are neither needed nor
3066 # desired. We can't even use the same cache file for all build-side
3067 # libraries, as they're compiled differently; some with C, some with
3068 # C++ or with different feature-enabling options.
3069 build_configargs="$build_configargs --cache-file=./config.cache ${baseargs}"
3070
3071 # For host modules, accept cache file option, or specification as blank.
3072 case "${cache_file}" in
3073 "") # empty
3074 cache_file_option="" ;;
3075 /* | [[A-Za-z]]:[[\\/]]* ) # absolute path
3076 cache_file_option="--cache-file=${cache_file}" ;;
3077 *) # relative path
3078 cache_file_option="--cache-file=../${cache_file}" ;;
3079 esac
3080
3081 # Host dirs don't like to share a cache file either, horribly enough.
3082 # This seems to be due to autoconf 2.5x stupidity.
3083 host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}"
3084
3085 target_configargs="$target_configargs ${tbaseargs}"
3086
3087 # Passing a --with-cross-host argument lets the target libraries know
3088 # whether they are being built with a cross-compiler or being built
3089 # native. However, it would be better to use other mechanisms to make the
3090 # sorts of decisions they want to make on this basis. Please consider
3091 # this option to be deprecated. FIXME.
3092 if test x${is_cross_compiler} = xyes ; then
3093 target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
3094 fi
3095
3096 # Special user-friendly check for native x86_64-linux build, if
3097 # multilib is not explicitly enabled.
3098 case "$target:$have_compiler:$host:$target:$enable_multilib" in
3099 x86_64-*linux*:yes:$build:$build:)
3100 # Make sure we have a development environment that handles 32-bit
3101 dev64=no
3102 echo "int main () { return 0; }" > conftest.c
3103 ${CC} -m32 -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
3104 if test $? = 0 ; then
3105 if test -s conftest || test -s conftest.exe ; then
3106 dev64=yes
3107 fi
3108 fi
3109 rm -f conftest*
3110 if test x${dev64} != xyes ; then
3111 AC_MSG_ERROR([I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.])
3112 fi
3113 ;;
3114 esac
3115
3116 # Default to --enable-multilib.
3117 if test x${enable_multilib} = x ; then
3118 target_configargs="--enable-multilib ${target_configargs}"
3119 fi
3120
3121 # Pass --with-newlib if appropriate. Note that target_configdirs has
3122 # changed from the earlier setting of with_newlib.
3123 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
3124 target_configargs="--with-newlib ${target_configargs}"
3125 fi
3126
3127 # Different target subdirs use different values of certain variables
3128 # (notably CXX). Worse, multilibs use *lots* of different values.
3129 # Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
3130 # it doesn't automatically accept command-line overrides of them.
3131 # This means it's not safe for target subdirs to share a cache file,
3132 # which is disgusting, but there you have it. Hopefully this can be
3133 # fixed in future. It's still worthwhile to use a cache file for each
3134 # directory. I think.
3135
3136 # Pass the appropriate --build, --host, --target and --cache-file arguments.
3137 # We need to pass --target, as newer autoconf's requires consistency
3138 # for target_alias and gcc doesn't manage it consistently.
3139 target_configargs="--cache-file=./config.cache ${target_configargs}"
3140
3141 FLAGS_FOR_TARGET=
3142 case " $target_configdirs " in
3143 *" newlib "*)
3144 case " $target_configargs " in
3145 *" --with-newlib "*)
3146 case "$target" in
3147 *-cygwin*)
3148 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -isystem $$s/winsup/cygwin/include'
3149 ;;
3150 esac
3151
3152 # If we're not building GCC, don't discard standard headers.
3153 if test -d ${srcdir}/gcc; then
3154 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
3155
3156 if test "${build}" != "${host}"; then
3157 # On Canadian crosses, CC_FOR_TARGET will have already been set
3158 # by `configure', so we won't have an opportunity to add -Bgcc/
3159 # to it. This is right: we don't want to search that directory
3160 # for binaries, but we want the header files in there, so add
3161 # them explicitly.
3162 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include -isystem $$r/$(HOST_SUBDIR)/gcc/include-fixed'
3163
3164 # Someone might think of using the pre-installed headers on
3165 # Canadian crosses, in case the installed compiler is not fully
3166 # compatible with the compiler being built. In this case, it
3167 # would be better to flag an error than risking having
3168 # incompatible object files being constructed. We can't
3169 # guarantee that an error will be flagged, but let's hope the
3170 # compiler will do it, when presented with incompatible header
3171 # files.
3172 fi
3173 fi
3174
3175 case "${target}-${is_cross_compiler}" in
3176 i[[3456789]]86-*-linux*-no)
3177 # Here host == target, so we don't need to build gcc,
3178 # so we don't want to discard standard headers.
3179 FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
3180 ;;
3181 *)
3182 # If we're building newlib, use its generic headers last, but search
3183 # for any libc-related directories first (so make it the last -B
3184 # switch).
3185 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
3186
3187 # If we're building libgloss, find the startup file, simulator library
3188 # and linker script.
3189 case " $target_configdirs " in
3190 *" libgloss "*)
3191 # Look for startup file, simulator library and maybe linker script.
3192 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
3193 # Look for libnosys.a in case the target needs it.
3194 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
3195 # Most targets have the linker script in the source directory.
3196 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
3197 ;;
3198 esac
3199 ;;
3200 esac
3201 ;;
3202 esac
3203 ;;
3204 esac
3205
3206 case "$target" in
3207 x86_64-*mingw* | *-w64-mingw*)
3208 # MinGW-w64 does not use newlib, nor does it use winsup. It may,
3209 # however, use a symlink named 'mingw' in ${prefix} .
3210 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L${prefix}/${target}/lib -L${prefix}/mingw/lib -isystem ${prefix}/${target}/include -isystem ${prefix}/mingw/include'
3211 ;;
3212 *-mingw*)
3213 # MinGW can't be handled as Cygwin above since it does not use newlib.
3214 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'
3215 ;;
3216 esac
3217
3218 # Allow the user to override the flags for
3219 # our build compiler if desired.
3220 if test x"${build}" = x"${host}" ; then
3221 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
3222 CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
3223 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
3224 fi
3225
3226 # On Canadian crosses, we'll be searching the right directories for
3227 # the previously-installed cross compiler, so don't bother to add
3228 # flags for directories within the install tree of the compiler
3229 # being built; programs in there won't even run.
3230 if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
3231 # Search for pre-installed headers if nothing else fits.
3232 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
3233 fi
3234
3235 if test "x${use_gnu_ld}" = x &&
3236 echo " ${configdirs} " | grep " ld " > /dev/null ; then
3237 # Arrange for us to find uninstalled linker scripts.
3238 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
3239 fi
3240
3241 # Search for other target-specific linker scripts and such.
3242 case "${target}" in
3243 mep*)
3244 FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
3245 ;;
3246 esac
3247
3248 # Makefile fragments.
3249 for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
3250 do
3251 eval fragval=\$$frag
3252 if test $fragval != /dev/null; then
3253 eval $frag=${srcdir}/$fragval
3254 fi
3255 done
3256 AC_SUBST_FILE(host_makefile_frag)
3257 AC_SUBST_FILE(target_makefile_frag)
3258 AC_SUBST_FILE(alphaieee_frag)
3259 AC_SUBST_FILE(ospace_frag)
3260
3261 # Miscellanea: directories, flags, etc.
3262 AC_SUBST(RPATH_ENVVAR)
3263 AC_SUBST(GCC_SHLIB_SUBDIR)
3264 AC_SUBST(tooldir)
3265 AC_SUBST(build_tooldir)
3266 AC_SUBST(CONFIGURE_GDB_TK)
3267 AC_SUBST(GDB_TK)
3268 AC_SUBST(INSTALL_GDB_TK)
3269
3270 # Build module lists & subconfigure args.
3271 AC_SUBST(build_configargs)
3272 AC_SUBST(build_configdirs)
3273
3274 # Host module lists & subconfigure args.
3275 AC_SUBST(host_configargs)
3276 AC_SUBST(configdirs)
3277 AC_SUBST(target_configdirs)
3278
3279 # Target module lists & subconfigure args.
3280 AC_SUBST(target_configargs)
3281
3282
3283 # Build tools.
3284 AC_SUBST(AR_FOR_BUILD)
3285 AC_SUBST(AS_FOR_BUILD)
3286 AC_SUBST(CC_FOR_BUILD)
3287 AC_SUBST(CFLAGS_FOR_BUILD)
3288 AC_SUBST(CXXFLAGS_FOR_BUILD)
3289 AC_SUBST(CXX_FOR_BUILD)
3290 AC_SUBST(DLLTOOL_FOR_BUILD)
3291 AC_SUBST(GCJ_FOR_BUILD)
3292 AC_SUBST(GFORTRAN_FOR_BUILD)
3293 AC_SUBST(GOC_FOR_BUILD)
3294 AC_SUBST(LDFLAGS_FOR_BUILD)
3295 AC_SUBST(LD_FOR_BUILD)
3296 AC_SUBST(NM_FOR_BUILD)
3297 AC_SUBST(RANLIB_FOR_BUILD)
3298 AC_SUBST(WINDMC_FOR_BUILD)
3299 AC_SUBST(WINDRES_FOR_BUILD)
3300
3301 # Generate default definitions for YACC, M4, LEX and other programs that run
3302 # on the build machine. These are used if the Makefile can't locate these
3303 # programs in objdir.
3304 MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
3305
3306 AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
3307 case " $build_configdirs " in
3308 *" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
3309 esac
3310
3311 AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
3312 case " $build_configdirs " in
3313 *" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
3314 esac
3315
3316 AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
3317 case " $build_configdirs " in
3318 *" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
3319 esac
3320
3321 AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
3322 case " $build_configdirs " in
3323 *" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3324 *" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
3325 esac
3326
3327 AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
3328 case " $build_configdirs " in
3329 *" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3330 esac
3331
3332 AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
3333 case " $build_configdirs " in
3334 *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
3335 *)
3336 changequote(,)
3337 # For an installed makeinfo, we require it to be from texinfo 4.7 or
3338 # higher, else we use the "missing" dummy.
3339 if ${MAKEINFO} --version \
3340 | egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
3341 :
3342 else
3343 MAKEINFO="$MISSING makeinfo"
3344 fi
3345 ;;
3346 changequote([,])
3347 esac
3348
3349 # FIXME: expect and dejagnu may become build tools?
3350
3351 AC_CHECK_PROGS(EXPECT, expect, expect)
3352 case " $configdirs " in
3353 *" expect "*)
3354 test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
3355 ;;
3356 esac
3357
3358 AC_CHECK_PROGS(RUNTEST, runtest, runtest)
3359 case " $configdirs " in
3360 *" dejagnu "*)
3361 test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest'
3362 ;;
3363 esac
3364
3365
3366 # Host tools.
3367 NCN_STRICT_CHECK_TOOLS(AR, ar)
3368 NCN_STRICT_CHECK_TOOLS(AS, as)
3369 NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
3370 NCN_STRICT_CHECK_TOOLS(LD, ld)
3371 NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
3372 NCN_STRICT_CHECK_TOOLS(NM, nm)
3373 NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, true)
3374 NCN_STRICT_CHECK_TOOLS(STRIP, strip, true)
3375 NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
3376 NCN_STRICT_CHECK_TOOLS(WINDMC, windmc)
3377 NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
3378 NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
3379 NCN_STRICT_CHECK_TOOLS(READELF, readelf)
3380 AC_SUBST(CC)
3381 AC_SUBST(CXX)
3382 AC_SUBST(CFLAGS)
3383 AC_SUBST(CXXFLAGS)
3384
3385 # Target tools.
3386 AC_ARG_WITH([build-time-tools],
3387 [AS_HELP_STRING([--with-build-time-tools=PATH],
3388 [use given path to find target tools during the build])],
3389 [case x"$withval" in
3390 x/*) ;;
3391 *)
3392 with_build_time_tools=
3393 AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path])
3394 ;;
3395 esac],
3396 [with_build_time_tools=])
3397
3398 NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
3399 NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
3400 NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
3401 NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
3402 NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
3403 NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
3404
3405 ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
3406 ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
3407 ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
3408 ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
3409 ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
3410 ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
3411 ACX_CHECK_INSTALLED_TARGET_TOOL(OBJCOPY_FOR_TARGET, objcopy)
3412 ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
3413 ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib)
3414 ACX_CHECK_INSTALLED_TARGET_TOOL(READELF_FOR_TARGET, readelf)
3415 ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
3416 ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
3417 ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
3418
3419 RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
3420
3421 GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
3422 GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
3423 GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3424 dnl see comments for CXX_FOR_TARGET_FLAG_TO_PASS
3425 GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
3426 [gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs],
3427 c++)
3428 GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
3429 [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 -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs],
3430 c++)
3431 GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
3432 GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3433 GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
3434 [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
3435 GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
3436 [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
3437 GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
3438 [gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
3439 GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
3440 GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
3441 GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
3442 GCC_TARGET_TOOL(objcopy, OBJCOPY_FOR_TARGET, OBJCOPY, [binutils/objcopy])
3443 GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
3444 GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
3445 GCC_TARGET_TOOL(readelf, READELF_FOR_TARGET, READELF, [binutils/readelf])
3446 GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip-new])
3447 GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
3448 GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc])
3449
3450 AC_SUBST(FLAGS_FOR_TARGET)
3451 AC_SUBST(RAW_CXX_FOR_TARGET)
3452
3453 # Certain tools may need extra flags.
3454 AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
3455 RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
3456 NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
3457
3458 # When building target libraries, except in a Canadian cross, we use
3459 # the same toolchain as the compiler we just built.
3460 COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
3461 COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
3462 COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
3463 if test $host = $build; then
3464 case " $configdirs " in
3465 *" gcc "*)
3466 COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
3467 COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
3468 COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
3469 ;;
3470 esac
3471 fi
3472
3473 AC_SUBST(COMPILER_AS_FOR_TARGET)
3474 AC_SUBST(COMPILER_LD_FOR_TARGET)
3475 AC_SUBST(COMPILER_NM_FOR_TARGET)
3476
3477 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
3478 AC_ARG_ENABLE(maintainer-mode,
3479 [AS_HELP_STRING([--enable-maintainer-mode],
3480 [enable make rules and dependencies not useful
3481 (and sometimes confusing) to the casual installer])],
3482 USE_MAINTAINER_MODE=$enableval,
3483 USE_MAINTAINER_MODE=no)
3484 AC_MSG_RESULT($USE_MAINTAINER_MODE)
3485 AC_SUBST(MAINTAINER_MODE_TRUE)
3486 AC_SUBST(MAINTAINER_MODE_FALSE)
3487 if test "$USE_MAINTAINER_MODE" = yes; then
3488 MAINTAINER_MODE_TRUE=
3489 MAINTAINER_MODE_FALSE='#'
3490 else
3491 MAINTAINER_MODE_TRUE='#'
3492 MAINTAINER_MODE_FALSE=
3493 fi
3494 MAINT=$MAINTAINER_MODE_TRUE
3495 AC_SUBST(MAINT)dnl
3496
3497 # ---------------------
3498 # GCC bootstrap support
3499 # ---------------------
3500
3501 # Stage specific cflags for build.
3502 stage1_cflags="-g"
3503 case $build in
3504 vax-*-*)
3505 case ${GCC} in
3506 yes) stage1_cflags="-g -Wa,-J" ;;
3507 *) stage1_cflags="-g -J" ;;
3508 esac ;;
3509 esac
3510
3511 AC_SUBST(stage1_cflags)
3512
3513 # Enable --enable-checking in stage1 of the compiler.
3514 AC_ARG_ENABLE(stage1-checking,
3515 [AS_HELP_STRING([[--enable-stage1-checking[=all]]],
3516 [choose additional checking for stage1 of the compiler])],
3517 [stage1_checking=--enable-checking=${enable_stage1_checking}],
3518 [if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
3519 # For --disable-checking or implicit --enable-checking=release, avoid
3520 # setting --enable-checking=gc in the default stage1 checking for LTO
3521 # bootstraps. See PR62077.
3522 case $BUILD_CONFIG in
3523 *lto*)
3524 stage1_checking=--enable-checking=release,misc,gimple,rtlflag,tree,types;;
3525 *)
3526 stage1_checking=--enable-checking=yes,types;;
3527 esac
3528 if test "x$enable_checking" = x && \
3529 test -d ${srcdir}/gcc && \
3530 test x"`cat ${srcdir}/gcc/DEV-PHASE`" = xexperimental; then
3531 stage1_checking=--enable-checking=yes,types,extra
3532 fi
3533 else
3534 stage1_checking=--enable-checking=$enable_checking,types
3535 fi])
3536 AC_SUBST(stage1_checking)
3537
3538 # Enable -Werror in bootstrap stage2 and later.
3539 AC_ARG_ENABLE(werror,
3540 [AS_HELP_STRING([--enable-werror],
3541 [enable -Werror in bootstrap stage2 and later])], [],
3542 [if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
3543 enable_werror=yes
3544 else
3545 enable_werror=no
3546 fi])
3547 case ${enable_werror} in
3548 yes) stage2_werror_flag="--enable-werror-always" ;;
3549 *) stage2_werror_flag="" ;;
3550 esac
3551 AC_SUBST(stage2_werror_flag)
3552
3553 # Enable --enable-host-shared.
3554 AC_ARG_ENABLE(host-shared,
3555 [AS_HELP_STRING([--enable-host-shared],
3556 [build host code as shared libraries])],
3557 [host_shared=$enableval], [host_shared=no])
3558 AC_SUBST(host_shared)
3559
3560 # PR jit/64780: Require the user to explicitly specify
3561 # --enable-host-shared if the jit is enabled, hinting
3562 # that they might want to do a separate configure/build of
3563 # the jit, to avoid users from slowing down the rest of the
3564 # compiler by enabling the jit.
3565 if test ${host_shared} = "no" ; then
3566 case "${enable_languages}" in
3567 *jit*)
3568 AC_MSG_ERROR([
3569 Enabling language "jit" requires --enable-host-shared.
3570
3571 --enable-host-shared typically slows the rest of the compiler down by
3572 a few %, so you must explicitly enable it.
3573
3574 If you want to build both the jit and the regular compiler, it is often
3575 best to do this via two separate configure/builds, in separate
3576 directories, to avoid imposing the performance cost of
3577 --enable-host-shared on the regular compiler.])
3578 ;;
3579 *)
3580 ;;
3581 esac
3582 fi
3583
3584 # Specify what files to not compare during bootstrap.
3585
3586 compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
3587 case "$target" in
3588 hppa*64*-*-hpux*) ;;
3589 hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
3590 powerpc*-ibm-aix*) compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/* | *libgomp*\$(objext)" ;;
3591 esac
3592 AC_SUBST(compare_exclusions)
3593
3594 AC_CONFIG_FILES([Makefile],
3595 [sed "$extrasub_build" Makefile |
3596 sed "$extrasub_host" |
3597 sed "$extrasub_target" > mf$$
3598 mv -f mf$$ Makefile],
3599 [extrasub_build="$extrasub_build"
3600 extrasub_host="$extrasub_host"
3601 extrasub_target="$extrasub_target"])
3602 AC_OUTPUT