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