* ld.h (check_nocrossrefs): Declare.
[binutils-gdb.git] / configure.in
index c668cc47a6b2ce63e3422c1d2df62d72fc5b0de4..80f1456e8de35fa98e38f71a71a7f7132756d370 100644 (file)
@@ -1,3 +1,4 @@
+#! /bin/bash
 ##############################################################################
 
 ## This file is a shell script fragment that supplies the information
 ## 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, 1996 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
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
 ##############################################################################
 
 ### To add a new directory to the tree, first choose whether it is a target
@@ -33,10 +50,10 @@ fi
 # these tools are built for the host environment
 #
 host_tools="texinfo byacc flex bison binutils ld gas gcc gdb make patch
-           prms send-pr gprof gdbtest tgas etc expect dejagnu sim
-            m4 autoconf ispell grep diff rcs cvs fileutils shellutils
+           prms send-pr gprof gdbtest tgas etc expect dejagnu sim bash
+            m4 autoconf ispell grep diff rcs cvs fileutils shellutils time
            textutils wdiff find emacs emacs19 uudecode hello tar gzip indent
-           recode release sed utils guile perl"
+           recode release sed utils guile perl apache inet gawk"
 
 
 # these libraries are built for the target environment, and are built after
@@ -64,9 +81,10 @@ target_tools="target-examples target-groff"
 
 # directories to be built in the native environment only
 #
-native_only="autoconf cvs emacs emacs19 fileutils find grep gzip hello
+native_only="autoconf cvs emacs emacs19 fileutils find gawk grep gzip hello
             indent ispell m4 rcs recode sed shellutils tar textutils gash
-            uudecode wdiff gprof target-groff guile perl"
+            uudecode wdiff gprof target-groff guile perl apache inet time
+            bash prms"
 
 # directories to be built in a cross environment only
 #
@@ -103,7 +121,8 @@ case "${host}" in
   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-irix[56]*)    host_makefile_frag=config/mh-irix5 ;;
+  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 ;;
@@ -117,6 +136,7 @@ case "${host}" in
   i[345]86-*-solaris2*)   host_makefile_frag=config/mh-sysv4 ;;
   i[345]86-*-aix*)       host_makefile_frag=config/mh-aix386 ;;
   i[345]86-*-go32*)      host_makefile_frag=config/mh-go32 ;;
+  *-cygwin32*)           host_makefile_frag=config/mh-cygwin32 ;;
   vax-*-ultrix2*)         host_makefile_frag=config/mh-vaxult2 ;;
   *-*-solaris2*)          host_makefile_frag=config/mh-solaris ;;
   m68k-sun-sunos*)       host_makefile_frag=config/mh-sun3 ;;
@@ -156,12 +176,20 @@ fi
 if false && [ "${host}" = "${target}" ] && [ 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
 
-if [ x${enable_shared} = xyes ]; then
+case "${enable_shared}" in
+  yes) shared=yes ;;
+  no) shared=no ;;
+  "") shared=no ;;
+  *) shared=yes ;;
+esac
+
+if [ x${shared} = xyes ]; then
   waugh=
   case "${host}" in
     hppa*)             waugh=config/mh-papic ;;
@@ -330,6 +358,8 @@ done
 case "${host}" in
        i[345]86-*-go32*)
          configdirs="$configdirs dosrel" ;;
+       *-cygwin32*)
+         configdirs="$configdirs dosrel" ;;
 esac
 
 # Remove more programs from consideration, based on the host or 
@@ -340,49 +370,59 @@ noconfigdirs=""
 
 case "${host}" in
   i[345]86-*-vsta)
-    noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl"
+    noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl apache inet"
     ;;
   i[345]86-*-go32)
-    noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl"
+    noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl apache inet"
        ;;
   *-*-cygwin32)
-     noconfigdirs="patch diff make tk tcl expect dejagnu cvs autoconf texinfo bison send-pr gprof rcs guile perl"
+     noconfigdirs="tk tcl expect dejagnu cvs autoconf bison send-pr gprof rcs guile perl texinfo apache inet"
     ;;
   ppc*-*-pe)
-     noconfigdirs="patch diff  make tk tcl expect dejagnu cvs autoconf texinfo bison send-pr gprof rcs guile perl"
+     noconfigdirs="patch diff make tk tcl expect dejagnu cvs autoconf texinfo bison send-pr gprof rcs guile perl apache inet"
     ;;
 esac
 
 
 case "${target}" in
   *-*-netware)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-librx target-newlib target-libiberty"
+    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-librx target-newlib target-libiberty target-libgloss"
     ;;
   *-*-vxworks*)
-    noconfigdirs="$noconfigdirs target-newlib"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
   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 or grep.
     # gas doesn't generate exception information.
-    noconfigdirs="$noconfigdirs gas ld emacs fileutils grep target-newlib"
+    noconfigdirs="$noconfigdirs gas ld emacs fileutils grep target-newlib target-libgloss"
+    ;;
+  alpha*-*-*vms*)
+    noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss"
     ;;
   alpha*-*-*)
     # newlib is not 64 bit ready
-    noconfigdirs="$noconfigdirs target-newlib"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
 # start-sanitize-arc
   arc-*-*)
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
 # end-sanitize-arc
   arm-*-pe*)
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
   arm-*-riscix*)
-    noconfigdirs="$noconfigdirs ld"
+    noconfigdirs="$noconfigdirs ld target-libgloss"
+    ;;
+# start-sanitize-d10v
+  d10v-*-*)
+    noconfigdirs="$noconfigdirs gdb target-libgloss"
     ;;
+# end-sanitize-d10v
   h8300*-*-* | \
   h8500-*-*)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx"
+    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
     ;;
   hppa*-*-*elf* | \
   hppa*-*-lites*)
@@ -403,36 +443,33 @@ case "${target}" in
     noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx"
     ;;
   *-*-cygwin32)
-
-    # make/glob's configure uses some AC_TRY_RUN type tests
     target_configdirs="$target_configdirs target-winsup"
-    noconfigdirs="$noconfigdirs tcl tk expect make"
+    noconfigdirs="$noconfigdirs tcl tk expect target-libgloss"
     # always build newlib.
     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
 
     # Can't build gdb for cygwin32 if not native.
-    case "${host}:${build}" in
-      *-*-cygwin32 | *-*-cygwin32:*-*-cygwin32) ;; # keep gdb
+    case "${host}" in
+      *-*-cygwin32) ;; # keep gdb
       *) noconfigdirs="$noconfigdirs gdb"
     esac
-
     ;;    
   i[345]86-*-pe)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx"
+    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
     ;;
   i[345]86-*-sco3.2v5*)
     # The linker does not yet know about weak symbols in COFF,
     # and is not configured to handle mixed ELF and COFF.
-    noconfigdirs="$noconfigdirs gprof ld"
+    noconfigdirs="$noconfigdirs gprof ld target-libgloss"
     ;;
   i[345]86-*-sco*)
-    noconfigdirs="$noconfigdirs gprof"
+    noconfigdirs="$noconfigdirs gprof target-libgloss"
     ;;
   i[345]86-*-solaris2*)
     # The linker does static linking correctly, but the Solaris C library
     # has bugs such that some important functions won't work when statically
     # linked.  (See man pages for getpwuid, for example.)
-    noconfigdirs="$noconfigdirs ld"
+    noconfigdirs="$noconfigdirs ld target-libgloss"
     ;;
   i[345]86-*-sysv4*)
     # The SYSV4 C compiler doesn't handle Emacs correctly
@@ -441,45 +478,62 @@ case "${target}" in
         *) ;;
     esac
     # but that's okay since emacs doesn't work anyway
-    noconfigdirs="$noconfigdirs emacs emacs19"
+    noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss"
     ;;
   powerpc-*-aix*)
     # copied from rs6000-*-* entry
-    noconfigdirs="$noconfigdirs gprof cvs"
+    noconfigdirs="$noconfigdirs gprof cvs target-libgloss"
+    # This is needed until gcc and ld are fixed to work together.
+    use_gnu_ld=no
     ;;
   powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
     target_configdirs="$target_configdirs target-winsup"
-    noconfigdirs="$noconfigdirs gdb tcl tk make expect"
+    noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss"
     # always build newlib.
     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
     ;;
+    # This is temporary until we can link against shared libraries
+  powerpcle-*-solaris*)
+    noconfigdirs="$noconfigdirs gdb sim make tcl tk expect"
+    ;;
   rs6000-*-lynxos*)
     # The CVS server code doesn't work on the RS/6000
     # Newlib makes problems for libg++ in crosses.
     noconfigdirs="$noconfigdirs target-newlib gprof cvs"
     ;;
+  rs6000-*-aix*)
+    noconfigdirs="$noconfigdirs gprof"
+    # This is needed until gcc and ld are fixed to work together.
+    use_gnu_ld=no
+    ;;
   rs6000-*-*)
     noconfigdirs="$noconfigdirs gprof"
     ;;
   m68k-apollo-*)
-    noconfigdirs="$noconfigdirs ld binutils gprof"
+    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
     ;;
   mips*-*-irix5*)
     # The GNU linker does not support shared libraries.
     # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
-    noconfigdirs="$noconfigdirs ld gprof emacs"
+    noconfigdirs="$noconfigdirs ld gprof emacs target-libgloss"
+    ;;
+  mips*-*-irix6*)
+    # The GNU linker does not support shared libraries.
+    # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
+    # BFD does not have Irix 6 support yet.
+    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb readline mmalloc sim gprof emacs target-libgloss"
     ;;
   mips*-dec-bsd*)
-    noconfigdirs="$noconfigdirs gprof"
+    noconfigdirs="$noconfigdirs gprof target-libgloss"
     ;;
   mips*-*-bsd*)
-    noconfigdirs="$noconfigdirs gprof"
+    noconfigdirs="$noconfigdirs gprof target-libgloss"
     ;;
   mips*-*-*)
     noconfigdirs="$noconfigdirs gprof"
     ;;
   romp-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes"
+    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss"
     ;;
   sh-*-*)
     case "${host}" in
@@ -487,26 +541,27 @@ case "${target}" in
       i[345]86-*-go32) ;; # don't add gprof back in
       *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
     esac
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
   sparc-*-sunos4*)
     if [ x${is_cross_compiler} != xno ] ; then
-           noconfigdirs="$noconfigdirs gdb gdbtest target-newlib"
+           noconfigdirs="$noconfigdirs gdb gdbtest target-newlib target-libgloss"
     else
            use_gnu_ld=no
     fi
     ;;
   v810-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes"
+    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes target-libgloss"
     ;;
   vax-*-vms)
-    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes"
+    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss"
     ;;
   vax-*-*)
-    noconfigdirs="$noconfigdirs target-newlib"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
   *-*-lynxos*)
     # Newlib makes problems for libg++ in crosses.
-    noconfigdirs="$noconfigdirs target-newlib"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;; 
   *-*-macos* | \
   *-*-mpw*)
@@ -518,14 +573,21 @@ esac
 # targets that need a second pass
 case "${target}" in
   *-gm-magic*)
-    noconfigdirs="$noconfigdirs libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
 esac
 
+# If we aren't building newlib, then don't build libgloss, since libgloss
+# depends upon some newlib header files.
+case "${noconfigdirs}" in
+  *target-libgloss*) ;;
+  *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
+esac
+
 # If we are building a Canadian Cross, discard tools that can not be built
 # using a cross compiler.  FIXME: These tools should be fixed.
 if [ "${build}" != "${host}" ]; then
-  noconfigdirs="$noconfigdirs expect dejagnu make texinfo diff"
+  noconfigdirs="$noconfigdirs tcl tk expect dejagnu"
 fi
 
 # Make sure we don't let GNU ld be added if we didn't want it.
@@ -664,7 +726,7 @@ if [ x${use_gnu_ld} = x ] ; then
   fi
 fi
 
-if [ x${enable_shared} = xyes ]; then
+if [ x${shared} = xyes ]; then
   case "${target}" in
     hppa*)             target_makefile_frag=config/mt-papic ;;
     i[345]86-*)                target_makefile_frag=config/mt-x86pic ;;
@@ -693,7 +755,8 @@ rm -f conftest*
 # The Solaris /usr/ucb/cc compiler does not appear to work.
 case "${host}" in
   sparc-sun-solaris2*)
-      if [ "`/usr/bin/which ${CC-cc}`" = "/usr/ucb/cc" ] ; then
+      CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
+      if [ "`/usr/bin/which $CCBASE`" = "/usr/ucb/cc" ] ; then
           could_use=
           [ -d /opt/SUNWspro/bin ] && could_use="/opt/SUNWspro/bin"
           if [ -d /opt/cygnus/bin ] ; then
@@ -719,7 +782,7 @@ esac
 
 # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
 # binutils tools will find libbfd.so.
-if [ "${enable_shared}" = "yes" ]; then
+if [ "${shared}" = "yes" ]; then
   sed -e 's/^SET_LIB_PATH[     ]*=.*$/SET_LIB_PATH = $(REALLY_SET_LIB_PATH)/' \
       Makefile > Makefile.tem
   rm -f Makefile