From 55380b08d86adce0c8bf8c3415d02fcc81626e92 Mon Sep 17 00:00:00 2001 From: Nathanael Nerode Date: Mon, 1 Jul 2002 21:01:48 +0000 Subject: Reorganize, remove now-redundant tests. From-SVN: r55154 --- configure.in | 965 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 479 insertions(+), 486 deletions(-) (limited to 'configure.in') diff --git a/configure.in b/configure.in index ac26cd5..dc85de5 100644 --- a/configure.in +++ b/configure.in @@ -127,315 +127,6 @@ else is_cross_compiler=yes fi -# Work in distributions that contain no compiler tools, like Autoconf. -tentative_cc="" -if test -d ${srcdir}/config ; then -case "${host}" in - m68k-hp-hpux*) - # Avoid "too much defining" errors from HPUX compiler. - tentative_cc="cc -Wp,-H256000" - host_makefile_frag="config/mh-hp300" - ;; - m68k-apollo-sysv*) - tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG" - host_makefile_frag="config/mh-apollo68" - ;; - m68k-apollo-bsd*) - #None of the Apollo compilers can compile gas or binutils. The preprocessor - # chokes on bfd, the compiler won't let you assign integers to enums, and - # other problems. Defining CC to gcc is a questionable way to say "don't use - # the apollo compiler" (the preferred version of GCC could be called cc, - # or whatever), but I'm not sure leaving CC as cc is any better... - #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG - tentative_cc=gcc - host_makefile_frag="config/mh-a68bsd" - ;; - m88k-dg-dgux*) - tentative_cc="gcc -Wall -ansi -D__using_DGUX" - host_makefile_frag="config/mh-dgux" - ;; - m88k-harris-cxux*) - # Under CX/UX, we want to tell the compiler to use ANSI mode. - tentative_cc="cc -Xa" - host_makefile_frag="config/mh-cxux" - ;; - m88k-motorola-sysv*) - host_makefile_frag="config/mh-delta88" - ;; - mips*-dec-ultrix*) - tentative_cc="cc -Wf,-XNg1000" - host_makefile_frag="config/mh-decstation" - ;; - mips*-nec-sysv4*) - # The C compiler on NEC MIPS SVR4 needs bigger tables. - tentative_cc="cc -ZXNd=5000 -ZXNg=1000" - host_makefile_frag="config/mh-necv4" - ;; - mips*-sgi-irix6*) - host_makefile_frag="config/mh-irix6" - ;; - mips*-sgi-irix5*) - host_makefile_frag="config/mh-irix5" - ;; - mips*-sgi-irix4*) - # Tell compiler to use K&R C. We can't compile under the SGI Ansi - # environment. Also bump switch table size so that cp-parse will - # compile. Bump string length limit so linker builds. - tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192" - ;; - mips*-sgi-irix3*) - host_makefile_frag="config/mh-sysv" - ;; - mips*-*-sysv4*) - host_makefile_frag="config/mh-sysv4" - ;; - mips*-*-sysv*) - # This is for a MIPS running RISC/os 4.52C. - - # This is needed for GDB, but needs to be in the top-level make because - # if a library is compiled with the bsd headers and gets linked with the - # sysv system libraries all hell can break loose (e.g. a jmp_buf might be - # a different size). - # ptrace(2) apparently has problems in the BSD environment. No workaround is - # known except to select the sysv environment. Could we use /proc instead? - # These "sysv environments" and "bsd environments" often end up being a pain. - # - # This is not part of CFLAGS because perhaps not all C compilers have this - # option. - tentative_cc="cc -systype sysv" - host_makefile_frag="config/mh-riscos" - ;; - i370-ibm-opened*) - tentative_cc="c89" - host_makefile_frag="config/mh-openedition" - ;; - i[3456]86-*-sysv5*) - host_makefile_frag="config/mh-sysv5" - ;; - i[3456]86-*-dgux*) - tentative_cc="gcc -Wall -ansi -D__using_DGUX" - host_makefile_frag="config/mh-dgux386" - ;; - i[3456]86-ncr-sysv4.3*) - # The MetaWare compiler will generate a copyright message unless you - # turn it off by adding the -Hnocopyr flag. - tentative_cc="cc -Hnocopyr" - host_makefile_frag="config/mh-ncrsvr43" - ;; - i[3456]86-ncr-sysv4*) - # for an NCR 3000 (i486/SVR4) system. - # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc. - # This compiler not only emits obnoxious copyright messages every time - # you run it, but it chokes and dies on a whole bunch of GNU source - # files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc. - tentative_cc="/usr/ccs/ATT/cc" - host_makefile_frag="config/mh-ncr3000" - ;; - i[3456]86-*-sco3.2v5*) - host_makefile_frag="config/mh-sysv" - ;; - i[3456]86-*-sco*) - # The native C compiler botches some simple uses of const. Unfortunately, - # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h. - tentative_cc="cc -Dconst=" - host_makefile_frag="config/mh-sco" - ;; - i[3456]86-*-udk*) - host_makefile_frag="config/mh-sysv5" - ;; - i[3456]86-*-isc*) - host_makefile_frag="config/mh-sysv" - ;; - i[3456]86-*-solaris2*) - host_makefile_frag="config/mh-sysv4" - ;; - i[3456]86-*-aix*) - host_makefile_frag="config/mh-aix386" - ;; - i[3456]86-*-msdosdjgpp*) - host_makefile_frag="config/mh-djgpp" - ;; - *-cygwin*) - host_makefile_frag="config/mh-cygwin" - ;; - *-mingw32*) - host_makefile_frag="config/mh-mingw32" - ;; - *-interix*) - host_makefile_frag="config/mh-interix" - ;; - vax-*-ultrix2*) - # The old BSD pcc isn't up to compiling parts of gdb so use gcc - tentative_cc=gcc - ;; - *-*-solaris2*) - host_makefile_frag="config/mh-solaris" - ;; - m68k-sun-sunos*) - # Sun's C compiler needs the -J flag to be able to compile cp-parse.c - # without overflowing the jump tables (-J says to use a 32 bit table) - tentative_cc="cc -J" - ;; - *-hp-hpux[78]*) - tentative_cc="cc -Wp,-H256000" - host_makefile_frag="config/mh-hpux8" - ;; - *-hp-hpux*) - tentative_cc="cc -Wp,-H256000" - host_makefile_frag="config/mh-hpux" - ;; - *-*-hiux*) - tentative_cc="cc -Wp,-H256000" - host_makefile_frag="config/mh-hpux" - ;; - rs6000-*-lynxos*) - # /bin/cc is less than useful for our purposes. Always use GCC - tentative_cc="/usr/cygnus/progressive/bin/gcc" - host_makefile_frag="config/mh-lynxrs6k" - ;; - *-*-lynxos*) - # /bin/cc is less than useful for our purposes. Always use GCC - tentative_cc="/bin/gcc" - ;; - *-*-sysv4*) - host_makefile_frag="config/mh-sysv4" - ;; - *-*-sysv*) - host_makefile_frag="config/mh-sysv" - ;; -esac -fi - -# If we aren't going to be using gcc, see if we can extract a definition -# of CC from the fragment. -# Actually, use the 'pre-extracted' version above. -if test -z "${CC}" && test "${build}" = "${host}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - found= - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/gcc; then - found=yes - break - fi - done - IFS="$save_ifs" - if test -z "${found}" && test -n "${tentative_cc}" ; then - CC=$tentative_cc - fi -fi - -# We default to --with-shared on platforms where -fpic is meaningless. -# Well, we don't yet, but we will. -if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then - case "${target}" in - alpha*-dec-osf*) enable_shared=yes ;; - alpha*-*-linux*) enable_shared=yes ;; - mips-sgi-irix5*) enable_shared=yes ;; - *) enable_shared=no ;; - esac -fi - -# hpux11 in 64bit mode has libraries in a weird place. Arrange to find -# them automatically. -case "${host}" in - hppa*64*-*-hpux11*) - withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include" - ;; -esac - -case "${enable_shared}" in - yes) shared=yes ;; - no) shared=no ;; - "") shared=no ;; - *) shared=yes ;; -esac - -rm -f mh-frag -if test -n "${host_makefile_frag}" ; then - for f in ${host_makefile_frag} - do - cat ${srcdir}/$f >> mh-frag - done - host_makefile_frag=mh-frag -fi - -case "${target}" in - v810*) - target_makefile_frag="${target_makefile_frag} config/mt-v810" - ;; - i[3456]86-*-netware*) - target_makefile_frag="${target_makefile_frag} config/mt-netware" - ;; - powerpc-*-netware*) - target_makefile_frag="${target_makefile_frag} config/mt-netware" - ;; - alpha*-*-linux*) - target_makefile_frag="${target_makefile_frag} config/mt-linux" - target_makefile_frag="${target_makefile_frag} config/mt-alphaieee" - ;; - alpha*-*-*) - target_makefile_frag="${target_makefile_frag} config/mt-alphaieee" - ;; - *-*-linux*) - target_makefile_frag="${target_makefile_frag} config/mt-linux" - ;; - *-*-aix4.[3456789]* | *-*-aix[56789].*) - target_makefile_frag="${target_makefile_frag} config/mt-aix43" - ;; - mips*-*-pe | sh*-*-pe | *arm-wince-pe) - target_makefile_frag="${target_makefile_frag} config/mt-wince" - ;; -esac - -# If --enable-target-optspace always use -Os instead of -O2 to build -# the target libraries, similarly if it is not specified, use -Os -# on selected platforms. -case "${enable_target_optspace}:${target}" in - yes:*) - target_makefile_frag="${target_makefile_frag} config/mt-ospace" - ;; - :d30v-*) - target_makefile_frag="${target_makefile_frag} config/mt-d30v" - ;; - :m32r-* | :d10v-* | :fr30-*) - target_makefile_frag="${target_makefile_frag} config/mt-ospace" - ;; - no:* | :*) - ;; - *) - echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2 - ;; -esac - -skipdirs= -use_gnu_ld= -use_gnu_as= - -# some tools are so dependent upon X11 that if we're not building with X, -# it's not even worth trying to configure, much less build, that tool. - -case ${with_x} in - yes | "") # the default value for this tree is that X11 is available - ;; - no) - skipdirs="${skipdirs} tk libgui" - ;; - *) - echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 - ;; -esac - -# Some tools are only suitable for building in a "native" situation. -# Those are added when we have a host==target configuration. For cross -# toolchains, we add some directories that should only be useful in a -# cross-compiler. - -case $is_cross_compiler in - no) skipdirs="${skipdirs} ${cross_only}" ;; - yes) skipdirs="${skipdirs} ${native_only}" ;; -esac - # We always want to use the same name for this directory, so that dejagnu # can reliably find it. target_subdir=${target_alias} @@ -460,70 +151,42 @@ if test x"${build_alias}" != x"${host}" ; then fi fi -copy_dirs= +# Skipdirs are removed silently. +skipdirs= +# Noconfigdirs are removed loudly. +noconfigdirs="" -# Handle --with-headers=XXX. The contents of the named directory are -# copied to $(tooldir)/sys-include. -if test x"${with_headers}" != x ; then - if test x${is_cross_compiler} = xno ; then - echo 1>&2 '***' --with-headers is only supported when cross compiling - exit 1 - fi - case "${exec_prefixoption}" in - "") x=${prefix} ;; - *) x=${exec_prefix} ;; - esac - copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include" +use_gnu_ld= +# Make sure we don't let GNU ld be added if we didn't want it. +if test x$with_gnu_ld = xno ; then + use_gnu_ld=no + noconfigdirs="$noconfigdirs ld" fi -# Handle --with-libs=XXX. Multiple directories are permitted. The -# contents are copied to $(tooldir)/lib. -if test x"${with_libs}" != x ; then - if test x${is_cross_compiler} = xno ; then - echo 1>&2 '***' --with-libs is only supported when cross compiling - exit 1 - fi - # Copy the libraries in reverse order, so that files in the first named - # library override files in subsequent libraries. - case "${exec_prefixoption}" in - "") x=${prefix} ;; - *) x=${exec_prefix} ;; - esac - for l in ${with_libs}; do - copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}" - done +use_gnu_as= +# Make sure we don't let GNU as be added if we didn't want it. +if test x$with_gnu_as = xno ; then + use_gnu_as=no + noconfigdirs="$noconfigdirs gas" fi -# Handle ${copy_dirs} -set fnord ${copy_dirs} -shift -while test $# != 0 ; do - if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then - : - else - echo Copying $1 to $2 - - # Use the install script to create the directory and all required - # parent directories. - if test -d $2 ; then - : - else - echo >config.temp - ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED - fi +# some tools are so dependent upon X11 that if we're not building with X, +# it's not even worth trying to configure, much less build, that tool. - # Copy the directory, assuming we have tar. - # FIXME: Should we use B in the second tar? Not all systems support it. - (cd $1; tar -cf - .) | (cd $2; tar -xpf -) +case ${with_x} in + yes | "") ;; # the default value for this tree is that X11 is available + no) skipdirs="${skipdirs} tk libgui" ;; + *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;; +esac - # It is the responsibility of the user to correctly adjust all - # symlinks. If somebody can figure out how to handle them correctly - # here, feel free to add the code. +# Some tools are only suitable for building in a "native" situation. +# Remove these if host!=target. Similarly, some are only suitable +# for cross toolchains; remove if host=target. - echo $1 > $2/COPIED - fi - shift; shift -done +case $is_cross_compiler in + no) skipdirs="${skipdirs} ${cross_only}" ;; + yes) skipdirs="${skipdirs} ${native_only}" ;; +esac # If both --with-headers and --with-libs are specified, default to # --without-newlib. @@ -539,35 +202,21 @@ case ${with_newlib} in yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; esac -# Default to using --with-stabs for certain targets. -if test x${with_stabs} = x ; then - case "${target}" in - mips*-*-irix6*) - ;; - mips*-*-* | alpha*-*-osf*) - with_stabs=yes; - withoptions="${withoptions} --with-stabs" - ;; - esac -fi - # Configure extra directories which are host specific case "${host}" in - i[3456]86-*-go32*) - configdirs="$configdirs dosrel" ;; - i[3456]86-*-mingw32*) - configdirs="$configdirs dosrel" ;; - *-cygwin*) - configdirs="$configdirs libtermcap dosrel" ;; + i[3456]86-*-go32*) + configdirs="$configdirs dosrel" ;; + i[3456]86-*-mingw32*) + configdirs="$configdirs dosrel" ;; + *-cygwin*) + configdirs="$configdirs libtermcap dosrel" ;; esac # Remove more programs from consideration, based on the host or # target this usually means that a port of the program doesn't # exist yet. -noconfigdirs="" - case "${host}" in hppa*64*-*-*) noconfigdirs="$noconfigdirs byacc" @@ -1039,19 +688,7 @@ esac case "${noconfigdirs}" in *target-libgloss*) ;; *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;; -esac - -# Make sure we don't let GNU ld be added if we didn't want it. -if test x$with_gnu_ld = xno ; then - use_gnu_ld=no - noconfigdirs="$noconfigdirs ld" -fi - -# Make sure we don't let GNU as be added if we didn't want it. -if test x$with_gnu_as = xno ; then - use_gnu_as=no - noconfigdirs="$noconfigdirs gas" -fi +esac # Figure out what language subdirectories are present. # Look if the user specified --enable-languages="..."; if not, use @@ -1188,72 +825,413 @@ if test -n "${target_configdirs}" ; then fi fi -# Deconfigure all subdirectories, in case we are changing the -# configuration from one where a subdirectory is supported to one where it -# is not. -if test -z "${norecursion}" && test -n "${configdirs}" ; then - for i in `echo ${configdirs} | sed -e s/target-//g` ; do - rm -f $i/Makefile +# Deconfigure all subdirectories, in case we are changing the +# configuration from one where a subdirectory is supported to one where it +# is not. +if test -z "${norecursion}" && test -n "${configdirs}" ; then + for i in `echo ${configdirs} | sed -e s/target-//g` ; do + rm -f $i/Makefile + done +fi +if test -z "${norecursion}" && test -n "${target_configdirs}" ; then + for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do + rm -f ${target_subdir}/$i/Makefile + done +fi + +# Quietly strip out all directories which aren't configurable in this tree. +# This relies on all configurable subdirectories being autoconfiscated, which +# is now the case. +configdirs_all="$configdirs" +configdirs= +for i in ${configdirs_all} ; do + if test -f ${srcdir}/$i/configure ; then + configdirs="${configdirs} $i" + fi +done +target_configdirs_all="$target_configdirs" +target_configdirs= +for i in ${target_configdirs_all} ; do + j=`echo $i | sed -e s/target-//g` + if test -f ${srcdir}/$j/configure ; then + target_configdirs="${target_configdirs} $i" + fi +done + +# Produce a warning message for the subdirs we can't configure. +# This isn't especially interesting in the Cygnus tree, but in the individual +# FSF releases, it's important to let people know when their machine isn't +# supported by the one or two programs in a package. + +if test -n "${notsupp}" && test -z "${norecursion}" ; then + # If $appdirs is non-empty, at least one of those directories must still + # be configured, or we error out. (E.g., if the gas release supports a + # specified target in some subdirs but not the gas subdir, we shouldn't + # pretend that all is well.) + if test -n "$appdirs" ; then + for dir in $appdirs ; do + if test -r $dir/Makefile.in ; then + if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + appdirs="" + break + fi + if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then + appdirs="" + break + fi + fi + done + if test -n "$appdirs" ; then + echo "*** This configuration is not supported by this package." 1>&2 + exit 1 + fi + fi + # Okay, some application will build, or we don't care to check. Still + # notify of subdirs not getting built. + echo "*** This configuration is not supported in the following subdirectories:" 1>&2 + echo " ${notsupp}" 1>&2 + echo " (Any other directories should still work fine.)" 1>&2 +fi + +case "$host" in + *msdosdjgpp*) + enable_gdbtk=no ;; +esac +# Determine whether gdb needs tk/tcl or not. +case "$enable_gdbtk" in + no) + GDB_TK="" ;; + *) + GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;; +esac + +copy_dirs= + +# Handle --with-headers=XXX. The contents of the named directory are +# copied to $(tooldir)/sys-include. +if test x"${with_headers}" != x ; then + if test x${is_cross_compiler} = xno ; then + echo 1>&2 '***' --with-headers is only supported when cross compiling + exit 1 + fi + case "${exec_prefixoption}" in + "") x=${prefix} ;; + *) x=${exec_prefix} ;; + esac + copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include" +fi + +# Handle --with-libs=XXX. Multiple directories are permitted. The +# contents are copied to $(tooldir)/lib. +if test x"${with_libs}" != x ; then + if test x${is_cross_compiler} = xno ; then + echo 1>&2 '***' --with-libs is only supported when cross compiling + exit 1 + fi + # Copy the libraries in reverse order, so that files in the first named + # library override files in subsequent libraries. + case "${exec_prefixoption}" in + "") x=${prefix} ;; + *) x=${exec_prefix} ;; + esac + for l in ${with_libs}; do + copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}" + done +fi + +# Handle ${copy_dirs} +set fnord ${copy_dirs} +shift +while test $# != 0 ; do + if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then + : + else + echo Copying $1 to $2 + + # Use the install script to create the directory and all required + # parent directories. + if test -d $2 ; then + : + else + echo >config.temp + ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED + fi + + # Copy the directory, assuming we have tar. + # FIXME: Should we use B in the second tar? Not all systems support it. + (cd $1; tar -cf - .) | (cd $2; tar -xpf -) + + # It is the responsibility of the user to correctly adjust all + # symlinks. If somebody can figure out how to handle them correctly + # here, feel free to add the code. + + echo $1 > $2/COPIED + fi + shift; shift +done + +# Work in distributions that contain no compiler tools, like Autoconf. +tentative_cc="" +if test -d ${srcdir}/config ; then +case "${host}" in + m68k-hp-hpux*) + # Avoid "too much defining" errors from HPUX compiler. + tentative_cc="cc -Wp,-H256000" + host_makefile_frag="config/mh-hp300" + ;; + m68k-apollo-sysv*) + tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG" + host_makefile_frag="config/mh-apollo68" + ;; + m68k-apollo-bsd*) + #None of the Apollo compilers can compile gas or binutils. The preprocessor + # chokes on bfd, the compiler won't let you assign integers to enums, and + # other problems. Defining CC to gcc is a questionable way to say "don't use + # the apollo compiler" (the preferred version of GCC could be called cc, + # or whatever), but I'm not sure leaving CC as cc is any better... + #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG + tentative_cc=gcc + host_makefile_frag="config/mh-a68bsd" + ;; + m88k-dg-dgux*) + tentative_cc="gcc -Wall -ansi -D__using_DGUX" + host_makefile_frag="config/mh-dgux" + ;; + m88k-harris-cxux*) + # Under CX/UX, we want to tell the compiler to use ANSI mode. + tentative_cc="cc -Xa" + host_makefile_frag="config/mh-cxux" + ;; + m88k-motorola-sysv*) + host_makefile_frag="config/mh-delta88" + ;; + mips*-dec-ultrix*) + tentative_cc="cc -Wf,-XNg1000" + host_makefile_frag="config/mh-decstation" + ;; + mips*-nec-sysv4*) + # The C compiler on NEC MIPS SVR4 needs bigger tables. + tentative_cc="cc -ZXNd=5000 -ZXNg=1000" + host_makefile_frag="config/mh-necv4" + ;; + mips*-sgi-irix6*) + host_makefile_frag="config/mh-irix6" + ;; + mips*-sgi-irix5*) + host_makefile_frag="config/mh-irix5" + ;; + mips*-sgi-irix4*) + # Tell compiler to use K&R C. We can't compile under the SGI Ansi + # environment. Also bump switch table size so that cp-parse will + # compile. Bump string length limit so linker builds. + tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192" + ;; + mips*-sgi-irix3*) + host_makefile_frag="config/mh-sysv" + ;; + mips*-*-sysv4*) + host_makefile_frag="config/mh-sysv4" + ;; + mips*-*-sysv*) + # This is for a MIPS running RISC/os 4.52C. + + # This is needed for GDB, but needs to be in the top-level make because + # if a library is compiled with the bsd headers and gets linked with the + # sysv system libraries all hell can break loose (e.g. a jmp_buf might be + # a different size). + # ptrace(2) apparently has problems in the BSD environment. No workaround is + # known except to select the sysv environment. Could we use /proc instead? + # These "sysv environments" and "bsd environments" often end up being a pain. + # + # This is not part of CFLAGS because perhaps not all C compilers have this + # option. + tentative_cc="cc -systype sysv" + host_makefile_frag="config/mh-riscos" + ;; + i370-ibm-opened*) + tentative_cc="c89" + host_makefile_frag="config/mh-openedition" + ;; + i[3456]86-*-sysv5*) + host_makefile_frag="config/mh-sysv5" + ;; + i[3456]86-*-dgux*) + tentative_cc="gcc -Wall -ansi -D__using_DGUX" + host_makefile_frag="config/mh-dgux386" + ;; + i[3456]86-ncr-sysv4.3*) + # The MetaWare compiler will generate a copyright message unless you + # turn it off by adding the -Hnocopyr flag. + tentative_cc="cc -Hnocopyr" + host_makefile_frag="config/mh-ncrsvr43" + ;; + i[3456]86-ncr-sysv4*) + # for an NCR 3000 (i486/SVR4) system. + # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc. + # This compiler not only emits obnoxious copyright messages every time + # you run it, but it chokes and dies on a whole bunch of GNU source + # files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc. + tentative_cc="/usr/ccs/ATT/cc" + host_makefile_frag="config/mh-ncr3000" + ;; + i[3456]86-*-sco3.2v5*) + host_makefile_frag="config/mh-sysv" + ;; + i[3456]86-*-sco*) + # The native C compiler botches some simple uses of const. Unfortunately, + # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h. + tentative_cc="cc -Dconst=" + host_makefile_frag="config/mh-sco" + ;; + i[3456]86-*-udk*) + host_makefile_frag="config/mh-sysv5" + ;; + i[3456]86-*-isc*) + host_makefile_frag="config/mh-sysv" + ;; + i[3456]86-*-solaris2*) + host_makefile_frag="config/mh-sysv4" + ;; + i[3456]86-*-aix*) + host_makefile_frag="config/mh-aix386" + ;; + i[3456]86-*-msdosdjgpp*) + host_makefile_frag="config/mh-djgpp" + ;; + *-cygwin*) + host_makefile_frag="config/mh-cygwin" + ;; + *-mingw32*) + host_makefile_frag="config/mh-mingw32" + ;; + *-interix*) + host_makefile_frag="config/mh-interix" + ;; + vax-*-ultrix2*) + # The old BSD pcc isn't up to compiling parts of gdb so use gcc + tentative_cc=gcc + ;; + *-*-solaris2*) + host_makefile_frag="config/mh-solaris" + ;; + m68k-sun-sunos*) + # Sun's C compiler needs the -J flag to be able to compile cp-parse.c + # without overflowing the jump tables (-J says to use a 32 bit table) + tentative_cc="cc -J" + ;; + *-hp-hpux[78]*) + tentative_cc="cc -Wp,-H256000" + host_makefile_frag="config/mh-hpux8" + ;; + *-hp-hpux*) + tentative_cc="cc -Wp,-H256000" + host_makefile_frag="config/mh-hpux" + ;; + *-*-hiux*) + tentative_cc="cc -Wp,-H256000" + host_makefile_frag="config/mh-hpux" + ;; + rs6000-*-lynxos*) + # /bin/cc is less than useful for our purposes. Always use GCC + tentative_cc="/usr/cygnus/progressive/bin/gcc" + host_makefile_frag="config/mh-lynxrs6k" + ;; + *-*-lynxos*) + # /bin/cc is less than useful for our purposes. Always use GCC + tentative_cc="/bin/gcc" + ;; + *-*-sysv4*) + host_makefile_frag="config/mh-sysv4" + ;; + *-*-sysv*) + host_makefile_frag="config/mh-sysv" + ;; +esac +fi + +rm -f mh-frag +if test -n "${host_makefile_frag}" ; then + for f in ${host_makefile_frag} + do + cat ${srcdir}/$f >> mh-frag done + host_makefile_frag=mh-frag fi -if test -z "${norecursion}" && test -n "${target_configdirs}" ; then - for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do - rm -f ${target_subdir}/$i/Makefile + +# If we aren't going to be using gcc, see if we can extract a definition +# of CC from the fragment. +# Actually, use the 'pre-extracted' version above. +if test -z "${CC}" && test "${build}" = "${host}" ; then + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + found= + for dir in $PATH; do + test -z "$dir" && dir=. + if test -f $dir/gcc; then + found=yes + break + fi done + IFS="$save_ifs" + if test -z "${found}" && test -n "${tentative_cc}" ; then + CC=$tentative_cc + fi fi -# Quietly strip out all directories which aren't configurable in this tree. -# This relies on all configurable subdirectories being autoconfiscated, which -# is now the case. -configdirs_all="$configdirs" -configdirs= -for i in ${configdirs_all} ; do - if test -f ${srcdir}/$i/configure ; then - configdirs="${configdirs} $i" - fi -done -target_configdirs_all="$target_configdirs" -target_configdirs= -for i in ${target_configdirs_all} ; do - j=`echo $i | sed -e s/target-//g` - if test -f ${srcdir}/$j/configure ; then - target_configdirs="${target_configdirs} $i" - fi -done +case "${target}" in + v810*) + target_makefile_frag="${target_makefile_frag} config/mt-v810" + ;; + i[3456]86-*-netware*) + target_makefile_frag="${target_makefile_frag} config/mt-netware" + ;; + powerpc-*-netware*) + target_makefile_frag="${target_makefile_frag} config/mt-netware" + ;; + alpha*-*-linux*) + target_makefile_frag="${target_makefile_frag} config/mt-linux" + target_makefile_frag="${target_makefile_frag} config/mt-alphaieee" + ;; + alpha*-*-*) + target_makefile_frag="${target_makefile_frag} config/mt-alphaieee" + ;; + *-*-linux*) + target_makefile_frag="${target_makefile_frag} config/mt-linux" + ;; + *-*-aix4.[3456789]* | *-*-aix[56789].*) + target_makefile_frag="${target_makefile_frag} config/mt-aix43" + ;; + mips*-*-pe | sh*-*-pe | *arm-wince-pe) + target_makefile_frag="${target_makefile_frag} config/mt-wince" + ;; +esac -# Produce a warning message for the subdirs we can't configure. -# This isn't especially interesting in the Cygnus tree, but in the individual -# FSF releases, it's important to let people know when their machine isn't -# supported by the one or two programs in a package. +# If --enable-target-optspace always use -Os instead of -O2 to build +# the target libraries, similarly if it is not specified, use -Os +# on selected platforms. +case "${enable_target_optspace}:${target}" in + yes:*) + target_makefile_frag="${target_makefile_frag} config/mt-ospace" + ;; + :d30v-*) + target_makefile_frag="${target_makefile_frag} config/mt-d30v" + ;; + :m32r-* | :d10v-* | :fr30-*) + target_makefile_frag="${target_makefile_frag} config/mt-ospace" + ;; + no:* | :*) + ;; + *) + echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2 + ;; +esac -if test -n "${notsupp}" && test -z "${norecursion}" ; then - # If $appdirs is non-empty, at least one of those directories must still - # be configured, or we error out. (E.g., if the gas release supports a - # specified target in some subdirs but not the gas subdir, we shouldn't - # pretend that all is well.) - if test -n "$appdirs" ; then - for dir in $appdirs ; do - if test -r $dir/Makefile.in ; then - if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - appdirs="" - break - fi - if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then - appdirs="" - break - fi - fi - done - if test -n "$appdirs" ; then - echo "*** This configuration is not supported by this package." 1>&2 - exit 1 - fi - fi - # Okay, some application will build, or we don't care to check. Still - # notify of subdirs not getting built. - echo "*** This configuration is not supported in the following subdirectories:" 1>&2 - echo " ${notsupp}" 1>&2 - echo " (Any other directories should still work fine.)" 1>&2 +rm -f mt-frag +if test -n "${target_makefile_frag}" ; then + for f in ${target_makefile_frag} + do + cat ${srcdir}/$f >> mt-frag + done + target_makefile_frag=mt-frag fi # Set with_gnu_as and with_gnu_ld as appropriate. @@ -1269,47 +1247,63 @@ fi # want to do that, then you should use the --without-gnu-as and # --without-gnu-ld options for the configure script. -if test x${use_gnu_as} = x ; then - if test x${with_gnu_as} != xno && echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 && test -d ${srcdir}/gas ; then - with_gnu_as=yes - withoptions="$withoptions --with-gnu-as" - fi +if test x${use_gnu_as} = x && + echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then + with_gnu_as=yes + withoptions="$withoptions --with-gnu-as" fi -if test x${use_gnu_ld} = x ; then - if test x${with_gnu_ld} != xno && echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 && test -d ${srcdir}/ld ; then - with_gnu_ld=yes - withoptions="$withoptions --with-gnu-ld" - fi +if test x${use_gnu_ld} = x && + echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then + with_gnu_ld=yes + withoptions="$withoptions --with-gnu-ld" fi # If using newlib, add --with-newlib to the withoptions so that gcc/configure # can detect this case. -if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then +if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then with_newlib=yes withoptions="$withoptions --with-newlib" fi -rm -f mt-frag -if test -n "${target_makefile_frag}" ; then - for f in ${target_makefile_frag} - do - cat ${srcdir}/$f >> mt-frag - done - target_makefile_frag=mt-frag +# We default to --with-shared on platforms where -fpic is meaningless. +# Well, we don't yet, but we will. +if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then + case "${target}" in + alpha*-dec-osf*) enable_shared=yes ;; + alpha*-*-linux*) enable_shared=yes ;; + mips-sgi-irix5*) enable_shared=yes ;; + *) enable_shared=no ;; + esac fi -case "$host" in - *msdosdjgpp*) - enable_gdbtk=no ;; +case "${enable_shared}" in + yes) shared=yes ;; + no) shared=no ;; + "") shared=no ;; + *) shared=yes ;; esac -# Determine whether gdb needs tk/tcl or not. -case "$enable_gdbtk" in - no) - GDB_TK="" ;; - *) - GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;; + + +# Default to using --with-stabs for certain targets. +if test x${with_stabs} = x ; then + case "${target}" in + mips*-*-irix6*) + ;; + mips*-*-* | alpha*-*-osf*) + with_stabs=yes; + withoptions="${withoptions} --with-stabs" + ;; + esac +fi + +# hpux11 in 64bit mode has libraries in a weird place. Arrange to find +# them automatically. +case "${host}" in + hppa*64*-*-hpux11*) + withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include" + ;; esac # post-target: @@ -1520,8 +1514,7 @@ if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then fi if test "x${use_gnu_ld}" = x && test "x${with_gnu_ld}" != xno && - echo " ${configdirs} " | grep " ld " > /dev/null && - test -d ${srcdir}/ld; then + echo " ${configdirs} " | grep " ld " > /dev/null ; then # Arrange for us to find uninstalled linker scripts. FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld' fi -- cgit v1.1