OSDN Git Service

* reg-stack.c (straighten_stack): Do nothing if the virtual stack is
[pf3gnuchains/gcc-fork.git] / configure.in
index f48c2a9..57ce57d 100644 (file)
@@ -14,7 +14,7 @@
 ## For more information on these two systems, check out the documentation
 ## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi).  
 
-#   Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+#   Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -55,7 +55,7 @@ host_tools="texinfo byacc flex bison binutils ld gas gcc sim gdb make patch prms
 # these libraries are built for the target environment, and are built after
 # the host libraries and the host tools (which may be a cross compiler)
 #
-target_libs="target-libiberty target-libgloss target-newlib target-libio target-librx target-libstdc++ target-libg++"
+target_libs="target-libiberty target-libgloss target-newlib target-libio target-librx target-libstdc++ target-libg++ target-libf2c target-libchill"
 
 
 # these tools are built using the target libs, and are intended to run only
@@ -107,42 +107,120 @@ appdirs=""
 # Work in distributions that contain no compiler tools, like Autoconf.
 if [ -d ${srcdir}/config ]; then
 case "${host}" in
-  m68k-hp-hpux*)         host_makefile_frag=config/mh-hp300 ;;
-  m68k-apollo-sysv*)      host_makefile_frag=config/mh-apollo68 ;;
-  m68k-apollo-bsd*)       host_makefile_frag=config/mh-a68bsd ;;
-  m88k-dg-dgux*)         host_makefile_frag=config/mh-dgux ;;
-  m88k-harris-cxux*)     host_makefile_frag=config/mh-cxux ;;
-  m88k-motorola-sysv*)    host_makefile_frag=config/mh-delta88;;
-  mips*-dec-ultrix*)      host_makefile_frag=config/mh-decstation ;;
-  mips*-nec-sysv4*)      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*)       host_makefile_frag=config/mh-irix4 ;;
-  mips*-sgi-irix3*)       host_makefile_frag=config/mh-sysv ;;
-  mips*-*-sysv4*)        host_makefile_frag=config/mh-sysv4 ;;
-  mips*-*-sysv*)         host_makefile_frag=config/mh-riscos ;;
-  i[3456]86-*-dgux*)     host_makefile_frag=config/mh-dgux386 ;;
-  i[3456]86-ncr-sysv4.3)  host_makefile_frag=config/mh-ncrsvr43 ;;
-  i[3456]86-ncr-sysv4*)   host_makefile_frag=config/mh-ncr3000 ;;
-  i[3456]86-*-sco3.2v5*)  host_makefile_frag=config/mh-sysv ;;
-  i[3456]86-*-sco*)       host_makefile_frag=config/mh-sco ;;
-  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-*-go32*)     host_makefile_frag=config/mh-go32 ;;
-  i[3456]86-*-msdosdjgpp*) host_makefile_frag=config/mh-go32 ;;
-  *-cygwin32*)           host_makefile_frag=config/mh-cygwin32 ;;
-  *-windows*)            host_makefile_frag=config/mh-windows ;;
-  vax-*-ultrix2*)         host_makefile_frag=config/mh-vaxult2 ;;
-  *-*-solaris2*)          host_makefile_frag=config/mh-solaris ;;
-  m68k-sun-sunos*)       host_makefile_frag=config/mh-sun3 ;;
-  *-hp-hpux[78]*)         host_makefile_frag=config/mh-hpux8 ;;
-  *-hp-hpux*)             host_makefile_frag=config/mh-hpux ;;
-  *-*-hiux*)              host_makefile_frag=config/mh-hpux ;;
-  rs6000-*-lynxos*)      host_makefile_frag=config/mh-lynxrs6k ;;
-  *-*-lynxos*)           host_makefile_frag=config/mh-lynxos ;;
-  *-*-sysv4*)             host_makefile_frag=config/mh-sysv4 ;;
-  *-*-sysv*)              host_makefile_frag=config/mh-sysv ;;
+  m68k-hp-hpux*)
+    host_makefile_frag="${host_makefile_frag} config/mh-hp300"
+    ;;
+  m68k-apollo-sysv*)
+    host_makefile_frag="${host_makefile_frag} config/mh-apollo68"
+    ;;
+  m68k-apollo-bsd*)
+    host_makefile_frag="${host_makefile_frag} config/mh-a68bsd"
+    ;;
+  m88k-dg-dgux*)
+    host_makefile_frag="${host_makefile_frag} config/mh-dgux"
+    ;;
+  m88k-harris-cxux*)
+    host_makefile_frag="${host_makefile_frag} config/mh-cxux"
+    ;;
+  m88k-motorola-sysv*)
+    host_makefile_frag="${host_makefile_frag} config/mh-delta88"
+    ;;
+  mips*-dec-ultrix*)
+    host_makefile_frag="${host_makefile_frag} config/mh-decstation"
+    ;;
+  mips*-nec-sysv4*)
+    host_makefile_frag="${host_makefile_frag} config/mh-necv4"
+    ;;
+  mips*-sgi-irix6*)
+    host_makefile_frag="${host_makefile_frag} config/mh-irix6"
+    ;;
+  mips*-sgi-irix5*)
+    host_makefile_frag="${host_makefile_frag} config/mh-irix5"
+    ;;
+  mips*-sgi-irix4*)
+    host_makefile_frag="${host_makefile_frag} config/mh-irix4"
+    ;;
+  mips*-sgi-irix3*)
+    host_makefile_frag="${host_makefile_frag} config/mh-sysv"
+    ;;
+  mips*-*-sysv4*)
+    host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
+    ;;
+  mips*-*-sysv*)
+    host_makefile_frag="${host_makefile_frag} config/mh-riscos"
+    ;;
+  i[3456]86-*-dgux*)
+    host_makefile_frag="${host_makefile_frag} config/mh-dgux386"
+    ;;
+  i[3456]86-ncr-sysv4.3*)
+    host_makefile_frag="${host_makefile_frag} config/mh-ncrsvr43"
+    ;;
+  i[3456]86-ncr-sysv4*)
+    host_makefile_frag="${host_makefile_frag} config/mh-ncr3000"
+    ;;
+  i[3456]86-*-sco3.2v5*)
+    host_makefile_frag="${host_makefile_frag} config/mh-sysv"
+    ;;
+  i[3456]86-*-sco*)
+    host_makefile_frag="${host_makefile_frag} config/mh-sco"
+    ;;
+  i[3456]86-*-isc*)
+    host_makefile_frag="${host_makefile_frag} config/mh-sysv"
+    ;;
+  i[3456]86-*-solaris2*)
+    host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
+    ;;
+  i[3456]86-*-aix*)
+    host_makefile_frag="${host_makefile_frag} config/mh-aix386"
+    ;;
+  i[3456]86-*-go32*)
+    host_makefile_frag="${host_makefile_frag} config/mh-go32"
+    ;;
+  i[3456]86-*-msdosdjgpp*)
+    host_makefile_frag="${host_makefile_frag} config/mh-go32"
+    ;;
+  *-cygwin32*)
+    host_makefile_frag="${host_makefile_frag} config/mh-cygwin32"
+    ;;
+  *-mingw32*)
+    host_makefile_frag="${host_makefile_frag} config/mh-mingw32"
+    ;;
+  *-windows*)
+    host_makefile_frag="${host_makefile_frag} config/mh-windows"
+    ;;
+  vax-*-ultrix2*)
+    host_makefile_frag="${host_makefile_frag} config/mh-vaxult2"
+    ;;
+  *-*-solaris2*)
+    host_makefile_frag="${host_makefile_frag} config/mh-solaris"
+    ;;
+  m68k-sun-sunos*)
+    host_makefile_frag="${host_makefile_frag} config/mh-sun3"
+    ;;
+  *-hp-hpux[78]*)
+    host_makefile_frag="${host_makefile_frag} config/mh-hpux8"
+    ;;
+  *-hp-hpux*)
+    host_makefile_frag="${host_makefile_frag} config/mh-hpux"
+    ;;
+  *-*-hiux*)
+    host_makefile_frag="${host_makefile_frag} config/mh-hpux"
+    ;;
+  rs6000-*-lynxos*)
+    host_makefile_frag="${host_makefile_frag} config/mh-lynxrs6k"
+    ;;
+  *-*-lynxos*)
+    host_makefile_frag="${host_makefile_frag} config/mh-lynxos"
+    ;;
+  *-*-aix4.[3456789]* | *-*-aix[56789].*)
+    host_makefile_frag="${host_makefile_frag} config/mh-aix43"
+    ;;
+  *-*-sysv4*)
+    host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
+    ;;
+  *-*-sysv*)
+    host_makefile_frag="${host_makefile_frag} config/mh-sysv"
+    ;;
 esac
 fi
 
@@ -171,8 +249,8 @@ fi
 # Well, we don't yet, but we will.
 if false && [ "${host}" = "${target}" ] && [ x${enable_shared} = x ]; then
   case "${target}" in
-    alpha-dec-osf*)    enable_shared=yes ;;
-    alpha-*-linux*)    enable_shared=yes ;;
+    alpha*-dec-osf*)   enable_shared=yes ;;
+    alpha*-*-linux*)   enable_shared=yes ;;
     mips-sgi-irix5*)   enable_shared=yes ;;
     *)                 enable_shared=no ;;
   esac
@@ -186,32 +264,71 @@ case "${enable_shared}" in
 esac
 
 if [ x${shared} = xyes ]; then
-  waugh=
   case "${host}" in
-    hppa*)             waugh=config/mh-papic ;;
-    i[3456]86-*)       waugh=config/mh-x86pic ;;
-    sparc64-*)         waugh=config/mh-sparcpic ;;
-    powerpc*-*)                waugh=config/mh-ppcpic ;;
-    alpha-*-linux*)     waugh=config/mh-elfalphapic ;;
-    *)                 waugh=config/mh-${host_cpu}pic ;;
+    hppa*)
+      host_makefile_frag="${host_makefile_frag} config/mh-papic"
+      ;;
+    i[3456]86-*)
+      host_makefile_frag="${host_makefile_frag} config/mh-x86pic"
+      ;;
+    sparc64-*)
+      host_makefile_frag="${host_makefile_frag} config/mh-sparcpic"
+      ;;
+    powerpc*-*)
+      host_makefile_frag="${host_makefile_frag} config/mh-ppcpic"
+      ;;
+    alpha*-*-linux*)
+      host_makefile_frag="${host_makefile_frag} config/mh-elfalphapic"
+      ;;
+    *)
+      if test -f ${srcdir}/config/mh-${host_cpu}pic; then
+        host_makefile_frag="${host_makefile_frag} config/mh-${host_cpu}pic"
+      fi
+      ;;
   esac
-  if [ -f ${srcdir}/${waugh} ]; then
-    if [ -n "${host_makefile_frag}" ] ; then
-      cat ${srcdir}/${host_makefile_frag} > mh-frag
-      cat ${srcdir}/${waugh} >> mh-frag
-      host_makefile_frag=mh-frag
-    else
-      host_makefile_frag=${waugh}
-    fi
-  fi
+fi
+
+rm -f mh-frag
+if [ -n "${host_makefile_frag}" ] ; then
+  for f in ${host_makefile_frag}
+  do
+    cat ${srcdir}/$f >> mh-frag
+  done
+  host_makefile_frag=mh-frag
 fi
 
 # per-target:
 
 case "${target}" in
-  v810*)               target_makefile_frag=config/mt-v810 ;;
-  i[3456]86-*-netware*) target_makefile_frag=config/mt-netware ;;
-  powerpc-*-netware*)   target_makefile_frag=config/mt-netware ;;
+  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"
+    ;;
+  *-*-linux-gnu)
+    target_makefile_frag="${target_makefile_frag} config/mt-linux"
+    ;;
+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"
+    ;;
+  :m32r-*)
+    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=
@@ -249,7 +366,7 @@ if [ x"${host}" = x"${target}" ] ; then
        if [ x${enable_multilib} = xno ]; then
          target_subdir=.
        else
-         target_subdir=libraries
+         target_subdir=${target_alias}
        fi
 else
        # similarly, don't build the targets in the 'native only' 
@@ -321,7 +438,7 @@ if [ x${with_stabs} = x ]; then
   case "${target}" in
   mips*-*-irix6*)
     ;;
-  mips*-*-* | alpha*-*-osf* | i[3456]86*-*-sysv4* | i[3456]86*-*-unixware*)
+  mips*-*-* | alpha*-*-osf*)
     with_stabs=yes;
     withoptions="${withoptions} --with-stabs"
     ;;
@@ -364,6 +481,8 @@ done
 case "${host}" in
        i[3456]86-*-go32*)
          configdirs="$configdirs dosrel" ;;
+       i[3456]86-*-mingw32*)
+         configdirs="$configdirs dosrel" ;;
        *-cygwin32*)
          configdirs="$configdirs dosrel" ;;
 esac
@@ -381,6 +500,10 @@ case "${host}" in
   i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
     noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db sn gnuserv"
        ;;
+  i[3456]86-*-mingw32*)
+    # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db sn gnuserv"
+     noconfigdirs="expect dejagnu cvs autoconf automake send-pr gprof rcs guile perl texinfo apache inet"
+       ;;
   *-*-cygwin32)
      noconfigdirs="expect dejagnu cvs autoconf automake bison send-pr gprof rcs guile perl texinfo apache inet"
     ;;
@@ -406,7 +529,7 @@ case "${target}" in
   *-*-vxworks*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
-  alpha-dec-osf*)
+  alpha*-dec-osf*)
     # ld works, but does not support shared libraries.  emacs doesn't
     # work.  newlib is not 64 bit ready.  I'm not sure about fileutils.
     # gas doesn't generate exception information.
@@ -415,6 +538,12 @@ case "${target}" in
   alpha*-*-*vms*)
     noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss"
     ;;
+  alpha*-*-linux*)
+    # newlib is not 64 bit ready
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    # linux has rx in libc
+    skipdirs="$skipdirs target-librx"
+    ;;
   alpha*-*-*)
     # newlib is not 64 bit ready
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
@@ -431,6 +560,9 @@ case "${target}" in
   arm-*-riscix*)
     noconfigdirs="$noconfigdirs ld target-libgloss"
     ;;
+  thumb-*-coff)
+    noconfigdirs="$noconfigdirs target-libgloss"
+    ;;
   d10v-*-*)
     noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio target-libgloss"
     ;;
@@ -460,6 +592,17 @@ case "${target}" in
     # linux has rx in libc
     skipdirs="$skipdirs target-librx"
     ;;
+  i[3456]86-*-mingw32*)
+    target_configdirs="$target_configdirs target-mingw"
+    noconfigdirs="$noconfigdirs expect target-libgloss"
+
+    # Can't build gdb for cygwin32 if not native.
+    case "${host}" in
+      i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
+      *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db sn gnuserv"
+         ;;
+    esac
+    ;;    
   *-*-cygwin32)
     target_configdirs="$target_configdirs target-winsup"
     noconfigdirs="$noconfigdirs expect target-libgloss"
@@ -761,14 +904,35 @@ fi
 
 if [ x${shared} = xyes ]; then
   case "${target}" in
-    hppa*)             target_makefile_frag=config/mt-papic ;;
-    i[3456]86-*)       target_makefile_frag=config/mt-x86pic ;;
-    powerpc*-*)                target_makefile_frag=config/mt-ppcpic ;;
-    alpha-*-linux*)    target_makefile_frag=config/mt-elfalphapic ;;
-    *)                 target_makefile_frag=config/mt-${target_cpu}pic ;;
+    hppa*)
+      target_makefile_frag="${target_makefile_frag} config/mt-papic"
+      ;;
+    i[3456]86-*)
+      target_makefile_frag="${target_makefile_frag} config/mt-x86pic"
+      ;;
+    powerpc*-*)
+      target_makefile_frag="${target_makefile_frag} config/mt-ppcpic"
+      ;;
+    alpha*-*-linux*)
+      target_makefile_frag="${target_makefile_frag} config/mt-elfalphapic"
+      ;;
+    *)
+      if test -f ${srcdir}/config/mt-${target_cpu}pic; then
+        target_makefile_frag="${target_makefile_frag} config/mt-${target_cpu}pic"
+      fi
+      ;;
   esac
 fi
 
+rm -f mt-frag
+if [ -n "${target_makefile_frag}" ] ; then
+  for f in ${target_makefile_frag}
+  do
+    cat ${srcdir}/$f >> mt-frag
+  done
+  target_makefile_frag=mt-frag
+fi
+
 # post-target:
 
 # Make sure that the compiler is able to generate an executable.  If it
@@ -833,10 +997,10 @@ if [ "${shared}" = "yes" ]; then
   esac
 fi
 
-# If we are building for a cygwin32 host, then set INSTALL_PROGRAM_ARGS to
+# If we are building for a win32 host, then set INSTALL_PROGRAM_ARGS to
 # -x.  This will cause programs to be installed with .exe extensions.
 case "${host}" in
-*-*-cygwin32*)
+*-*-cygwin32* | i[3456]86-*-mingw32)
     sed -e 's/^INSTALL_PROGRAM_ARGS[   ]*=.*$/INSTALL_PROGRAM_ARGS = -x/' \
        Makefile > Makefile.tem
     rm -f Makefile