Ignore:
Timestamp:
Aug 16, 2003, 6:41:03 PM (22 years ago)
Author:
bird
Message:

binutils v2.14 - offical sources.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/binutils/configure.in

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r604 r605  
    1 #! /bin/bash
    2 ##############################################################################
    3 
    4 ## This file is a shell script fragment that supplies the information
    5 ## necessary to tailor a template configure script into the configure
    6 ## script appropriate for this directory.  For more information, check
    7 ## any existing configure script. 
    8 
    9 ## Be warned, there are two types of configure.in files.  There are those
    10 ## used by Autoconf, which are macros which are expanded into a configure
    11 ## script by autoconf.  The other sort, of which this is one, is executed
    12 ## by Cygnus configure. 
    13 
    14 ## For more information on these two systems, check out the documentation
    15 ## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi). 
    16 
    17 #   Copyright (C) 1992-99, 2000 Free Software Foundation, Inc.
     1#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
     2#   1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
    183#
    194# This file is free software; you can redistribute it and/or modify it
     
    3217
    3318##############################################################################
     19### WARNING: this file contains embedded tabs.  Do not run untabify on this file.
     20
     21AC_INIT(move-if-change)
     22AC_PREREQ(2.13)
     23AC_CANONICAL_SYSTEM
     24AC_ARG_PROGRAM
     25
     26sinclude(config/acx.m4)
     27
     28### we might need to use some other shell than /bin/sh for running subshells
     29### If we are on Windows, search for the shell.  This will permit people
     30### to not have /bin/sh, but to be able to see /SOME/PATH/sh configure
     31### without also having to set CONFIG_SHELL.  This code will work when
     32### using bash, which sets OSTYPE.
     33case "${OSTYPE}" in
     34*win32*)
     35  if test x${CONFIG_SHELL} = x ; then
     36    if test ! -f /bin/sh ; then
     37      if test x${SHELL} != x && test -f ${SHELL} ; then
     38        CONFIG_SHELL=${SHELL}
     39        export CONFIG_SHELL
     40      else
     41        for prog in sh sh.exe bash bash.exe; do
     42          IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
     43          for dir in $PATH; do
     44            test -z "$dir" && dir=.
     45            if test -f $dir/$prog; then
     46              CONFIG_SHELL=$dir/$prog
     47              export CONFIG_SHELL
     48              break
     49            fi
     50          done
     51          IFS="$save_ifs"
     52          test -n "${CONFIG_SHELL}" && break
     53        done
     54      fi
     55    fi
     56  fi
     57  ;;
     58esac
     59
     60config_shell=${CONFIG_SHELL-/bin/sh}
     61
     62progname=$0
     63# if PWD already has a value, it is probably wrong.
     64if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
     65
     66# Export original configure arguments for use by sub-configures.
     67TOPLEVEL_CONFIGURE_ARGUMENTS="$progname $@"
     68AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
     69
     70moveifchange=${srcdir}/move-if-change
     71
     72# Set srcdir to "." if that's what it is.
     73# This is important for multilib support.
     74pwd=`${PWDCMD-pwd}`
     75srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
     76if test "${pwd}" = "${srcpwd}" ; then
     77  srcdir=.
     78fi
     79
     80topsrcdir=$srcpwd
     81
     82extra_host_args=
     83# Define the trigger file to make sure configure will re-run whenever
     84# the gcc version number changes.
     85if test "${with_gcc_version_trigger+set}" = set ; then
     86  gcc_version_trigger="$with_gcc_version_trigger"
     87  gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
     88else
     89  # If gcc's sources are available, define the trigger file.
     90  if test -f ${topsrcdir}/gcc/version.c ; then
     91    gcc_version_trigger=${topsrcdir}/gcc/version.c
     92    gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
     93    case "$ac_configure_args" in
     94      *--with-gcc-version-trigger=$gcc_version_trigger* )
     95        ;;
     96      * )
     97        # Add to all subconfigure arguments: build, host, and target.
     98        ac_configure_args="$ac_configure_args --with-gcc-version-trigger=$gcc_version_trigger"
     99        ;;
     100    esac
     101  fi
     102fi
    34103
    35104### To add a new directory to the tree, first choose whether it is a target
    36105### or a host dependent tool.  Then put it into the appropriate list
    37 ### (library or tools, host or target), doing a dependency sort.  For
    38 ### example, gdb requires that byacc (or bison) be built first, so it is in
    39 ### the ${host_tools} list after byacc and bison. 
    40 
     106### (library or tools, host or target), doing a dependency sort.
     107
     108# Subdirs will be configured in the order listed in build_configdirs,
     109# configdirs, or target_configdirs; see the serialization section below.
     110
     111# Dependency sorting is only needed when *configuration* must be done in
     112# a particular order.  In all cases a dependency should be specified in
     113# the Makefile, whether or not it's implicitly specified here.
     114
     115# Double entries in build_configdirs, configdirs, or target_configdirs may
     116# cause circular dependencies and break everything horribly.
    41117
    42118# these libraries are used by various programs built for the host environment
    43119#
    44 host_libs="intl mmalloc libiberty opcodes bfd readline gash db tcl tk tcl8.1 tk8.1 tclX itcl tix libgui"
    45 
    46 if [ "${enable_gdbgui}" = "yes" ] ; then
    47         host_libs="${host_libs} libgui"
    48 fi
    49 
    50 # Set up configure/Makefile variables if libstdc++-v3 is to be built.
    51 if [ "${enable_libstdcxx_v3}" = "yes" ] && test -d $srcdir/libstdc++-v3; then
    52         libstdcxx_version="target-libstdc++-v3"
    53         # Don't use libstdc++-v3's flags to configure/build itself.
    54         libstdcxx_flags='`case $$dir in libstdc++-v3) ;; *) cat $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/libstdc++.INC 2>/dev/null || : ;; esac` -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src/.libs'
    55 else
    56         libstdcxx_version="target-libio target-libstdc++"
    57         libstdcxx_flags='-isystem $$s/libstdc++ -isystem $$s/libstdc++/std -isystem $$s/libstdc++/stl -isystem $$s/libio/ -isystem $$s/libio/stdio -L$$r/$(TARGET_SUBDIR)/libstdc++'
    58 fi
     120host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl tix libgui zlib"
    59121
    60122# these tools are built for the host environment
    61123# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
    62124# know that we are building the simulator.
    63 host_tools="byacc flex bison binutils ld gas gcc cgen sid sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip"
     125# binutils, gas and ld appear in that order because it makes sense to run
     126# "make check" in that particular order.
     127host_tools="byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
     128
     129# libgcj represents the runtime libraries only used by gcj.
     130libgcj="target-libffi \
     131        target-boehm-gc \
     132        target-zlib \
     133        target-qthreads \
     134        target-libjava"
    64135
    65136# these libraries are built for the target environment, and are built after
     
    69140                target-libgloss \
    70141                target-newlib \
    71                 ${libstdcxx_version} \
     142                target-libstdc++-v3 \
    72143                target-libf2c \
    73                 target-libchill \
    74                 target-libffi \
    75                 target-libjava \
    76                 target-zlib \
    77                 target-boehm-gc \
    78                 target-qthreads \
     144                ${libgcj} \
    79145                target-libobjc"
    80146
     
    86152# candidates for the "native_only" list which follows
    87153#
    88 target_tools="target-examples target-groff target-gperf"
     154target_tools="target-examples target-groff target-gperf target-rda"
    89155
    90156################################################################################
    91 
    92 ## These two lists are of directories that are to be removed from the
    93 ## ${configdirs} list for either cross-compilations or for native-
    94 ## compilations.  For example, it doesn't make that much sense to
    95 ## cross-compile Emacs, nor is it terribly useful to compile target-libiberty in
    96 ## a native environment. 
    97 
    98 # directories to be built in the native environment only
    99 #
    100 # This must be a single line because of the way it is searched by grep in
    101 # the code below.
    102 native_only="autoconf automake libtool cvssrc emacs emacs19 fileutils find gawk gettext grep gzip hello indent ispell m4 rcs recode sed shellutils tar textutils gash uudecode wdiff gprof target-groff guile perl apache inet time ash bash bzip2 prms snavigator gnuserv target-gperf"
    103 
    104 # directories to be built in a cross environment only
    105 #
    106 cross_only="target-libgloss target-newlib target-cygmon target-opcodes target-libstub"
    107157
    108158## All tools belong in one of the four categories, and are assigned above
     
    117167################################################################################
    118168
    119 srctrigger=move-if-change
    120169srcname="gnu development package"
    121170
     
    123172appdirs=""
    124173
    125 # per-host:
    126 
    127 # Work in distributions that contain no compiler tools, like Autoconf.
    128 if [ -d ${srcdir}/config ]; then
    129 case "${host}" in
    130   m68k-hp-hpux*)
    131     host_makefile_frag="${host_makefile_frag} config/mh-hp300"
    132     ;;
    133   m68k-apollo-sysv*)
    134     host_makefile_frag="${host_makefile_frag} config/mh-apollo68"
    135     ;;
    136   m68k-apollo-bsd*)
    137     host_makefile_frag="${host_makefile_frag} config/mh-a68bsd"
    138     ;;
    139   m88k-dg-dgux*)
    140     host_makefile_frag="${host_makefile_frag} config/mh-dgux"
    141     ;;
    142   m88k-harris-cxux*)
    143     host_makefile_frag="${host_makefile_frag} config/mh-cxux"
    144     ;;
    145   m88k-motorola-sysv*)
    146     host_makefile_frag="${host_makefile_frag} config/mh-delta88"
    147     ;;
    148   mips*-dec-ultrix*)
    149     host_makefile_frag="${host_makefile_frag} config/mh-decstation"
    150     ;;
    151   mips*-nec-sysv4*)
    152     host_makefile_frag="${host_makefile_frag} config/mh-necv4"
    153     ;;
    154   mips*-sgi-irix6*)
    155     host_makefile_frag="${host_makefile_frag} config/mh-irix6"
    156     ;;
    157   mips*-sgi-irix5*)
    158     host_makefile_frag="${host_makefile_frag} config/mh-irix5"
    159     ;;
    160   mips*-sgi-irix4*)
    161     host_makefile_frag="${host_makefile_frag} config/mh-irix4"
    162     ;;
    163   mips*-sgi-irix3*)
    164     host_makefile_frag="${host_makefile_frag} config/mh-sysv"
    165     ;;
    166   mips*-*-sysv4*)
    167     host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
    168     ;;
    169   mips*-*-sysv*)
    170     host_makefile_frag="${host_makefile_frag} config/mh-riscos"
    171     ;;
    172   i370-ibm-opened*)
    173     host_makefile_frag="${host_makefile_frag} config/mh-openedition"
    174     ;;
    175   i[3456]86-*-sysv5*)
    176     host_makefile_frag="${host_makefile_frag} config/mh-sysv5"
    177     ;;
    178   i[3456]86-*-dgux*)
    179     host_makefile_frag="${host_makefile_frag} config/mh-dgux386"
    180     ;;
    181   i[3456]86-ncr-sysv4.3*)
    182     host_makefile_frag="${host_makefile_frag} config/mh-ncrsvr43"
    183     ;;
    184   i[3456]86-ncr-sysv4*)
    185     host_makefile_frag="${host_makefile_frag} config/mh-ncr3000"
    186     ;;
    187   i[3456]86-*-sco3.2v5*)
    188     host_makefile_frag="${host_makefile_frag} config/mh-sysv"
    189     ;;
    190   i[3456]86-*-sco*)
    191     host_makefile_frag="${host_makefile_frag} config/mh-sco"
    192     ;;
    193   i[3456]86-*-udk*)
    194     host_makefile_frag="${host_makefile_frag} config/mh-sysv5"
    195     ;;
    196   i[3456]86-*-isc*)
    197     host_makefile_frag="${host_makefile_frag} config/mh-sysv"
    198     ;;
    199   i[3456]86-*-solaris2*)
    200     host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
    201     ;;
    202   i[3456]86-*-aix*)
    203     host_makefile_frag="${host_makefile_frag} config/mh-aix386"
    204     ;;
    205   i[3456]86-*-msdosdjgpp*)
    206     host_makefile_frag="${host_makefile_frag} config/mh-djgpp"
    207     ;;
    208   *-cygwin*)
    209     host_makefile_frag="${host_makefile_frag} config/mh-cygwin"
    210     ;;
    211   *-mingw32*)
    212     host_makefile_frag="${host_makefile_frag} config/mh-mingw32"
    213     ;;
    214   *-interix*)
    215     host_makefile_frag="${host_makefile_frag} config/mh-interix"
    216     ;;
    217   *-windows*)
    218     host_makefile_frag="${host_makefile_frag} config/mh-windows"
    219     ;;
    220   vax-*-ultrix2*)
    221     host_makefile_frag="${host_makefile_frag} config/mh-vaxult2"
    222     ;;
    223   *-*-solaris2*)
    224     host_makefile_frag="${host_makefile_frag} config/mh-solaris"
    225     ;;
    226   m68k-sun-sunos*)
    227     host_makefile_frag="${host_makefile_frag} config/mh-sun3"
    228     ;;
    229   *-hp-hpux[78]*)
    230     host_makefile_frag="${host_makefile_frag} config/mh-hpux8"
    231     ;;
    232   *-hp-hpux*)
    233     host_makefile_frag="${host_makefile_frag} config/mh-hpux"
    234     ;;
    235   *-*-hiux*)
    236     host_makefile_frag="${host_makefile_frag} config/mh-hpux"
    237     ;;
    238   rs6000-*-lynxos*)
    239     host_makefile_frag="${host_makefile_frag} config/mh-lynxrs6k"
    240     ;;
    241   *-*-lynxos*)
    242     host_makefile_frag="${host_makefile_frag} config/mh-lynxos"
    243     ;;
    244   *-*-sysv4*)
    245     host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
    246     ;;
    247   *-*-sysv*)
    248     host_makefile_frag="${host_makefile_frag} config/mh-sysv"
    249     ;;
    250 esac
    251 fi
    252 
    253 # If we aren't going to be using gcc, see if we can extract a definition
    254 # of CC from the fragment.
    255 if [ -z "${CC}" ] && [ "${build}" = "${host}" ]; then
    256   IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
    257   found=
    258   for dir in $PATH; do
    259     test -z "$dir" && dir=.
    260     if test -f $dir/gcc; then
    261       found=yes
    262       break
    263     fi
    264   done
    265   IFS="$save_ifs"
    266   if [ -z "${found}" ] && [ -n "${host_makefile_frag}" ] && [ -f "${srcdir}/${host_makefile_frag}" ]; then
    267     xx=`sed -n -e 's/^[         ]*CC[   ]*=[    ]*\(.*\)$/\1/p' < ${srcdir}/${host_makefile_frag}`
    268     if [ -n "${xx}" ] ; then
    269       CC=$xx
    270     fi
    271   fi
    272 fi
    273 
    274 # We default to --with-shared on platforms where -fpic is meaningless.
    275 # Well, we don't yet, but we will.
    276 if false && [ "${host}" = "${target}" ] && [ x${enable_shared} = x ]; then
    277   case "${target}" in
    278     alpha*-dec-osf*)    enable_shared=yes ;;
    279     alpha*-*-linux*)    enable_shared=yes ;;
    280     mips-sgi-irix5*)    enable_shared=yes ;;
    281     *)                  enable_shared=no ;;
    282   esac
    283 fi
    284 
    285 case "${enable_shared}" in
    286   yes) shared=yes ;;
    287   no) shared=no ;;
    288   "") shared=no ;;
    289   *) shared=yes ;;
    290 esac
    291 
    292 if [ x${shared} = xyes ]; then
    293   case "${host}" in
    294     alpha*-*-linux*)
    295       host_makefile_frag="${host_makefile_frag} config/mh-elfalphapic"
    296       ;;
    297     arm*-*-*)
    298       host_makefile_frag="${host_makefile_frag} config/mh-armpic"
    299       ;;
    300     hppa*-*-*)
    301       host_makefile_frag="${host_makefile_frag} config/mh-papic"
    302       ;;
    303     i[3456]86-*-cygwin*)
    304       # We don't want -fPIC on Cygwin.
    305       ;;
    306     i[3456]86-*-*)
    307       host_makefile_frag="${host_makefile_frag} config/mh-x86pic"
    308       ;;
    309     i370-*-*)
    310       host_makefile_frag="${host_makefile_frag} config/mh-i370pic"
    311       ;;
    312     ia64-*-*)
    313       host_makefile_frag="${host_makefile_frag} config/mh-ia64pic"
    314       ;;
    315     sparc64-*-*)
    316       host_makefile_frag="${host_makefile_frag} config/mh-sparcpic"
    317       ;;
    318     powerpc*-*-aix*)
    319       # We don't want -fPIC on AIX.
    320       ;;
    321     powerpc*-*-*)
    322       host_makefile_frag="${host_makefile_frag} config/mh-ppcpic"
    323       ;;
    324     *-*-*)
    325       if test -f ${srcdir}/config/mh-${host_cpu}pic; then
    326         host_makefile_frag="${host_makefile_frag} config/mh-${host_cpu}pic"
    327       fi
    328       ;;
    329   esac
    330 fi
    331 
    332 rm -f mh-frag
    333 if [ -n "${host_makefile_frag}" ] ; then
    334   for f in ${host_makefile_frag}
    335   do
    336     cat ${srcdir}/$f >> mh-frag
    337   done
    338   host_makefile_frag=mh-frag
    339 fi
    340 
    341 # per-target:
    342 
    343 case "${target}" in
    344   v810*)
    345     target_makefile_frag="${target_makefile_frag} config/mt-v810"
    346     ;;
    347   i[3456]86-*-netware*)
    348     target_makefile_frag="${target_makefile_frag} config/mt-netware"
    349     ;;
    350   powerpc-*-netware*)
    351     target_makefile_frag="${target_makefile_frag} config/mt-netware"
    352     ;;
    353   *-*-linux-gnu*)
    354     target_makefile_frag="${target_makefile_frag} config/mt-linux"
    355     ;;
    356   *-*-aix4.[3456789]* | *-*-aix[56789].*)
    357     target_makefile_frag="${target_makefile_frag} config/mt-aix43"
    358     ;;
    359   mips*-*-pe | sh*-*-pe | *arm-wince-pe)
    360     target_makefile_frag="${target_makefile_frag} config/mt-wince"
    361     ;;
    362 esac
    363 
    364 # If --enable-target-optspace always use -Os instead of -O2 to build
    365 # the target libraries, similarly if it is not specified, use -Os
    366 # on selected platforms.
    367 case "${enable_target_optspace}:${target}" in
    368   yes:*)
    369     target_makefile_frag="${target_makefile_frag} config/mt-ospace"
    370     ;;
    371   :d30v-*)
    372     target_makefile_frag="${target_makefile_frag} config/mt-d30v"
    373     ;;
    374   :m32r-* | :d10v-* | :fr30-*)
    375     target_makefile_frag="${target_makefile_frag} config/mt-ospace"
    376     ;;
    377   no:* | :*)
    378     ;;
    379   *)
    380     echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
    381     ;;
    382 esac
    383 
    384 skipdirs=
    385 gasdir=gas
    386 use_gnu_ld=
    387 use_gnu_as=
    388 
    389 # some tools are so dependent upon X11 that if we're not building with X,
    390 # it's not even worth trying to configure, much less build, that tool.
    391 
    392 case ${with_x} in
    393   yes | "")  # the default value for this tree is that X11 is available
    394         ;;
    395   no)
    396         skipdirs="${skipdirs} tk libgui gash"
    397         ;;
    398   *)
    399         echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2
    400         ;;
    401 esac
    402 
    403 # Some tools are only suitable for building in a "native" situation.
    404 # Those are added when we have a host==target configuration.  For cross
    405 # toolchains, we add some directories that should only be useful in a
    406 # cross-compiler.
    407 
     174# Define is_cross_compiler to save on calls to 'test'.
    408175is_cross_compiler=
    409 
    410 if [ x"${host}" = x"${target}" ] ; then
    411         # when doing a native toolchain, don't build the targets
    412         # that are in the 'cross only' list
    413         skipdirs="${skipdirs} ${cross_only}"
    414         is_cross_compiler=no
     176if test x"${host}" = x"${target}" ; then
     177  is_cross_compiler=no
    415178else
    416         # similarly, don't build the targets in the 'native only'
    417         # list when building a cross compiler
    418         skipdirs="${skipdirs} ${native_only}"
    419         is_cross_compiler=yes
     179  is_cross_compiler=yes
    420180fi     
    421181
     
    424184target_subdir=${target_alias}
    425185
    426 if [ ! -d ${target_subdir} ] ; then
     186if test ! -d ${target_subdir} ; then
    427187  if mkdir ${target_subdir} ; then true
    428188  else
    429     echo "'*** could not make ${PWD=`pwd`}/${target_subdir}" 1>&2
     189    echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${target_subdir}" 1>&2
    430190    exit 1
    431191  fi
    432192fi
    433193
    434 copy_dirs=
    435 
    436 # Handle --with-headers=XXX.  The contents of the named directory are
    437 # copied to $(tooldir)/sys-include.
    438 if [ x"${with_headers}" != x ]; then
    439   if [ x${is_cross_compiler} = xno ]; then
    440     echo 1>&2 '***' --with-headers is only supported when cross compiling
    441     exit 1
    442   fi
    443   case "${exec_prefixoption}" in
    444   "") x=${prefix} ;;
    445   *) x=${exec_prefix} ;;
    446   esac
    447   copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
    448 fi
    449 
    450 # Handle --with-libs=XXX.  Multiple directories are permitted.  The
    451 # contents are copied to $(tooldir)/lib.
    452 if [ x"${with_libs}" != x ]; then
    453   if [ x${is_cross_compiler} = xno ]; then
    454     echo 1>&2 '***' --with-libs is only supported when cross compiling
    455     exit 1
    456   fi
    457   # Copy the libraries in reverse order, so that files in the first named
    458   # library override files in subsequent libraries.
    459   case "${exec_prefixoption}" in
    460   "") x=${prefix} ;;
    461   *) x=${exec_prefix} ;;
    462   esac
    463   for l in ${with_libs}; do
    464     copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
    465   done
    466 fi
     194build_prefix=build-
     195build_subdir=${build_prefix}${build_alias}
     196
     197if test x"${build_alias}" != x"${host}" ; then
     198  if test ! -d ${build_subdir} ; then
     199    if mkdir ${build_subdir} ; then true
     200    else
     201      echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${build_subdir}" 1>&2
     202      exit 1
     203    fi
     204  fi
     205fi
     206
     207# Skipdirs are removed silently.
     208skipdirs=
     209# Noconfigdirs are removed loudly.
     210noconfigdirs=""
     211
     212use_gnu_ld=
     213# Make sure we don't let GNU ld be added if we didn't want it.
     214if test x$with_gnu_ld = xno ; then
     215  use_gnu_ld=no
     216  noconfigdirs="$noconfigdirs ld"
     217fi
     218
     219use_gnu_as=
     220# Make sure we don't let GNU as be added if we didn't want it.
     221if test x$with_gnu_as = xno ; then
     222  use_gnu_as=no
     223  noconfigdirs="$noconfigdirs gas"
     224fi
     225
     226# some tools are so dependent upon X11 that if we're not building with X,
     227# it's not even worth trying to configure, much less build, that tool.
     228
     229case ${with_x} in
     230  yes | "") ;; # the default value for this tree is that X11 is available
     231  no)
     232    skipdirs="${skipdirs} tk tix itcl libgui"
     233    # We won't be able to build gdbtk without X.
     234    enable_gdbtk=no
     235    ;;
     236  *)  echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
     237esac
     238
     239# Some tools are only suitable for building in a "native" situation.
     240# Remove these if host!=target. 
     241native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf"
     242
     243# Similarly, some are only suitable for cross toolchains.
     244# Remove these if host=target.
     245cross_only="target-libgloss target-newlib target-opcodes"
     246
     247case $is_cross_compiler in
     248  no) skipdirs="${skipdirs} ${cross_only}" ;;
     249  yes) skipdirs="${skipdirs} ${native_only}" ;;
     250esac
    467251
    468252# If both --with-headers and --with-libs are specified, default to
    469253# --without-newlib.
    470 if [ x"${with_headers}" != x ] && [ x"${with_libs}" != x ]; then
    471   if [ x"${with_newlib}" = x ]; then
     254if test x"${with_headers}" != x && test x"${with_libs}" != x ; then
     255  if test x"${with_newlib}" = x ; then
    472256    with_newlib=no
    473257  fi
     
    475259
    476260# Recognize --with-newlib/--without-newlib.
    477 if [ x${with_newlib} = xno ]; then
    478   skipdirs="${skipdirs} target-newlib"
    479 elif [ x${with_newlib} = xyes ]; then
    480   skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
    481 fi
    482 
    483 # Default to using --with-stabs for certain targets.
    484 if [ x${with_stabs} = x ]; then
    485   case "${target}" in
    486   mips*-*-irix6*)
    487     ;;
    488   mips*-*-* | alpha*-*-osf*)
    489     with_stabs=yes;
    490     withoptions="${withoptions} --with-stabs"
    491     ;;
    492   esac
    493 fi
    494 
    495 # Handle ${copy_dirs}
    496 set fnord ${copy_dirs}
    497 shift
    498 while [ $# != 0 ]; do
    499   if [ -f $2/COPIED ] && [ x"`cat $2/COPIED`" = x"$1" ]; then
    500     :
    501   else
    502     echo Copying $1 to $2
    503 
    504     # Use the install script to create the directory and all required
    505     # parent directories.
    506     if [ -d $2 ]; then
    507       :
    508     else
    509       echo >config.temp
    510       ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
    511     fi
    512 
    513     # Copy the directory, assuming we have tar.
    514     # FIXME: Should we use B in the second tar?  Not all systems support it.
    515     (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
    516 
    517     # It is the responsibility of the user to correctly adjust all
    518     # symlinks.  If somebody can figure out how to handle them correctly
    519     # here, feel free to add the code.
    520 
    521     echo $1 > $2/COPIED
    522   fi
    523   shift; shift
    524 done
     261case ${with_newlib} in
     262  no) skipdirs="${skipdirs} target-newlib" ;;
     263  yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
     264esac
    525265
    526266# Configure extra directories which are host specific
    527267
    528268case "${host}" in
    529         i[3456]86-*-go32*)
    530           configdirs="$configdirs dosrel" ;;
    531         i[3456]86-*-mingw32*)
    532           configdirs="$configdirs dosrel" ;;
    533         *-cygwin*)
    534           configdirs="$configdirs libtermcap dosrel" ;;
     269  *-cygwin*)
     270    configdirs="$configdirs libtermcap" ;;
    535271esac
    536272
     
    539275# exist yet.
    540276
    541 noconfigdirs=""
    542 
    543277case "${host}" in
    544   i[3456]86-*-vsta)
    545     noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext"
    546     ;;
    547   i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
    548     noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext libffi"
    549         ;;
    550   i[3456]86-*-mingw32*)
    551     # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv"
    552      noconfigdirs="expect dejagnu cvs autoconf automake send-pr rcs guile perl texinfo apache inet libtool"
    553         ;;
    554   i[3456]86-*-beos*)
    555      noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
    556      ;;
     278  hppa*64*-*-*)
     279    noconfigdirs="$noconfigdirs byacc"
     280    ;;
     281  i[[3456]]86-*-vsta)
     282    noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext"
     283    ;;
     284  i[[3456]]86-*-go32* | i[[3456]]86-*-msdosdjgpp*)
     285    noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi"
     286    ;;
     287  i[[3456]]86-*-mingw32*)
     288    # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv"
     289    noconfigdirs="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
     290    ;;
     291  i[[3456]]86-*-beos*)
     292    noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
     293    ;;
    557294  *-*-cygwin*)
    558      noconfigdirs="autoconf automake send-pr rcs guile perl texinfo apache inet"
     295    noconfigdirs="autoconf automake send-pr rcs guile perl"
    559296    ;;
    560297  *-*-netbsd*)
     
    562299    ;;
    563300  ppc*-*-pe)
    564      noconfigdirs="patch diff make tk tcl expect dejagnu cvssrc autoconf automake texinfo bison send-pr gprof rcs guile perl apache inet itcl tix db snavigator gnuserv"
     301    noconfigdirs="patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv"
    565302    ;;
    566303  powerpc-*-beos*)
    567304    noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
    568305    ;;
    569 esac
    570 
     306  *-*-darwin*)
     307    noconfigdirs="$noconfigdirs tk itcl tix libgui"
     308    ;;
     309esac
     310
     311# Save it here so that, even in case of --enable-libgcj, if the Java
     312# front-end isn't enabled, we still get libgcj disabled.
     313libgcj_saved=$libgcj
     314case $enable_libgcj in
     315yes)
     316  # If we reset it here, it won't get added to noconfigdirs in the
     317  # target-specific build rules, so it will be forcibly enabled
     318  # (unless the Java language itself isn't enabled).
     319  libgcj=
     320  ;;
     321no)
     322  # Make sure we get it printed in the list of not supported target libs.
     323  noconfigdirs="$noconfigdirs ${libgcj}"
     324  ;;
     325esac
    571326
    572327case "${target}" in
     328  *-*-chorusos)
     329    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     330    ;;
     331  *-*-darwin*)
     332    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
     333    noconfigdirs="$noconfigdirs target-libobjc ${libgcj}"
     334    ;;
     335  *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
     336    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     337    ;;
     338  *-*-kaos*)
     339    # Remove unsupported stuff on all kaOS configurations.
     340    skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-libf2c target-librx"
     341    skipdirs="$skipdirs target-libobjc target-examples target-groff target-gperf"
     342    skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
     343    noconfigdirs="$noconfigdirs target-libgloss"
     344    ;;
     345  *-*-netbsd*)
     346    # Skip some stuff on all NetBSD configurations.
     347    noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
     348
     349    # Skip some stuff that's unsupported on some NetBSD configurations.
     350    case "${target}" in
     351      i*86-*-netbsdelf*) ;;
     352      arm*-*-netbsdelf*) ;;
     353      *)
     354        noconfigdirs="$noconfigdirs ${libgcj}"
     355        ;;
     356    esac
     357    ;;
    573358  *-*-netware)
    574     noconfigdirs="$noconfigdirs ${libstdcxx_version} target-newlib target-libiberty target-libgloss target-libffi"
     359    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-newlib target-libiberty target-libgloss ${libgcj}"
    575360    ;;
    576361  *-*-rtems*)
    577     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     362    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     363    case ${target} in
     364        h8300*-*-* | h8500-*-*)
     365          noconfigdirs="$noconfigdirs target-libf2c"
     366          ;;
     367        *) ;;
     368    esac
    578369    ;;
    579370  *-*-vxworks*)
    580     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
     371    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
    581372    ;;
    582373  alpha*-dec-osf*)
    583     # ld works, but does not support shared libraries.  emacs doesn't
    584     # work.  newlib is not 64 bit ready.  I'm not sure about fileutils.
     374    # ld works, but does not support shared libraries.
     375    # newlib is not 64 bit ready.  I'm not sure about fileutils.
    585376    # gas doesn't generate exception information.
    586     noconfigdirs="$noconfigdirs gas ld emacs fileutils target-newlib target-libgloss"
     377    noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
    587378    ;;
    588379  alpha*-*-*vms*)
    589     noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss target-libffi"
     380    noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
     381    ;;
     382  alpha*-*-linux*)
     383    # newlib is not 64 bit ready
     384    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     385    ;;
     386  alpha*-*-freebsd*)
     387    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
    590388    ;;
    591389  alpha*-*-*)
    592390    # newlib is not 64 bit ready
    593     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
    594     ;;
     391    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     392    ;;
     393  sh-*-linux*)
     394    noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
     395    ;;   
    595396  sh*-*-pe|mips*-*-pe|*arm-wince-pe)
    596     noconfigdirs="$noconfigdirs target-libjava target-libffi target-zlib"
    597     noconfigdirs="$noconfigdirs target-boehm-gc target-qthreads target-examples"
     397    noconfigdirs="$noconfigdirs ${libgcj}"
     398    noconfigdirs="$noconfigdirs target-examples"
    598399    noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
    599400    noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
    600401    noconfigdirs="$noconfigdirs expect dejagnu"
    601402    # the C++ libraries don't build on top of CE's C libraries
    602     noconfigdirs="$noconfigdirs ${libstdcxx_version}"
    603     skipdirs="$skipdirs target-newlib"
     403    noconfigdirs="$noconfigdirs target-libstdc++-v3"
     404    noconfigdirs="$noconfigdirs target-newlib"
    604405    case "${host}" in
    605406      *-*-cygwin*) ;; # keep gdb and readline
    606       *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}"
     407      *) noconfigdirs="$noconfigdirs gdb readline"
    607408         ;;
    608409    esac
    609410    ;;
    610411  arc-*-*)
    611     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     412    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     413    ;;
     414  arm-*-coff | strongarm-*-coff | xscale-*-coff)
     415    noconfigdirs="$noconfigdirs ${libgcj}"
     416    ;;
     417  arm-*-elf* | strongarm-*-elf* | xscale-*-elf*)
     418    noconfigdirs="$noconfigdirs target-libffi target-qthreads"
    612419    ;;
    613420  arm-*-pe*)
     421    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     422    ;;
     423  arm-*-oabi*)
     424    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     425    ;;
     426  thumb-*-coff)
     427    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     428    ;;
     429  thumb-*-elf)
     430    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     431    ;;
     432  thumb-*-oabi)
     433    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     434    ;;
     435  thumb-*-pe)
     436    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     437    ;;
     438  arm-*-riscix*)
     439    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
     440    ;;
     441  avr-*-*)
     442    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
     443    ;;
     444  c4x-*-* | tic4x-*-*)
     445    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
     446    ;;
     447  c54x*-*-* | tic54x-*-*)
     448    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
     449    ;;
     450  cris-*-*)
     451    noconfigdirs="$noconfigdirs ${libgcj}"
     452    ;;
     453  d10v-*-*)
     454    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
     455    ;;
     456  d30v-*-*)
     457    noconfigdirs="$noconfigdirs ${libgcj}"
     458    ;;
     459  fr30-*-elf*)
     460    noconfigdirs="$noconfigdirs ${libgcj}"
     461    ;;
     462  frv-*-*)
     463    noconfigdirs="$noconfigdirs ${libgcj}"
     464    ;;
     465  h8300*-*-*)
    614466    noconfigdirs="$noconfigdirs target-libgloss"
    615467    ;;
    616   arm-*-coff*)
    617     noconfigdirs="$noconfigdirs target-libgloss"
    618     if [ x${is_cross_compiler} != xno ] ; then
    619            target_configdirs="${target_configdirs} target-bsp target-cygmon"
    620     fi
    621     ;;
    622   arm-*-elf*)
    623     noconfigdirs="$noconfigdirs target-libgloss"
    624     if [ x${is_cross_compiler} != xno ] ; then
    625            target_configdirs="${target_configdirs} target-bsp target-cygmon"
    626     fi
    627     ;;
    628   arm-*-oabi*)
    629     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
    630     ;;
    631   thumb-*-coff)
    632     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
    633     ;;
    634   thumb-*-elf)
    635     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
    636     ;;
    637   thumb-*-oabi)
    638     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
    639     ;;
    640   strongarm-*-elf)
    641     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
    642     if [ x${is_cross_compiler} != xno ] ; then
    643            target_configdirs="${target_configdirs} target-bsp target-cygmon"
    644     fi
    645     ;;
    646   strongarm-*-coff)
    647     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
    648     if [ x${is_cross_compiler} != xno ] ; then
    649            target_configdirs="${target_configdirs} target-bsp target-cygmon"
    650     fi
    651     ;;
    652   xscale-*-elf)
    653     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
    654     if [ x${is_cross_compiler} != xno ] ; then
    655            target_configdirs="${target_configdirs} target-bsp target-cygmon"
    656     fi
    657     ;;
    658   xscale-*-coff)
    659     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
    660     if [ x${is_cross_compiler} != xno ] ; then
    661            target_configdirs="${target_configdirs} target-bsp target-cygmon"
    662     fi
    663     ;;
    664   thumb-*-pe)
    665     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
    666     ;;
    667   arm-*-riscix*)
    668     noconfigdirs="$noconfigdirs ld target-libgloss target-libffi"
    669     ;;
    670   c4x-*-*)
    671     noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
    672     ;;
    673   c54x*-*-* | tic54x-*-*)
    674     noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi gcc gdb newlib"
    675     ;;
    676   d10v-*-*)
    677     noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
    678     ;;
    679   d30v-*-*)
    680     ;;
    681   fr30-*-elf*)
    682     if [ x${is_cross_compiler} != xno ] ; then
    683            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
    684     fi
    685     ;;
    686   h8300*-*-* | \
    687468  h8500-*-*)
    688     noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
     469    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} target-libf2c"
     470    ;;
     471  hppa*64*-*-linux* | parisc*64*-*-linux*)
     472    # In this case, it's because the hppa64-linux target is for
     473    # the kernel only at this point and has no libc, and thus no
     474    # headers, crt*.o, etc., all of which are needed by these.
     475    noconfigdirs="$noconfigdirs target-zlib"
    689476    ;;
    690477  hppa*-*-*elf* | \
    691   hppa*-*-linux-gnu* | \
     478  parisc*-*-linux* | hppa*-*-linux* | \
    692479  hppa*-*-lites* | \
     480  hppa*-*-openbsd* | \
    693481  hppa*64*-*-*)
     482    noconfigdirs="$noconfigdirs ${libgcj}"
    694483    # Do configure ld/binutils/gas for this case.
    695484    ;;
    696485  hppa*-*-*)
    697     # HP's C compiler doesn't handle Emacs correctly (but on BSD and Mach
    698     # cc is gcc, and on any system a user should be able to link cc to
    699     # whatever they want.  FIXME, emacs emacs19).
    700     case "${CC}" in
    701         "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
    702         *) ;;
    703     esac
    704     noconfigdirs="$noconfigdirs ld shellutils"
     486    # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
     487    # build on HP-UX 10.20.
     488    noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
    705489    ;;
    706490  ia64*-*-elf*)
     
    708492    noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
    709493    ;;
    710   i[3456]86-*-coff | i[3456]86-*-elf)
    711     if [ x${is_cross_compiler} != xno ] ; then
    712          target_configdirs="${target_configdirs} target-libstub target-cygmon"
     494  ia64*-**-hpux*)
     495    # No gdb or ld support yet.
     496    noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
     497    ;;
     498  i[[3456]]86-*-coff | i[[3456]]86-*-elf)
     499    noconfigdirs="$noconfigdirs ${libgcj}"
     500    ;;
     501  i[[34567]]86-*-freebsd*)
     502    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     503    ;;
     504  i[[3456]]86-*-linux*)
     505    # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
     506    # not build java stuff by default.
     507    case "${target}" in
     508      *-*-*libc1*)
     509        noconfigdirs="$noconfigdirs ${libgcj}";;
     510    esac
     511
     512    # This section makes it possible to build newlib natively on linux.
     513    # If we are using a cross compiler then don't configure newlib.
     514    if test x${is_cross_compiler} != xno ; then
     515      noconfigdirs="$noconfigdirs target-newlib"
    713516    fi
    714     ;;
    715   i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
    716     # but don't build gdb
    717     noconfigdirs="$noconfigdirs gdb ${libstdcxx_version} target-libffi"
    718     ;;
    719   i[3456]86-*-mingw32*)
     517    noconfigdirs="$noconfigdirs target-libgloss"
     518    # If we are not using a cross compiler, do configure newlib.
     519    # Note however, that newlib will only be configured in this situation
     520    # if the --with-newlib option has been given, because otherwise
     521    # 'target-newlib' will appear in skipdirs.
     522    ;;
     523  i[[3456]]86-*-mingw32*)
    720524    target_configdirs="$target_configdirs target-mingw"
    721     noconfigdirs="$noconfigdirs expect target-libgloss target-libffi"
     525    noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
    722526
    723527    # Can't build gdb for mingw32 if not native.
    724528    case "${host}" in
    725       i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
    726       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
     529      i[[3456]]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
     530      *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix gnuserv"
    727531         ;;
    728532    esac
     
    730534  *-*-cygwin*)
    731535    target_configdirs="$target_configdirs target-libtermcap target-winsup"
    732     noconfigdirs="$noconfigdirs target-gperf target-libgloss target-libffi"
     536    noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
    733537    # always build newlib.
    734538    skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
     
    737541    case "${host}" in
    738542      *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
    739       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
     543      *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui gnuserv"
    740544         ;;
    741545    esac
    742546    ;;   
    743   i[3456]86-*-pe)
    744     noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
    745     ;;
    746   i[3456]86-*-sco3.2v5*)
     547  i[[3456]]86-*-pe)
     548    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
     549    ;;
     550  i[[3456]]86-*-sco3.2v5*)
    747551    # The linker does not yet know about weak symbols in COFF,
    748552    # and is not configured to handle mixed ELF and COFF.
    749     noconfigdirs="$noconfigdirs ld target-libgloss target-libffi"
    750     ;;
    751   i[3456]86-*-sco*)
    752     noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
    753     ;;
    754   i[3456]86-*-solaris2*)
     553    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
     554    ;;
     555  i[[3456]]86-*-sco*)
     556    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
     557    ;;
     558  i[[3456]]86-*-solaris2*)
    755559    noconfigdirs="$noconfigdirs target-libgloss"
    756560    ;;
    757   i[3456]86-*-sysv4*)
    758     # The SYSV4 C compiler doesn't handle Emacs correctly
    759     case "${CC}" in
    760         "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
    761         *) ;;
    762     esac
    763     # but that's okay since emacs doesn't work anyway
    764     noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss target-libffi"
    765     ;;
    766   i[3456]86-*-beos*)
    767      noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
    768      ;;
    769  m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
    770     noconfigdirs="$noconfigdirs target-libiberty target-librx target-libg++ target-libstdc++ target-libio target-libf2c target-libchill target-zlib target-libobjc"
    771     ;;
    772  m68k-*-elf*)
    773     if [ x${is_cross_compiler} != xno ] ; then
    774            target_configdirs="${target_configdirs} target-bsp target-cygmon"
    775     fi
     561  i[[3456]]86-*-sysv4*)
     562    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     563    ;;
     564  i[[3456]]86-*-beos*)
     565    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
     566    ;;
     567  m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
     568    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
     569    ;;
     570  m68k-*-elf*)
     571    noconfigdirs="$noconfigdirs ${libgcj}"
    776572    ;;
    777573  m68k-*-coff*)
    778     if [ x${is_cross_compiler} != xno ] ; then
    779            target_configdirs="${target_configdirs} target-bsp target-cygmon"
    780     fi
     574    noconfigdirs="$noconfigdirs ${libgcj}"
     575    ;;
     576  mcore-*-pe*)
     577  # The EPOC C++ environment does not support exceptions or rtti,
     578  # and so building libstdc++-v3 tends not to always work.
     579    noconfigdirs="$noconfigdirs target-libstdc++-v3"
     580    ;;
     581  mmix-*-*)
     582    noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss"
    781583    ;;
    782584  mn10200-*-*)
    783     noconfigdirs="$noconfigdirs target-libffi"
    784     if [ x${is_cross_compiler} != xno ] ; then
    785            target_configdirs="${target_configdirs} target-libstub target-cygmon"
    786     fi
     585    noconfigdirs="$noconfigdirs ${libgcj}"
    787586    ;;
    788587  mn10300-*-*)
    789     noconfigdirs="$noconfigdirs target-libffi"
    790     if [ x${is_cross_compiler} != xno ] ; then
    791            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
    792     fi
     588    noconfigdirs="$noconfigdirs ${libgcj}"
    793589    ;;
    794590  powerpc-*-aix*)
    795591    # copied from rs6000-*-* entry
    796     # The configure and build of ld are currently disabled because
    797     # GNU ld is known to be broken for AIX 4.2 and 4.3 (at least)
    798     # The symptom is that GDBtk 4.18 fails at startup with a segfault
    799     # if linked by GNU ld, but not if linked by the native ld.
    800     noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss target-libffi ld"
    801     use_gnu_ld=no
     592    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
    802593    ;;
    803594  powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
    804595    target_configdirs="$target_configdirs target-winsup"
    805     noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv target-libffi"
     596    noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix gnuserv ${libgcj}"
    806597    # always build newlib.
    807598    skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
     
    809600    # This is temporary until we can link against shared libraries
    810601  powerpcle-*-solaris*)
    811     noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv target-libffi"
     602    noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix gnuserv ${libgcj}"
    812603    ;;
    813604  powerpc-*-beos*)
    814     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
     605    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
    815606    ;;
    816607  powerpc-*-eabi)
    817     if [ x${is_cross_compiler} != xno ] ; then
    818            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
    819     fi
     608    noconfigdirs="$noconfigdirs ${libgcj}"
    820609    ;;
    821610  rs6000-*-lynxos*)
    822     # The CVS server code doesn't work on the RS/6000
    823     noconfigdirs="$noconfigdirs target-newlib gprof cvssrc target-libffi"
     611    noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
    824612    ;;
    825613  rs6000-*-aix*)
    826     # The configure and build of ld are currently disabled because
    827     # GNU ld is known to be broken for AIX 4.2 and 4.3 (at least)
    828     # The symptom is that GDBtk 4.18 fails at startup with a segfault
    829     # if linked by GNU ld, but not if linked by the native ld.
    830     noconfigdirs="$noconfigdirs gprof target-libffi ld"
    831     use_gnu_ld=no
     614    noconfigdirs="$noconfigdirs gprof ${libgcj}"
    832615    ;;
    833616  rs6000-*-*)
    834     noconfigdirs="$noconfigdirs gprof target-libffi"
     617    noconfigdirs="$noconfigdirs gprof ${libgcj}"
    835618    ;;
    836619  m68k-apollo-*)
    837     noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss target-libffi"
     620    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
    838621    ;;
    839622  mips*-*-irix5*)
    840623    # The GNU linker does not support shared libraries.
    841     # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
    842     noconfigdirs="$noconfigdirs ld gprof emacs target-libgloss"
     624    noconfigdirs="$noconfigdirs ld gprof target-libgloss ${libgcj}"
    843625    ;;
    844626  mips*-*-irix6*)
    845     # The GNU assembler does not support IRIX 6.
    846     # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
    847     noconfigdirs="$noconfigdirs gas gprof emacs target-libgloss"
     627    # Linking libjava exceeds command-line length limits on at least
     628    # IRIX 6.2, but not on IRIX 6.5.
     629    # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
     630    # <oldham@codesourcery.com>
     631    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
    848632    ;;
    849633  mips*-dec-bsd*)
    850     noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
     634    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
    851635    ;;
    852636  mips*-*-bsd*)
    853     noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
     637    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
    854638    ;;
    855639  mipstx39-*-*)
    856     noconfigdirs="$noconfigdirs gprof target-libffi"   # same as generic mips
    857     target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
    858    ;;
     640    noconfigdirs="$noconfigdirs gprof ${libgcj}"   # same as generic mips
     641    ;;
     642  mips*-*-linux*)
     643    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     644    ;;
    859645  mips*-*-*)
    860     noconfigdirs="$noconfigdirs gprof target-libffi"
     646    noconfigdirs="$noconfigdirs gprof ${libgcj}"
    861647    ;;
    862648  romp-*-*)
    863     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss target-libffi"
     649    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
    864650    ;;
    865651  sh-*-*)
    866652    case "${host}" in
    867       i[3456]86-*-vsta) ;; # don't add gprof back in
    868       i[3456]86-*-go32*) ;; # don't add gprof back in
    869       i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
     653      i[[3456]]86-*-vsta) ;; # don't add gprof back in
     654      i[[3456]]86-*-go32*) ;; # don't add gprof back in
     655      i[[3456]]86-*-msdosdjgpp*) ;; # don't add gprof back in
    870656      *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
    871657    esac
    872     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     658    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     659    ;;
     660  sh64-*-*)
     661    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
    873662    ;;
    874663  sparc-*-elf*)
    875     if [ x${is_cross_compiler} != xno ] ; then
    876            target_configdirs="${target_configdirs} target-libstub target-cygmon"
    877     fi
     664    noconfigdirs="$noconfigdirs ${libgcj}"
    878665    ;;
    879666  sparc64-*-elf*)
    880     if [ x${is_cross_compiler} != xno ] ; then
    881            target_configdirs="${target_configdirs} target-libstub target-cygmon"
    882     fi
    883     noconfigdirs="target-libffi"
     667    noconfigdirs="$noconfigdirs ${libgcj}"
    884668    ;;
    885669  sparclite-*-*)
    886     if [ x${is_cross_compiler} != xno ] ; then
    887            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
    888     fi
    889     noconfigdirs="target-libffi"
     670    noconfigdirs="$noconfigdirs ${libgcj}"
    890671    ;;
    891672  sparc-*-sunos4*)
    892     if [ x${is_cross_compiler} != xno ] ; then
    893            noconfigdirs="$noconfigdirs gdb gdbtest target-newlib target-libgloss"
     673    noconfigdirs="$noconfigdirs ${libgcj}"
     674    if test x${is_cross_compiler} != xno ; then
     675           noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
    894676    else
    895677           use_gnu_ld=no
    896678    fi
    897679    ;;
     680  sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
     681    ;;
    898682  v810-*-*)
    899     noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss target-libffi"
     683    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
    900684    ;;
    901685  v850-*-*)
    902     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     686    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
    903687    ;;
    904688  v850e-*-*)
    905     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     689    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
    906690    ;;
    907691  v850ea-*-*)
    908     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     692    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
    909693    ;;
    910694  vax-*-vms)
    911     noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss target-libffi"
     695    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
    912696    ;;
    913697  vax-*-*)
    914     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
     698    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     699    ;;
     700  ip2k-*-*)
     701    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
     702    ;;
     703  *-*-linux*)
     704    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
    915705    ;;
    916706  *-*-lynxos*)
    917     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
     707    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
    918708    ;;
    919   *-*-macos* | \
    920   *-*-mpw*)
    921     # Macs want a resource compiler.
    922     configdirs="$configdirs grez"
    923     noconfigdirs="target-libffi"
    924     ;;   
     709  *-*-*)
     710    noconfigdirs="$noconfigdirs ${libgcj}"
     711    ;;
    925712esac
    926713
     
    932719esac
    933720
    934 # Make sure we don't let GNU ld be added if we didn't want it.
    935 if [ x$with_gnu_ld = xno ]; then
    936   use_gnu_ld=no
    937   noconfigdirs="$noconfigdirs ld"
    938 fi
    939 
    940 # Make sure we don't let GNU as be added if we didn't want it.
    941 if [ x$with_gnu_as = xno ]; then
    942   use_gnu_as=no
    943   noconfigdirs="$noconfigdirs gas"
    944 fi
    945 
    946721# Figure out what language subdirectories are present.
    947722# Look if the user specified --enable-languages="..."; if not, use
    948723# the environment variable $LANGUAGES if defined. $LANGUAGES might
    949724# go away some day.
     725# NB:  embedded tabs in this IF block -- do not untabify
    950726if test x"${enable_languages+set}" != xset; then
    951         if test x"${LANGUAGES+set}" = xset; then
    952                 enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
    953         else
    954                 enable_languages=all
    955         fi
     727  if test x"${LANGUAGES+set}" = xset; then
     728    enable_languages="${LANGUAGES}"
     729      echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
     730  else
     731    enable_languages=all
     732  fi
    956733else
    957         if test x"${enable_languages}" = x; then
    958                 echo configure.in: --enable-languages needs at least one argument 1>&2
    959                 exit 1
    960         fi
    961 fi
     734  if test x"${enable_languages}" = x ||
     735     test x"${enable_languages}" = xyes;
     736     then
     737    echo configure.in: --enable-languages needs at least one language argument 1>&2
     738    exit 1
     739  fi
     740fi
     741enable_languages=`echo "${enable_languages}" | sed -e 's/[[     ,]][[   ,]]*/,/g' -e 's/,$//'`
     742
     743# First scan to see if an enabled language requires some other language.
     744# We assume that a given config-lang.in will list all the language
     745# front ends it requires, even if some are required indirectly.
     746for lang in ${srcdir}/gcc/*/config-lang.in ..
     747do
     748  case $lang in
     749    ..) ;;
     750    # The odd quoting in the next line works around
     751    # an apparent bug in bash 1.12 on linux.
     752    ${srcdir}/gcc/[[*]]/config-lang.in) ;;
     753    *)
     754      lang_alias=`sed -n -e 's,^language=[['"'"'"'"]]\(.*\)[["'"'"'"']].*$,\1,p' -e 's,^language=\([[^  ]]*\).*$,\1,p' $lang`
     755      this_lang_requires=`sed -n -e 's,^lang_requires=[['"'"'"'"]]\(.*\)[["'"'"'"']].*$,\1,p' -e 's,^lang_requires=\([[^        ]]*\).*$,\1,p' $lang`
     756      for other in $this_lang_requires
     757      do
     758        case ,${enable_languages}, in
     759          *,$other,*) ;;
     760          *,all,*) ;;
     761          *,$lang_alias,*)
     762            echo " \`$other' language required by \`$lang_alias'; enabling" 1>&2
     763            enable_languages="$enable_languages,$other"
     764            ;;
     765        esac
     766      done
     767      ;;
     768  esac
     769done
     770
    962771subdirs=
    963772for lang in ${srcdir}/gcc/*/config-lang.in ..
    964773do
    965         case $lang in
    966         ..) ;;
    967         # The odd quoting in the next line works around
    968         # an apparent bug in bash 1.12 on linux.
    969         ${srcdir}/gcc/[*]/config-lang.in) ;;
    970         *)
    971           lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^   ]*\).*$,\1,p' $lang`
    972           this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^         ]*\).*$,\1,p' $lang`
    973           build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^     ]*\).*$,\1,p' $lang`
    974           if test "x$lang_alias" = x
    975           then
    976                 echo "$lang doesn't set \$language." 1>&2
    977                 exit 1
    978           fi
    979           case ${build_by_default},${enable_languages}, in
    980           *,$lang_alias,*) add_this_lang=yes ;;
    981           no,*) add_this_lang=no ;;
    982           *,all,*) add_this_lang=yes ;;
    983           *) add_this_lang=no ;;
    984           esac
    985           if test x"${add_this_lang}" = xyes; then
    986               eval target_libs='"$target_libs "'\"$this_lang_libs\"
    987           else
    988               eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs\"
    989           fi
    990           ;;
    991         esac
     774  case $lang in
     775    ..) ;;
     776    # The odd quoting in the next line works around
     777    # an apparent bug in bash 1.12 on linux.
     778    ${srcdir}/gcc/[[*]]/config-lang.in) ;;
     779    *)
     780      lang_alias=`sed -n -e 's,^language=[['"'"'"'"]]\(.*\)[["'"'"'"']].*$,\1,p' -e 's,^language=\([[^  ]]*\).*$,\1,p' $lang`
     781      this_lang_libs=`sed -n -e 's,^target_libs=[['"'"'"'"]]\(.*\)[["'"'"'"']].*$,\1,p' -e 's,^target_libs=\([[^        ]]*\).*$,\1,p' $lang`
     782      this_lang_dirs=`sed -n -e 's,^lang_dirs=[['"'"'"'"]]\(.*\)[["'"'"'"']].*$,\1,p' -e 's,^lang_dirs=\([[^    ]]*\).*$,\1,p' $lang`
     783      build_by_default=`sed -n -e 's,^build_by_default=[['"'"'"'"]]\(.*\)[["'"'"'"']].*$,\1,p' -e 's,^build_by_default=\([[^    ]]*\).*$,\1,p' $lang`
     784      if test "x$lang_alias" = x
     785         then
     786        echo "$lang doesn't set \$language." 1>&2
     787        exit 1
     788      fi
     789      case ${build_by_default},${enable_languages}, in
     790        *,$lang_alias,*) add_this_lang=yes ;;
     791        no,*) add_this_lang=no ;;
     792        *,all,*) add_this_lang=yes ;;
     793        *) add_this_lang=no ;;
     794      esac
     795      if test x"${add_this_lang}" = xyes; then
     796        eval target_libs='"$target_libs "'\"$this_lang_libs\"
     797      else
     798        eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs $this_lang_dirs\"
     799      fi
     800      ;;
     801  esac
    992802done
    993 
    994803
    995804# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
     
    1000809for dir in . $skipdirs $noconfigdirs ; do
    1001810  dirname=`echo $dir | sed -e s/target-//g`
    1002   if [ $dir != . ]  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
     811  if test $dir != .  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
    1003812    configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
    1004     if [ -r $srcdir/$dirname/configure ] \
    1005         || [ -r $srcdir/$dirname/configure.in ]; then
     813    if test -r $srcdir/$dirname/configure ; then
    1006814      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
    1007815        true
     
    1011819    fi
    1012820  fi
    1013   if [ $dir != . ] && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
     821  if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
    1014822    target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
    1015     if [ -r $srcdir/$dirname/configure ] \
    1016         || [ -r $srcdir/$dirname/configure.in ]; then
     823    if test -r $srcdir/$dirname/configure ; then
    1017824      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
    1018825        true
     
    1026833# Sometimes the tools are distributed with libiberty but with no other
    1027834# libraries.  In that case, we don't want to build target-libiberty.
    1028 if [ -n "${target_configdirs}" ]; then
     835if test -n "${target_configdirs}" ; then
    1029836  others=
    1030837  for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
    1031     if [ "$i" != "libiberty" ]; then
    1032       if [ -r $srcdir/$i/configure ] || [ -r $srcdir/$i/configure.in ]; then
     838    if test "$i" != "libiberty" ; then
     839      if test -r $srcdir/$i/configure ; then
    1033840        others=yes;
    1034841        break;
     
    1036843    fi
    1037844  done
    1038   if [ -z "${others}" ]; then
     845  if test -z "${others}" ; then
    1039846    target_configdirs=
    1040847  fi
    1041848fi
    1042849
    1043 # Deconfigure all subdirectories, in case we are changing the
    1044 # configuration from one where a subdirectory is supported to one where it
    1045 # is not.
    1046 if [ -z "${norecursion}" ] && [ -n "${configdirs}" ]; then
    1047   for i in `echo ${configdirs} | sed -e s/target-//g` ; do
    1048     rm -f $i/Makefile
    1049   done
    1050 fi
    1051 if [ -z "${norecursion}" ] && [ -n "${target_configdirs}" ]; then
    1052   for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
    1053     rm -f ${target_subdir}/$i/Makefile
    1054   done
    1055 fi
     850# Quietly strip out all directories which aren't configurable in this tree.
     851# This relies on all configurable subdirectories being autoconfiscated, which
     852# is now the case.
     853configdirs_all="$configdirs"
     854configdirs=
     855for i in ${configdirs_all} ; do
     856  if test -f ${srcdir}/$i/configure ; then
     857    configdirs="${configdirs} $i"
     858  fi
     859done
     860target_configdirs_all="$target_configdirs"
     861target_configdirs=
     862for i in ${target_configdirs_all} ; do
     863  j=`echo $i | sed -e s/target-//g`
     864  if test -f ${srcdir}/$j/configure ; then
     865    target_configdirs="${target_configdirs} $i"
     866  fi
     867done
    1056868
    1057869# Produce a warning message for the subdirs we can't configure.
     
    1060872# supported by the one or two programs in a package.
    1061873
    1062 if [ -n "${notsupp}" ] && [ -z "${norecursion}" ]; then
     874if test -n "${notsupp}" && test -z "${norecursion}" ; then
    1063875  # If $appdirs is non-empty, at least one of those directories must still
    1064876  # be configured, or we error out.  (E.g., if the gas release supports a
    1065877  # specified target in some subdirs but not the gas subdir, we shouldn't
    1066878  # pretend that all is well.)
    1067   if [ -n "$appdirs" ]; then
     879  if test -n "$appdirs" ; then
    1068880    for dir in $appdirs ; do
    1069       if [ -r $dir/Makefile.in ]; then
     881      if test -r $dir/Makefile.in ; then
    1070882        if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
    1071883          appdirs=""
     
    1078890      fi
    1079891    done
    1080     if [ -n "$appdirs" ]; then
     892    if test -n "$appdirs" ; then
    1081893      echo "*** This configuration is not supported by this package." 1>&2
    1082894      exit 1
     
    1089901  echo "    (Any other directories should still work fine.)" 1>&2
    1090902fi
     903
     904case "$host" in
     905  *msdosdjgpp*)
     906    enable_gdbtk=no ;;
     907esac
     908
     909copy_dirs=
     910
     911# Handle --with-headers=XXX.  If the value is not "yes", the contents of
     912# the named directory are copied to $(tooldir)/sys-include.
     913if test x"${with_headers}" != x ; then
     914  if test x${is_cross_compiler} = xno ; then
     915    echo 1>&2 '***' --with-headers is only supported when cross compiling
     916    exit 1
     917  fi
     918  if test x"${with_headers}" != xyes ; then
     919    case "${exec_prefixoption}" in
     920    "") x=${prefix} ;;
     921    *) x=${exec_prefix} ;;
     922    esac
     923    copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
     924  fi
     925fi
     926
     927# Handle --with-libs=XXX.  If the value is not "yes", the contents of
     928# the name directories are copied to $(tooldir)/lib.  Multiple directories
     929# are permitted.
     930if test x"${with_libs}" != x ; then
     931  if test x${is_cross_compiler} = xno ; then
     932    echo 1>&2 '***' --with-libs is only supported when cross compiling
     933    exit 1
     934  fi
     935  if test x"${with_libs}" != xyes ; then
     936    # Copy the libraries in reverse order, so that files in the first named
     937    # library override files in subsequent libraries.
     938    case "${exec_prefixoption}" in
     939    "") x=${prefix} ;;
     940    *) x=${exec_prefix} ;;
     941    esac
     942    for l in ${with_libs}; do
     943      copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
     944    done
     945  fi
     946fi
     947
     948# Handle ${copy_dirs}
     949set fnord ${copy_dirs}
     950shift
     951while test $# != 0 ; do
     952  if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
     953    :
     954  else
     955    echo Copying $1 to $2
     956
     957    # Use the install script to create the directory and all required
     958    # parent directories.
     959    if test -d $2 ; then
     960      :
     961    else
     962      echo >config.temp
     963      ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
     964    fi
     965
     966    # Copy the directory, assuming we have tar.
     967    # FIXME: Should we use B in the second tar?  Not all systems support it.
     968    (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
     969
     970    # It is the responsibility of the user to correctly adjust all
     971    # symlinks.  If somebody can figure out how to handle them correctly
     972    # here, feel free to add the code.
     973
     974    echo $1 > $2/COPIED
     975  fi
     976  shift; shift
     977done
     978
     979# Work in distributions that contain no compiler tools, like Autoconf.
     980tentative_cc=""
     981host_makefile_frag=/dev/null
     982if test -d ${srcdir}/config ; then
     983case "${host}" in
     984  m68k-hp-hpux*)
     985    # Avoid "too much defining" errors from HPUX compiler.
     986    tentative_cc="cc -Wp,-H256000"
     987    # If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
     988    # If it's HP/UX ar, this should be harmless.
     989    RANLIB="ar ts"
     990    ;;
     991  m68k-apollo-sysv*)
     992    tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
     993    ;;
     994  m68k-apollo-bsd*)
     995    #None of the Apollo compilers can compile gas or binutils.  The preprocessor
     996    # chokes on bfd, the compiler won't let you assign integers to enums, and
     997    # other problems.  Defining CC to gcc is a questionable way to say "don't use
     998    # the apollo compiler" (the preferred version of GCC could be called cc,
     999    # or whatever), but I'm not sure leaving CC as cc is any better...
     1000    #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
     1001    # Used to have BISON=yacc.
     1002    tentative_cc=gcc
     1003    ;;
     1004  m88k-dg-dgux*)
     1005    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
     1006    ;;
     1007  m88k-harris-cxux*)
     1008    # Under CX/UX, we want to tell the compiler to use ANSI mode.
     1009    tentative_cc="cc -Xa"
     1010    host_makefile_frag="config/mh-cxux"
     1011    ;;
     1012  m88k-motorola-sysv*)
     1013    ;;
     1014  mips*-dec-ultrix*)
     1015    tentative_cc="cc -Wf,-XNg1000"
     1016    host_makefile_frag="config/mh-decstation"
     1017    ;;
     1018  mips*-nec-sysv4*)
     1019    # The C compiler on NEC MIPS SVR4 needs bigger tables.
     1020    tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
     1021    host_makefile_frag="config/mh-necv4"
     1022    ;;
     1023  mips*-sgi-irix4*)
     1024    # Tell compiler to use K&R C.  We can't compile under the SGI Ansi
     1025    # environment.  Also bump switch table size so that cp-parse will
     1026    # compile.  Bump string length limit so linker builds.
     1027    tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
     1028    ;;
     1029  mips*-*-sysv4*)
     1030    host_makefile_frag="config/mh-sysv4"
     1031    ;;
     1032  mips*-*-sysv*)
     1033    # This is for a MIPS running RISC/os 4.52C.
     1034
     1035    # This is needed for GDB, but needs to be in the top-level make because
     1036    # if a library is compiled with the bsd headers and gets linked with the
     1037    # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
     1038    # a different size).
     1039    # ptrace(2) apparently has problems in the BSD environment.  No workaround is
     1040    # known except to select the sysv environment.  Could we use /proc instead?
     1041    # These "sysv environments" and "bsd environments" often end up being a pain.
     1042    #
     1043    # This is not part of CFLAGS because perhaps not all C compilers have this
     1044    # option.
     1045    tentative_cc="cc -systype sysv"
     1046    ;;
     1047  i370-ibm-opened*)
     1048    tentative_cc="c89"
     1049    ;;
     1050  i[[3456]]86-*-sysv5*)
     1051    host_makefile_frag="config/mh-sysv5"
     1052    ;;
     1053  i[[3456]]86-*-dgux*)
     1054    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
     1055    host_makefile_frag="config/mh-dgux386"
     1056    ;;
     1057  i[[3456]]86-ncr-sysv4.3*)
     1058    # The MetaWare compiler will generate a copyright message unless you
     1059    # turn it off by adding the -Hnocopyr flag.
     1060    tentative_cc="cc -Hnocopyr"
     1061    ;;
     1062  i[[3456]]86-ncr-sysv4*)
     1063    # for an NCR 3000 (i486/SVR4) system.
     1064    # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
     1065    # This compiler not only emits obnoxious copyright messages every time
     1066    # you run it, but it chokes and dies on a whole bunch of GNU source
     1067    # files.  Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
     1068    tentative_cc="/usr/ccs/ATT/cc"
     1069    host_makefile_frag="config/mh-ncr3000"
     1070    ;;
     1071  i[[3456]]86-*-sco3.2v5*)
     1072    ;;
     1073  i[[3456]]86-*-sco*)
     1074    # The native C compiler botches some simple uses of const.  Unfortunately,
     1075    # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
     1076    tentative_cc="cc -Dconst="
     1077    host_makefile_frag="config/mh-sco"
     1078    ;;
     1079  i[[3456]]86-*-udk*)
     1080    host_makefile_frag="config/mh-sysv5"
     1081    ;;
     1082  i[[3456]]86-*-solaris2*)
     1083    host_makefile_frag="config/mh-sysv4"
     1084    ;;
     1085  i[[3456]]86-*-msdosdjgpp*)
     1086    host_makefile_frag="config/mh-djgpp"
     1087    ;;
     1088  *-cygwin*)
     1089    host_makefile_frag="config/mh-cygwin"
     1090    ;;
     1091  *-mingw32*)
     1092    host_makefile_frag="config/mh-mingw32"
     1093    ;;
     1094  *-interix*)
     1095    host_makefile_frag="config/mh-interix"
     1096    ;;
     1097  vax-*-ultrix2*)
     1098    # The old BSD pcc isn't up to compiling parts of gdb so use gcc
     1099    tentative_cc=gcc
     1100    ;;
     1101  *-*-solaris2*)
     1102    host_makefile_frag="config/mh-solaris"
     1103    ;;
     1104  m68k-sun-sunos*)
     1105    # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
     1106    # without overflowing the jump tables (-J says to use a 32 bit table)
     1107    tentative_cc="cc -J"
     1108    ;;
     1109  *-hp-hpux*)
     1110    tentative_cc="cc -Wp,-H256000"
     1111    ;;
     1112  *-*-hiux*)
     1113    tentative_cc="cc -Wp,-H256000"
     1114    ;;
     1115  rs6000-*-lynxos*)
     1116    # /bin/cc is less than useful for our purposes.  Always use GCC
     1117    tentative_cc="/usr/cygnus/progressive/bin/gcc"
     1118    host_makefile_frag="config/mh-lynxrs6k"
     1119    ;;
     1120  *-*-lynxos*)
     1121    # /bin/cc is less than useful for our purposes.  Always use GCC
     1122    tentative_cc="/bin/gcc"
     1123    ;;
     1124  *-*-sysv4*)
     1125    host_makefile_frag="config/mh-sysv4"
     1126    ;;
     1127esac
     1128fi
     1129
     1130extra_arflags_for_target=
     1131extra_nmflags_for_target=
     1132extra_ranlibflags_for_target=
     1133target_makefile_frag=/dev/null
     1134case "${target}" in
     1135  i[[3456]]86-*-netware*)
     1136    target_makefile_frag="config/mt-netware"
     1137    ;;
     1138  powerpc-*-netware*)
     1139    target_makefile_frag="config/mt-netware"
     1140    ;;
     1141  *-*-linux*)
     1142    target_makefile_frag="config/mt-linux"
     1143    ;;
     1144  *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
     1145    # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
     1146    # commands to handle both 32-bit and 64-bit objects.  These flags are
     1147    # harmless if we're using GNU nm or ar.
     1148    extra_arflags_for_target=" -X32_64"
     1149    extra_nmflags_for_target=" -B -X32_64"
     1150    ;;
     1151  *-*-darwin*)
     1152    # ranlib from Darwin requires the -c flag to look at common symbols.
     1153    extra_ranlibflags_for_target=" -c"
     1154    ;;
     1155  mips*-*-pe | sh*-*-pe | *arm-wince-pe)
     1156    target_makefile_frag="config/mt-wince"
     1157    ;;
     1158esac
     1159
     1160alphaieee_frag=/dev/null
     1161case $target in
     1162  alpha*-*-*)
     1163    # This just makes sure to use the -mieee option to build target libs.
     1164    # This should probably be set individually by each library.
     1165    alphaieee_frag="config/mt-alphaieee"
     1166    ;;
     1167esac
     1168
     1169# If --enable-target-optspace always use -Os instead of -O2 to build
     1170# the target libraries, similarly if it is not specified, use -Os
     1171# on selected platforms.
     1172ospace_frag=/dev/null
     1173case "${enable_target_optspace}:${target}" in
     1174  yes:*)
     1175    ospace_frag="config/mt-ospace"
     1176    ;;
     1177  :d30v-*)
     1178    ospace_frag="config/mt-d30v"
     1179    ;;
     1180  :m32r-* | :d10v-* | :fr30-*)
     1181    ospace_frag="config/mt-ospace"
     1182    ;;
     1183  no:* | :*)
     1184    ;;
     1185  *)
     1186    echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
     1187    ;;
     1188esac
    10911189
    10921190# Set with_gnu_as and with_gnu_ld as appropriate.
     
    11031201# --without-gnu-ld options for the configure script.
    11041202
    1105 if [ x${use_gnu_as} = x ] ; then
    1106   if [ x${with_gnu_as} != xno ] && echo " ${configdirs} " | grep " ${gasdir} " > /dev/null 2>&1 && [ -d ${srcdir}/${gasdir} ] ; then
    1107     with_gnu_as=yes
    1108     withoptions="$withoptions --with-gnu-as"
    1109   fi
    1110 fi
    1111 
    1112 if [ x${use_gnu_ld} = x ] ; then
    1113   if [ x${with_gnu_ld} != xno ] && echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 && [ -d ${srcdir}/ld ] ; then
    1114     with_gnu_ld=yes
    1115     withoptions="$withoptions --with-gnu-ld"
    1116   fi
    1117 fi
    1118 
    1119 # If using newlib, add --with-newlib to the withoptions so that gcc/configure
     1203if test x${use_gnu_as} = x &&
     1204   echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
     1205  with_gnu_as=yes
     1206  extra_host_args="$extra_host_args --with-gnu-as"
     1207fi
     1208
     1209if test x${use_gnu_ld} = x &&
     1210   echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
     1211  with_gnu_ld=yes
     1212  extra_host_args="$extra_host_args --with-gnu-ld"
     1213fi
     1214
     1215# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
    11201216# can detect this case.
    11211217
    1122 if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then
     1218if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
    11231219  with_newlib=yes
    1124   withoptions="$withoptions --with-newlib"
    1125 fi
    1126 
    1127 if [ x${shared} = xyes ]; then
     1220  extra_host_args="$extra_host_args --with-newlib"
     1221fi
     1222
     1223
     1224# Default to using --with-stabs for certain targets.
     1225if test x${with_stabs} = x ; then
    11281226  case "${target}" in
    1129     hppa*)
    1130       target_makefile_frag="${target_makefile_frag} config/mt-papic"
    1131       ;;
    1132     i[3456]86-*)
    1133       target_makefile_frag="${target_makefile_frag} config/mt-x86pic"
    1134       ;;
    1135     ia64-*)
    1136       target_makefile_frag="${target_makefile_frag} config/mt-ia64pic"
    1137       ;;
    1138     powerpc*-*-aix*)
    1139       # We don't want -fPIC on AIX.
    1140       ;;
    1141     powerpc*-*)
    1142       target_makefile_frag="${target_makefile_frag} config/mt-ppcpic"
    1143       ;;
    1144     alpha*-*-linux*)
    1145       target_makefile_frag="${target_makefile_frag} config/mt-elfalphapic"
    1146       ;;
    1147     *)
    1148       if test -f ${srcdir}/config/mt-${target_cpu}pic; then
    1149         target_makefile_frag="${target_makefile_frag} config/mt-${target_cpu}pic"
     1227  mips*-*-irix6*o32)
     1228    with_stabs=yes;
     1229    extra_host_args="${extra_host_args} --with-stabs"
     1230    ;;
     1231  mips*-*-irix6*)
     1232    ;;
     1233  mips*-*-* | alpha*-*-osf*)
     1234    with_stabs=yes;
     1235    extra_host_args="${extra_host_args} --with-stabs"
     1236    ;;
     1237  esac
     1238fi
     1239
     1240# hpux11 in 64bit mode has libraries in a weird place.  Arrange to find
     1241# them automatically.
     1242case "${host}" in
     1243  hppa*64*-*-hpux11*)   
     1244    extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
     1245    ;;
     1246esac
     1247
     1248# If we aren't going to be using gcc, see if we can extract a definition
     1249# of CC from the fragment.
     1250# Actually, use the 'pre-extracted' version above.
     1251if test -z "${CC}" && test "${build}" = "${host}" ; then
     1252  IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
     1253  found=
     1254  for dir in $PATH; do
     1255    test -z "$dir" && dir=.
     1256    if test -f $dir/gcc; then
     1257      found=yes
     1258      break
     1259    fi
     1260  done
     1261  IFS="$save_ifs"
     1262  if test -z "${found}" && test -n "${tentative_cc}" ; then
     1263    CC=$tentative_cc
     1264  fi
     1265fi
     1266
     1267# Some systems (e.g., one of the i386-aix systems the gas testers are
     1268# using) don't handle "\$" correctly, so don't use it here.
     1269tooldir='$(exec_prefix)'/${target_alias}
     1270build_tooldir=${tooldir}
     1271
     1272# Generate a default definition for YACC.  This is used if the makefile can't
     1273# locate bison or byacc in objdir.
     1274
     1275for prog in 'bison -y' byacc yacc
     1276do
     1277  set dummy $prog; tmp=$2
     1278  IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
     1279  for dir in $PATH; do
     1280    test -z "$dir" && dir=.
     1281    if test -f $dir/$tmp; then
     1282      DEFAULT_YACC="$prog"
     1283      break
     1284    fi
     1285  done
     1286  IFS="$save_ifs"
     1287
     1288  test -n "$DEFAULT_YACC" && break
     1289done
     1290
     1291# Generate a default definition for M4.  This is used if the makefile can't
     1292# locate m4 in objdir.
     1293
     1294for prog in gm4 gnum4 m4
     1295do
     1296  set dummy $prog; tmp=$2
     1297  IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
     1298  for dir in $PATH; do
     1299    test -z "$dir" && dir=.
     1300    if test -f $dir/$tmp; then
     1301      DEFAULT_M4="$prog"
     1302      break
     1303    fi
     1304  done
     1305  IFS="$save_ifs"
     1306
     1307  test -n "$DEFAULT_M4" && break
     1308done
     1309
     1310# Generate a default definition for LEX.  This is used if the makefile can't
     1311# locate flex in objdir.
     1312
     1313for prog in flex lex
     1314do
     1315  set dummy $prog; tmp=$2
     1316  IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
     1317  for dir in $PATH; do
     1318    test -z "$dir" && dir=.
     1319    if test -f $dir/$tmp; then
     1320      DEFAULT_LEX="$prog"
     1321      break
     1322    fi
     1323  done
     1324  IFS="$save_ifs"
     1325
     1326  test -n "$DEFAULT_LEX" && break
     1327done
     1328
     1329if test "${build}" != "${host}" ; then
     1330  # If we are doing a Canadian Cross, in which the host and build systems
     1331  # are not the same, we set reasonable default values for the tools.
     1332
     1333  BISON=${BISON-bison}
     1334  CC=${CC-${host_alias}-gcc}
     1335  CFLAGS=${CFLAGS-"-g -O2"}
     1336  CXX=${CXX-${host_alias}-c++}
     1337  CXXFLAGS=${CXXFLAGS-"-g -O2"}
     1338  CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
     1339  CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
     1340  CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
     1341  GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
     1342  GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
     1343  BUILD_PREFIX=${build_alias}-
     1344  BUILD_PREFIX_1=${build_alias}-
     1345  MAKEINFO=${MAKEINFO-makeinfo}
     1346
     1347  if test -z "${YACC}" ; then
     1348    IFS="${IFS=         }"; save_ifs="$IFS"; IFS="${IFS}:"
     1349    for dir in $PATH; do
     1350      test -z "$dir" && dir=.
     1351      if test -f $dir/bison; then
     1352        YACC="bison -y"
     1353        break
    11501354      fi
    1151       ;;
     1355      if test -f $dir/byacc; then
     1356        YACC=byacc
     1357        break
     1358      fi
     1359      if test -f $dir/yacc; then
     1360        YACC=yacc
     1361        break
     1362      fi
     1363    done
     1364    IFS="$save_ifs"
     1365    if test -z "${YACC}" ; then
     1366      YACC="bison -y"
     1367    fi
     1368  fi
     1369
     1370  if test -z "${LEX}" ; then
     1371    IFS="${IFS=         }"; save_ifs="$IFS"; IFS="${IFS}:"
     1372    for dir in $PATH; do
     1373      test -z "$dir" && dir=.
     1374      if test -f $dir/flex; then
     1375        LEX=flex
     1376        break
     1377      fi
     1378      if test -f $dir/lex; then
     1379        LEX=lex
     1380        break
     1381      fi
     1382    done
     1383    IFS="$save_ifs"
     1384    LEX=${LEX-flex}
     1385  fi
     1386
     1387else
     1388  # Set reasonable default values for some tools even if not Canadian.
     1389  # Of course, these are different reasonable default values, originally
     1390  # specified directly in the Makefile.
     1391  # We don't export, so that autoconf can do its job.
     1392  # Note that all these settings are above the fragment inclusion point
     1393  # in Makefile.in, so can still be overridden by fragments.
     1394  # This is all going to change when we autoconfiscate...
     1395
     1396  BISON="\$(USUAL_BISON)"
     1397  CC_FOR_BUILD="\$(CC)"
     1398  GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
     1399  BUILD_PREFIX=
     1400  BUILD_PREFIX_1=loser-
     1401  MAKEINFO="\$(USUAL_MAKEINFO)"
     1402  LEX="\$(USUAL_LEX)"
     1403  YACC="\$(USUAL_YACC)"
     1404
     1405  # If CC is still not set, try to get gcc.
     1406  cc_prog_is_gcc=
     1407  if test -z "${CC}" ; then
     1408    IFS="${IFS=         }"; save_ifs="$IFS"; IFS="${IFS}:"
     1409    for dir in $PATH; do
     1410      test -z "$dir" && dir=.
     1411      if test -f $dir/gcc; then
     1412        CC="gcc"
     1413        cc_prog_is_gcc=yes
     1414        echo 'void f(){}' > conftest.c
     1415        if test -z "`${CC} -g -c conftest.c 2>&1`"; then
     1416          CFLAGS=${CFLAGS-"-g -O2"}
     1417          CXXFLAGS=${CXXFLAGS-"-g -O2"}
     1418        else
     1419          CFLAGS=${CFLAGS-"-O2"}
     1420          CXXFLAGS=${CXXFLAGS-"-O2"}
     1421        fi
     1422        rm -f conftest*
     1423        break
     1424      fi
     1425    done
     1426    IFS="$save_ifs"
     1427    CC=${CC-cc}
     1428  else
     1429    # Determine if we are using gcc.
     1430    cat > conftest.c <<EOF
     1431#ifdef __GNUC__
     1432  yes;
     1433#endif
     1434EOF
     1435    if ${CC} -E conftest.c | grep yes >/dev/null 2>&1; then
     1436      cc_prog_is_gcc=yes
     1437    fi
     1438    rm -f conftest.c
     1439    if test -z "${CFLAGS}"; then
     1440      # Here CC is set but CFLAGS is not.  Use a quick hack to use -O2 if CC
     1441      # is set to a version of gcc.
     1442      if test "$cc_prog_is_gcc" = yes; then
     1443        echo 'void f(){}' > conftest.c
     1444        if test -z "`${CC} -g -c conftest.c 2>&1`"; then
     1445          CFLAGS=${CFLAGS-"-g -O2"}
     1446          CXXFLAGS=${CXXFLAGS-"-g -O2"}
     1447        else
     1448          CFLAGS=${CFLAGS-"-O2"}
     1449          CXXFLAGS=${CXXFLAGS-"-O2"}
     1450        fi
     1451        rm -f conftest*
     1452      fi
     1453    fi
     1454  fi
     1455
     1456  # We must set the default linker to the linker used by gcc for the correct
     1457  # operation of libtool.  If LD is not defined and we are using gcc, try to
     1458  # set the LD default to the ld used by gcc.
     1459  if test -z "$LD"; then
     1460    if test "$cc_prog_is_gcc" = yes; then
     1461      case $build in
     1462      *-*-mingw*)
     1463        gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
     1464      *)
     1465        gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
     1466      esac
     1467      case $gcc_prog_ld in
     1468      # Accept absolute paths.
     1469      [[\\/]* | [A-Za-z]:[\\/]*)]
     1470        LD="$gcc_prog_ld" ;;
     1471      esac
     1472    fi
     1473  fi
     1474
     1475  CXX=${CXX-"c++"}
     1476  CFLAGS=${CFLAGS-"-g"}
     1477  CXXFLAGS=${CXXFLAGS-"-g -O2"}
     1478fi
     1479
     1480# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest)
     1481# Set up the list of links to be made.
     1482# ${links} is the list of link names, and ${files} is the list of names to link to.
     1483
     1484# Make the links.
     1485configlinks="${links}"
     1486if test -r ./config.status  ; then
     1487  mv -f ./config.status ./config.back
     1488fi
     1489while test -n "${files}" ; do
     1490  # set file to car of files, files to cdr of files
     1491  set ${files}; file=$1; shift; files=$*
     1492  set ${links}; link=$1; shift; links=$*
     1493
     1494  if test ! -r ${srcdir}/${file} ; then
     1495    if test ! -r ${file} ; then
     1496      echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
     1497      echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2
     1498      exit 1
     1499    else
     1500      srcfile=${file}
     1501    fi
     1502  else
     1503    srcfile=${srcdir}/${file}
     1504  fi
     1505
     1506  ${remove} -f ${link}
     1507  # Make a symlink if possible, otherwise try a hard link
     1508  if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then
     1509    true
     1510  else
     1511    # We need to re-remove the file because Lynx leaves a
     1512    # very strange directory there when it fails an NFS symlink.
     1513    ${remove} -r -f ${link}
     1514    ${hard_link} ${srcfile} ${link}
     1515  fi
     1516  if test ! -r ${link} ; then
     1517    echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
     1518    exit 1
     1519  fi
     1520
     1521  echo "Linked \"${link}\" to \"${srcfile}\"."
     1522done
     1523
     1524# Create a .gdbinit file which runs the one in srcdir
     1525# and tells GDB to look there for source files.
     1526
     1527if test -r ${srcdir}/.gdbinit ; then
     1528  case ${srcdir} in
     1529    .) ;;
     1530    *) cat > ./.gdbinit <<EOF
     1531# ${NO_EDIT}
     1532dir ${srcdir}
     1533dir .
     1534source ${srcdir}/.gdbinit
     1535EOF
     1536    ;;
    11521537  esac
    11531538fi
    1154 
    1155 rm -f mt-frag
    1156 if [ -n "${target_makefile_frag}" ] ; then
    1157   for f in ${target_makefile_frag}
    1158   do
    1159     cat ${srcdir}/$f >> mt-frag
    1160   done
    1161   target_makefile_frag=mt-frag
    1162 fi
    1163 
    1164 # post-target:
    11651539
    11661540# Make sure that the compiler is able to generate an executable.  If it
     
    11681542# executable--we might be using a cross compiler--we only care whether it
    11691543# can be created.  At this point the main configure script has set CC.
     1544we_are_ok=no
    11701545echo "int main () { return 0; }" > conftest.c
    11711546${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
    1172 if [ $? = 0 ] && [ -s conftest -o -s conftest.exe ]; then
    1173   :
    1174 else
    1175   echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
    1176   echo 1>&2 "*** You must set the environment variable CC to a working compiler."
    1177   rm -f conftest*
    1178   exit 1
    1179 fi
     1547if test $? = 0 ; then
     1548  if test -s conftest || test -s conftest.exe ; then
     1549    we_are_ok=yes
     1550  fi
     1551fi
     1552case $we_are_ok in
     1553  no)
     1554    echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
     1555    echo 1>&2 "*** You must set the environment variable CC to a working compiler."
     1556    rm -f conftest*
     1557    exit 1
     1558    ;;
     1559esac
    11801560rm -f conftest*
    11811561
     
    11841564  sparc-sun-solaris2*)
    11851565      CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
    1186       if [ "`/usr/bin/which $CCBASE`" = "/usr/ucb/cc" ] ; then
     1566      if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
    11871567          could_use=
    1188           [ -d /opt/SUNWspro/bin ] && could_use="/opt/SUNWspro/bin"
    1189           if [ -d /opt/cygnus/bin ] ; then
    1190               if [ "$could_use" = "" ] ; then
     1568          test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
     1569          if test -d /opt/cygnus/bin ; then
     1570              if test "$could_use" = "" ; then
    11911571                  could_use="/opt/cygnus/bin"
    11921572              else
     
    11941574              fi
    11951575          fi
    1196         if [ "$could_use" = "" ] ; then
     1576        if test "$could_use" = "" ; then
    11971577            echo "Warning: compilation may fail because you're using"
    11981578            echo "/usr/ucb/cc.  You should change your PATH or CC "
     
    12101590# If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
    12111591# binutils tools will find libbfd.so.
    1212 if [ "${shared}" = "yes" ]; then
    1213   sed -e 's/^SET_LIB_PATH[      ]*=.*$/SET_LIB_PATH = $(REALLY_SET_LIB_PATH)/' \
    1214       Makefile > Makefile.tem
    1215   rm -f Makefile
    1216   mv -f Makefile.tem Makefile
    1217 
    1218   case "${host}" in
    1219   *-*-hpux*)
    1220     sed -e 's/^RPATH_ENVVAR[    ]*=.*$/RPATH_ENVVAR = SHLIB_PATH/' \
    1221         Makefile > Makefile.tem
    1222     rm -f Makefile
    1223     mv -f Makefile.tem Makefile
    1224     ;;
     1592case "${enable_shared}" in
     1593  no | "") SET_LIB_PATH= ;;
     1594  *) SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)" ;;
     1595esac
     1596
     1597case "${host}" in
     1598  *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
     1599  *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
     1600esac
     1601
     1602# Record target_configdirs and the configure arguments for target and
     1603# build configuration in Makefile.
     1604target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
     1605
     1606# This is the final value for target_configdirs.  configdirs already
     1607# has its final value.  It's time to create some lists of valid targets.
     1608
     1609# While at that, we remove Makefiles if we were started for recursive
     1610# configuration, such that the top-level Makefile reconfigures them,
     1611# like we used to do when configure itself was recursive.
     1612
     1613all_build_modules=
     1614configure_build_modules=
     1615# Only make build modules if build != host.
     1616# This should be done more generally, but at the moment it doesn't matter.
     1617if test ${host_alias} != ${build_alias} ; then
     1618  for module in libiberty ; do
     1619    all_build_modules=all-build-${module}
     1620    configure_build_modules=configure-build-${module}
     1621    if test -z "${no_recursion}" \
     1622       && test -f ${build_subdir}/${module}/Makefile; then
     1623      echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
     1624      rm -f ${build_subdir}/${module}/Makefile
     1625    fi
     1626  done
     1627fi
     1628
     1629all_host_modules=
     1630check_host_modules=
     1631install_host_modules=
     1632configure_host_modules=
     1633for module in ${configdirs} ; do
     1634  all_host_modules="${all_host_modules} all-${module}"
     1635  check_host_modules="${check_host_modules} check-${module}"
     1636  install_host_modules="${install_host_modules} install-${module}"
     1637  configure_host_modules="${configure_host_modules} configure-${module}"
     1638  if test -z "${no_recursion}" \
     1639     && test -f ${module}/Makefile; then
     1640    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
     1641    rm -f ${module}/Makefile
     1642  fi
     1643done
     1644install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
     1645
     1646all_target_modules=
     1647check_target_modules=
     1648install_target_modules=
     1649configure_target_modules=
     1650for module in ${target_configdirs} ; do
     1651  all_target_modules="${all_target_modules} all-target-${module}"
     1652  check_target_modules="${check_target_modules} check-target-${module}"
     1653  install_target_modules="${install_target_modules} install-target-${module}"
     1654  configure_target_modules="${configure_target_modules} configure-target-${module}"
     1655  if test -z "${no_recursion}" \
     1656     && test -f ${target_subdir}/${module}/Makefile; then
     1657    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
     1658    rm -f ${target_subdir}/${module}/Makefile
     1659  fi
     1660done
     1661
     1662# Determine whether gdb needs tk/tcl or not.
     1663# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
     1664# and in that case we want gdb to be built without tk.  Ugh!
     1665# In fact I believe gdb is the *only* package directly dependent on tk,
     1666# so we should be able to put the 'maybe's in unconditionally and
     1667# leave out the maybe dependencies when enable_gdbtk is false.  I'm not
     1668# 100% sure that that's safe though.
     1669
     1670gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui"
     1671case "$enable_gdbtk" in
     1672  no)
     1673    GDB_TK="" ;;
     1674  yes)
     1675    GDB_TK="${gdb_tk}" ;;
     1676  *)
     1677    # Only add the dependency on gdbtk when GDBtk is part of the gdb
     1678    # distro.  Eventually someone will fix this and move Insight, nee
     1679    # gdbtk to a separate directory.
     1680    if test -d ${srcdir}/gdb/gdbtk ; then
     1681      GDB_TK="${gdb_tk}"
     1682    else
     1683      GDB_TK=""
     1684    fi
     1685    ;;
     1686esac
     1687
     1688# Create the 'maybe dependencies'.  This uses a temporary file.
     1689rm -f maybedep.tmp
     1690echo '# maybedep.tmp' > maybedep.tmp
     1691for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
     1692        ${install_host_modules} ${install_target_modules} \
     1693        ${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
     1694        ; do
     1695  echo "maybe-${item}: ${item}" >> maybedep.tmp
     1696done
     1697maybe_dependencies=maybedep.tmp
     1698AC_SUBST_FILE(maybe_dependencies)
     1699
     1700# Create the serialization dependencies.  This uses a temporary file.
     1701
     1702AC_ARG_ENABLE([serial-configure],
     1703[  --disable-serial-[{host,target,build}-]configure
     1704                          Don't force sequential configuration of
     1705                          sub-packages for the host, target or build
     1706                          machine, or of any sub-packages at all])
     1707
     1708# These force 'configure's to be done one at a time, to avoid problems
     1709# with contention over a shared config.cache.
     1710rm -f serdep.tmp
     1711echo '# serdep.tmp' > serdep.tmp
     1712olditem=
     1713test "x${enable_serial_configure}" = xno ||
     1714test "x${enable_serial_build_configure}" = xno ||
     1715for item in ${build_configdirs} ; do
     1716  case ${olditem} in
     1717    "") ;;
     1718    *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
    12251719  esac
    1226 fi
    1227 
    1228 # Record target_configdirs and the configure arguments in Makefile.
    1229 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
    1230 targargs=`echo "${arguments}" | \
    1231         sed -e 's/--no[^        ]*//' \
    1232             -e 's/--cache[a-z-]*=[^     ]*//' \
    1233             -e 's/--ho[a-z-]*=[^        ]*//' \
    1234             -e 's/--bu[a-z-]*=[^        ]*//' \
    1235             -e 's/--ta[a-z-]*=[^        ]*//'`
     1720  olditem=${item}
     1721done
     1722olditem=
     1723test "x${enable_serial_configure}" = xno ||
     1724test "x${enable_serial_host_configure}" = xno ||
     1725for item in ${configdirs} ; do
     1726  case ${olditem} in
     1727    "") ;;
     1728    *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
     1729  esac
     1730  olditem=${item}
     1731done
     1732olditem=
     1733test "x${enable_serial_configure}" = xno ||
     1734test "x${enable_serial_target_configure}" = xno ||
     1735for item in ${target_configdirs} ; do
     1736  case ${olditem} in
     1737    "") ;;
     1738    *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
     1739  esac
     1740  olditem=${item}
     1741done
     1742serialization_dependencies=serdep.tmp
     1743AC_SUBST_FILE(serialization_dependencies)
     1744
     1745# Base args.  Strip norecursion, cache-file, srcdir, host, build,
     1746# target and nonopt.  These are the ones we might not want to pass
     1747# down to subconfigures.
     1748baseargs=`echo " ${ac_configure_args} " | \
     1749        sed -e 's/ --no[[^ ]]* / /' \
     1750            -e 's/ --c[[a-z-]]*[[= ]][[^ ]]* / /' \
     1751            -e 's/ --sr[[a-z-]]*[[= ]][[^ ]]* / /' \
     1752            -e 's/ --ho[[a-z-]]*[[= ]][[^ ]]* / /' \
     1753            -e 's/ --bu[[a-z-]]*[[= ]][[^ ]]* / /' \
     1754            -e 's/ --t[[a-z-]]*[[= ]][[^ ]]* / /' \
     1755            -e 's/ -cache-file[[= ]][[^ ]]* / /' \
     1756            -e 's/ -srcdir[[= ]][[^ ]]* / /' \
     1757            -e 's/ -host[[= ]][[^ ]]* / /' \
     1758            -e 's/ -build[[= ]][[^ ]]* / /' \
     1759            -e 's/ -target[[= ]][[^ ]]* / /' \
     1760            -e "s/ [[^' -][^ ]*] / /" \
     1761            -e 's/^ *//;s/ *$//'`
     1762
     1763# For the build-side libraries, we just need to pretend we're native,
     1764# and not use the same cache file.  Multilibs are neither needed nor
     1765# desired.
     1766build_configargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
     1767
     1768# For host modules, accept cache file option, or specification as blank.
     1769case "${cache_file}" in
     1770"") # empty
     1771  cache_file_option="" ;;
     1772/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
     1773  cache_file_option="--cache-file=${cache_file}" ;;
     1774*) # relative path
     1775  cache_file_option="--cache-file=../${cache_file}" ;;
     1776esac
     1777
     1778host_configargs="${cache_file_option} --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
     1779
     1780target_configargs=${baseargs}
    12361781
    12371782# Passing a --with-cross-host argument lets the target libraries know
     
    12401785# sorts of decisions they want to make on this basis.  Please consider
    12411786# this option to be deprecated.  FIXME.
    1242 if [ x${is_cross_compiler} = xyes ]; then
    1243   targargs="--with-cross-host=${host_alias} ${targargs}"
     1787if test x${is_cross_compiler} = xyes ; then
     1788  target_configargs="--with-cross-host=${host_alias} ${target_configargs}"
    12441789fi
    12451790
    12461791# Default to --enable-multilib.
    1247 if [ x${enable_multilib} = x ]; then
    1248   targargs="--enable-multilib ${targargs}"
     1792if test x${enable_multilib} = x ; then
     1793  target_configargs="--enable-multilib ${target_configargs}"
    12491794fi
    12501795
    12511796# Pass --with-newlib if appropriate.  Note that target_configdirs has
    12521797# changed from the earlier setting of with_newlib.
    1253 if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then
    1254   targargs="--with-newlib ${targargs}"
    1255 fi
     1798if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
     1799  target_configargs="--with-newlib ${target_configargs}"
     1800fi
     1801
     1802# Pass the appropriate --host, --build, and --cache-file arguments.
     1803target_configargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
    12561804
    12571805# provide a proper gxx_include_dir.
    12581806# Note, if you change the default, make sure to fix both here and in
    1259 # the gcc, libio, and libstdc++ subdirectories.
     1807# the gcc and libstdc++-v3 subdirectories.
    12601808# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
    1261 gxx_include_dir=
    1262 if test -n "${with_gxx_include_dir}"; then
    1263   case "${with_gxx_include_dir}" in
    1264     yes )
    1265       echo "configure.in: error: bad value ${withval} given for g++ include directory" 1>&2
    1266       exit 1
    1267       ;;
    1268     no )
    1269       ;;
    1270     * )
    1271       gxx_include_dir=${with_gxx_include_dir}
    1272       ;;
    1273   esac
    1274 fi
    1275 if test x${gxx_include_dir} = x; then
    1276   if test x${enable_version_specific_runtime_libs} = xyes; then
    1277     gxx_include_dir='${libsubdir}/include/g++'
    1278   else
    1279     . ${topsrcdir}/config.if
    1280     gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface}
    1281   fi
    1282 else
    1283   gxx_include_dir=${gxx_include_dir}
    1284 fi
     1809case "${with_gxx_include_dir}" in
     1810  yes)
     1811    AC_MSG_ERROR([--with-gxx-include-dir=[[dir]] requires a directory])
     1812    ;;
     1813  no | "")
     1814    case "${enable_version_specific_runtime_libs}" in
     1815      yes) gxx_include_dir='${libsubdir}/include/c++' ;;
     1816      *)
     1817        . ${srcdir}/config.if
     1818        gxx_include_dir='${prefix}/include/'${libstdcxx_incdir} ;;
     1819    esac ;;
     1820  *) gxx_include_dir=${with_gxx_include_dir} ;;
     1821esac
    12851822
    12861823FLAGS_FOR_TARGET=
    1287 case " $skipdirs " in
    1288 *" target-newlib "*) ;;
    1289 *)
     1824case " $target_configdirs " in
     1825 *" newlib "*)
     1826  case " $target_configargs " in
     1827  *" --with-newlib "*)
    12901828   case "$target" in
    12911829   *-cygwin*)
     
    12941832
    12951833   # If we're not building GCC, don't discard standard headers.
    1296    if test -d ${topsrcdir}/gcc; then
     1834   if test -d ${srcdir}/gcc; then
    12971835     FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
    12981836
     
    13161854   fi
    13171855
    1318    # If we're building newlib, use its generic headers last, but search
    1319    # for any libc-related directories first (so make it the last -B
    1320    # switch).
    1321    FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
     1856   case "${target}-${is_cross_compiler}" in
     1857   i[[3456]]86-*-linux*-no)
     1858      # Here host == target, so we don't need to build gcc,
     1859      # so we don't want to discard standard headers.
     1860      FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
     1861      ;;
     1862   *)
     1863      # If we're building newlib, use its generic headers last, but search
     1864      # for any libc-related directories first (so make it the last -B
     1865      # switch).
     1866      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
     1867      ;;
     1868   esac
    13221869   ;;
     1870  esac
     1871  ;;
    13231872esac
    13241873
     
    13271876# flags for directories within the install tree of the compiler
    13281877# being built; programs in there won't even run.
    1329 if test "${build}" = "${host}" && test -d ${topsrcdir}/gcc; then
     1878if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
    13301879  # Search for pre-installed headers if nothing else fits.
    1331   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include'
    1332 fi
    1333 
    1334 if test "x${use_gnu_ld}" = x && test "x${with_gnu_ld}" != xno &&
    1335    echo " ${configdirs} " | grep " ld " > /dev/null &&
    1336    test -d ${srcdir}/ld; then
     1880  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
     1881fi
     1882
     1883if test "x${use_gnu_ld}" = x &&
     1884   echo " ${configdirs} " | grep " ld " > /dev/null ; then
    13371885  # Arrange for us to find uninstalled linker scripts.
    13381886  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
     
    13411889if test "x${CC_FOR_TARGET+set}" = xset; then
    13421890  :
    1343 elif test -d ${topsrcdir}/gcc; then
     1891elif test -d ${srcdir}/gcc; then
    13441892  CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
    13451893elif test "$host" = "$target"; then
    13461894  CC_FOR_TARGET='$(CC)'
    13471895else
    1348   CC_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`
    1349 fi
    1350 # On Canadian crosses, configure reads CC_FOR_TARGET from Makefile,
    1351 # if Makefile exists.  Prevent $(FLAGS_FOR_TARGET) from being duplicated.
    1352 case $CC_FOR_TARGET in
    1353 *' $(FLAGS_FOR_TARGET)') ;;
    1354 *) CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
    1355 esac
    1356 
    1357 if test "x${CHILL_FOR_TARGET+set}" = xset; then
     1896  CC_FOR_TARGET=`echo gcc | sed "${program_transform_name}"`
     1897fi
     1898CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)'
     1899
     1900if test "x${GCJ_FOR_TARGET+set}" = xset; then
    13581901  :
    1359 elif test -d ${topsrcdir}/gcc; then
    1360   CHILL_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/ -L$$r/gcc/ch/runtime/'
     1902elif test -d ${srcdir}/gcc; then
     1903  GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
    13611904elif test "$host" = "$target"; then
    1362   CHILL_FOR_TARGET='$(CC)'
     1905  GCJ_FOR_TARGET='gcj'
    13631906else
    1364   CHILL_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`
    1365 fi
    1366 case $CHILL_FOR_TARGET in
    1367 *' $(FLAGS_FOR_TARGET)') ;;
    1368 *) CHILL_FOR_TARGET=$CHILL_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
    1369 esac
     1907  GCJ_FOR_TARGET=`echo gcj | sed "${program_transform_name}"`
     1908fi
     1909GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)'
     1910
     1911# Don't use libstdc++-v3's flags to configure/build itself.
     1912libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
     1913raw_libstdcxx_flags=' -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
    13701914
    13711915if test "x${CXX_FOR_TARGET+set}" = xset; then
    13721916  :
    1373 elif test -d ${topsrcdir}/gcc; then
     1917elif test -d ${srcdir}/gcc; then
     1918  # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
     1919  # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
     1920  # default whereas gcc does not.
     1921  # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
     1922  # all other cases.
    13741923  CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
     1924  RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
    13751925elif test "$host" = "$target"; then
    13761926  CXX_FOR_TARGET='$(CXX)'
     1927  RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
    13771928else
    1378   CXX_FOR_TARGET=`echo c++ | sed -e 's/x/x/' ${program_transform_name}`
    1379 fi
    1380 case $CXX_FOR_TARGET in
    1381 *' $(FLAGS_FOR_TARGET)') ;;
    1382 *) CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
    1383 esac
    1384 qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,&,\\\&,g'`
    1385 
    1386 targargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${targargs}"
    1387 sed -e "s:^TARGET_CONFIGDIRS[   ]*=.*$:TARGET_CONFIGDIRS = ${target_configdirs}:" \
    1388     -e "s%^CONFIG_ARGUMENTS[    ]*=.*$%CONFIG_ARGUMENTS = ${targargs}%" \
    1389     -e "s%^FLAGS_FOR_TARGET[    ]*=.*$%FLAGS_FOR_TARGET = ${FLAGS_FOR_TARGET}%" \
    1390     -e "s%^CC_FOR_TARGET[       ]*=.*$%CC_FOR_TARGET = ${CC_FOR_TARGET}%" \
    1391     -e "s%^CHILL_FOR_TARGET[    ]*=.*$%CHILL_FOR_TARGET = ${CHILL_FOR_TARGET}%" \
    1392     -e "s%^CXX_FOR_TARGET[      ]*=.*$%CXX_FOR_TARGET = ${qCXX_FOR_TARGET}%" \
    1393     -e "s%^TARGET_SUBDIR[       ]*=.*$%TARGET_SUBDIR = ${target_subdir}%" \
    1394     -e "s%^gxx_include_dir[     ]*=.*$%gxx_include_dir=${gxx_include_dir}%" \
    1395        Makefile > Makefile.tem
    1396 rm -f Makefile
    1397 mv -f Makefile.tem Makefile
    1398 
    1399 #
    1400 # Local Variables:
    1401 # fill-column: 131
    1402 # End:
    1403 #
     1929  CXX_FOR_TARGET=`echo c++ | sed "${program_transform_name}"`
     1930  RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
     1931fi
     1932CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
     1933RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
     1934
     1935qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
     1936qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
     1937
     1938# We want to defer the evaluation of `cmd`s and shell variables in
     1939# CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
     1940# bootstrap.  We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
     1941# quotes, but we still have to duplicate `$'s so that shell variables
     1942# can be expanded by the nested make as shell variables, not as make
     1943# macros.
     1944qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
     1945qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
     1946
     1947# Wrap CC_FOR_TARGET and friends, for certain types of builds.
     1948CC_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}"
     1949GCJ_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}"
     1950CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}"
     1951RAW_CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}"
     1952CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}"
     1953RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}"
     1954
     1955# Makefile fragments.
     1956host_makefile_frag=${srcdir}/${host_makefile_frag}
     1957target_makefile_frag=${srcdir}/${target_makefile_frag}
     1958alphaieee_frag=${srcdir}/${alphaieee_frag}
     1959ospace_frag=${srcdir}/${ospace_frag}
     1960AC_SUBST_FILE(host_makefile_frag)
     1961AC_SUBST_FILE(target_makefile_frag)
     1962AC_SUBST_FILE(alphaieee_frag)
     1963AC_SUBST_FILE(ospace_frag)
     1964
     1965# Miscellanea: directories, flags, etc.
     1966AC_SUBST(SET_LIB_PATH)
     1967AC_SUBST(RPATH_ENVVAR)
     1968AC_SUBST(BUILD_PREFIX)
     1969AC_SUBST(BUILD_PREFIX_1)
     1970AC_SUBST(configlinks)
     1971AC_SUBST(gcc_version_trigger)
     1972AC_SUBST(gcc_version)
     1973AC_SUBST(tooldir)
     1974AC_SUBST(build_tooldir)
     1975AC_SUBST(GDB_TK)
     1976AC_SUBST(gxx_include_dir)
     1977AC_SUBST(libstdcxx_incdir)
     1978
     1979# Build module lists & subconfigure args.
     1980AC_SUBST(build_subdir)
     1981AC_SUBST(build_configargs)
     1982AC_SUBST(configure_build_modules)
     1983AC_SUBST(all_build_modules)
     1984
     1985# Host module lists & subconfigure args.
     1986AC_SUBST(host_configargs)
     1987AC_SUBST(configdirs)
     1988AC_SUBST(configure_host_modules)
     1989AC_SUBST(all_host_modules)
     1990AC_SUBST(check_host_modules)
     1991AC_SUBST(install_host_modules)
     1992AC_SUBST(install_host_modules_nogcc)
     1993
     1994# Target module lists & subconfigure args.
     1995AC_SUBST(target_subdir)
     1996AC_SUBST(target_configargs)
     1997AC_SUBST(target_configdirs)
     1998AC_SUBST(configure_target_modules)
     1999AC_SUBST(all_target_modules)
     2000AC_SUBST(check_target_modules)
     2001AC_SUBST(install_target_modules)
     2002
     2003# Build tools.
     2004AC_SUBST(BISON)
     2005AC_SUBST(CC_FOR_BUILD)
     2006AC_SUBST(LEX)
     2007AC_SUBST(MAKEINFO)
     2008AC_SUBST(YACC)
     2009AC_SUBST(config_shell)
     2010
     2011# Host tools.
     2012NCN_STRICT_CHECK_TOOL(AR, ar)
     2013NCN_STRICT_CHECK_TOOL(AS, as)
     2014NCN_STRICT_CHECK_TOOL(DLLTOOL, dlltool)
     2015NCN_STRICT_CHECK_TOOL(LD, ld)
     2016NCN_STRICT_CHECK_TOOL(NM, nm)
     2017NCN_STRICT_CHECK_TOOL(RANLIB, ranlib, :)
     2018NCN_STRICT_CHECK_TOOL(WINDRES, windres)
     2019NCN_STRICT_CHECK_TOOL(OBJCOPY, objcopy)
     2020NCN_STRICT_CHECK_TOOL(OBJDUMP, objdump)
     2021AC_SUBST(CC)
     2022AC_SUBST(CXX)
     2023AC_SUBST(CFLAGS)
     2024AC_SUBST(CXXFLAGS)
     2025AC_SUBST(DEFAULT_YACC)
     2026AC_SUBST(DEFAULT_LEX)
     2027AC_SUBST(DEFAULT_M4)
     2028
     2029# Target tools.
     2030NCN_STRICT_CHECK_TARGET_TOOL(AR_FOR_TARGET, ar)
     2031NCN_STRICT_CHECK_TARGET_TOOL(AS_FOR_TARGET, as)
     2032NCN_STRICT_CHECK_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
     2033NCN_STRICT_CHECK_TARGET_TOOL(LD_FOR_TARGET, ld)
     2034NCN_STRICT_CHECK_TARGET_TOOL(NM_FOR_TARGET, nm)
     2035NCN_STRICT_CHECK_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib, :)
     2036NCN_STRICT_CHECK_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
     2037
     2038AC_SUBST(GCC_FOR_TARGET)
     2039AC_SUBST(FLAGS_FOR_TARGET)
     2040AC_SUBST(CC_FOR_TARGET)
     2041AC_SUBST(GCJ_FOR_TARGET)
     2042AC_SUBST(CXX_FOR_TARGET)
     2043AC_SUBST(RAW_CXX_FOR_TARGET)
     2044AC_SUBST(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
     2045AC_SUBST(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
     2046
     2047# Fix up target tools.
     2048if test "x${build}" = "x${host}" ; then
     2049  # In this case, the newly built tools can and should be used,
     2050  # so we override the results of the autoconf tests.
     2051  # This should really only happen when the tools are actually being built,
     2052  # but that's a further refinement.  The new build scheme, where
     2053  # tools are built into a structure paralleling where they're installed,
     2054  # should also eliminate all of this cleanly.
     2055  AR_FOR_TARGET="\$(USUAL_AR_FOR_TARGET)"
     2056  AS_FOR_TARGET="\$(USUAL_AS_FOR_TARGET)"
     2057  DLLTOOL_FOR_TARGET="\$(USUAL_DLLTOOL_FOR_TARGET)"
     2058  LD_FOR_TARGET="\$(USUAL_LD_FOR_TARGET)"
     2059  NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)"
     2060  RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)"
     2061  WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)"
     2062fi
     2063# Certain tools may need extra flags.
     2064AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
     2065RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
     2066NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
     2067
     2068AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
     2069AC_ARG_ENABLE(maintainer-mode,
     2070[  --enable-maintainer-mode enable make rules and dependencies not useful
     2071                          (and sometimes confusing) to the casual installer],
     2072      USE_MAINTAINER_MODE=$enableval,
     2073      USE_MAINTAINER_MODE=no)
     2074AC_MSG_RESULT($USE_MAINTAINER_MODE)
     2075AC_SUBST(MAINTAINER_MODE_TRUE)
     2076AC_SUBST(MAINTAINER_MODE_FALSE)
     2077if test "$USE_MAINTAINER_MODE" = yes; then
     2078  MAINTAINER_MODE_TRUE=
     2079  MAINTAINER_MODE_FALSE='#'
     2080else
     2081  MAINTAINER_MODE_TRUE='#'
     2082  MAINTAINER_MODE_FALSE=
     2083fi     
     2084MAINT=$MAINTAINER_MODE_TRUE
     2085AC_SUBST(MAINT)dnl
     2086
     2087AC_OUTPUT(Makefile)
Note: See TracChangeset for help on using the changeset viewer.