Lots of changes from David Mosberger-Tang; see ChangeLog and NOTES for details:
[binutils-gdb.git] / configure.in
index 657339dd9dbf5ca9e49f21c8de0fff48b1fe75d7..5730b4029486d2c3e07ee83714f6754e58bf27bf 100644 (file)
 #
 host_libs="mmalloc libiberty opcodes bfd readline glob gash tcl tk tclX"
 
+if [ "${enable_gdbgui}" = "yes" ] ; then
+       host_libs="${host_libs} libgui"
+fi
+
 # these tools are built for the host environment
 #
 host_tools="texinfo byacc flex bison binutils ld gas gcc gdb make patch
@@ -38,7 +42,7 @@ host_tools="texinfo byacc flex bison binutils ld gas gcc gdb make patch
 # 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="libm xiberty newlib libio librx libg++"
+target_libs="libm xiberty libgloss newlib libio librx libstdc++ libg++"
 
 
 # these tools are built using the target libs, and are intended to run only
@@ -60,13 +64,13 @@ target_tools="examples groff"
 
 # directories to be built in the native environment only
 #
-native_only="autoconf cvs emacs emacs19 fileutils find grep groff gzip hello indent
-             ispell m4 rcs recode sed shellutils tar textutils gash tk uudecode wdiff 
-            gprof"
+native_only="autoconf cvs emacs emacs19 fileutils find grep groff gzip hello
+            indent ispell m4 rcs recode sed shellutils tar textutils gash
+            uudecode wdiff gprof"
 
 # directories to be built in a cross environment only
 #
-cross_only="xiberty newlib"
+cross_only="xiberty libgloss newlib"
 
 ## All tools belong in one of the four categories, and are assigned above
 ## We assign ${configdirs} this way to remove all embedded newlines.  This
@@ -99,7 +103,7 @@ case "${host}" in
   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[345]86-ncr-sysv43)    host_makefile_frag=config/mh-ncrsvr43 ;;
+  i[345]86-ncr-sysv4.3)   host_makefile_frag=config/mh-ncrsvr43 ;;
   i[345]86-ncr-sysv4*)    host_makefile_frag=config/mh-ncr3000 ;;
   i[345]86-*-sco*)        host_makefile_frag=config/mh-sco ;;
   i[345]86-*-isc*)       host_makefile_frag=config/mh-sysv ;;
@@ -149,6 +153,30 @@ case "${host}" in
   ;;
 esac
 
+# We default to --with-shared on platforms where -fpic is meaningless.
+# 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 ;;
+    mips-sgi-irix5*)   enable_shared=yes ;;
+    *)                 enable_shared=no ;;
+  esac
+fi
+
+if [ x${enable_shared} = xyes ]; then
+  waugh=
+  case "${host}" in
+    hppa*-*-*)         waugh=config/mh-papic ;;
+    i[345]86-*-*)      waugh=config/mh-x86pic ;;
+    *-*-*)             waugh=config/mh-${host_cpu}pic ;;
+  esac
+  if [ -n "${host_makefile_frag}" ] && [ -f ${srcdir}/${waugh} ]; then
+    cat ${srcdir}/${host_makefile_frag} > mh-frag
+    cat ${srcdir}/${waugh} >> mh-frag
+    host_makefile_frag=mh-frag
+  fi
+fi
+
 # per-target:
 
 case "${target}" in
@@ -301,19 +329,30 @@ esac
 
 
 case "${target}" in
+  *-*-netware)
+    noconfigdirs="$noconfigdirs libg++ libstdc++ librx newlib xiberty"
+    ;;
   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 emacs19,
     # fileutils or grep.
     noconfigdirs="$noconfigdirs ld emacs emacs19 fileutils grep newlib"
-    ;; 
+    ;;
   alpha*-*-*)
     # newlib is not 64 bit ready
     noconfigdirs="$noconfigdirs newlib"
-    ;;    
+    ;;
+# start-sanitize-arc
+  arc-*-*)
+    noconfigdirs="$noconfigdirs libg++ libstdc++ libio librx"
+    ;;
+# end-sanitize-arc
+  arm-*-*)
+    noconfigdirs="$noconfigdirs ld"
+    ;;
   h8300*-*-* | \
   h8500-*-*)
-    noconfigdirs="$noconfigdirs libg++ libio librx"
+    noconfigdirs="$noconfigdirs libg++ libstdc++ libio librx"
     ;;
   hppa*-*-*elf*)
     # Do configure ld/binutils/gas for this case.
@@ -332,7 +371,7 @@ case "${target}" in
     # add the go32 support tools to the list
     # but don't build gdb
     configdirs=`echo go32 ${configdirs}`
-    noconfigdirs="$noconfigdirs gdb libg++ libio librx"
+    noconfigdirs="$noconfigdirs gdb libg++ libstdc++ libio librx"
     ;;
   i[345]86-*-sco*)
     noconfigdirs="$noconfigdirs gprof"
@@ -366,14 +405,15 @@ case "${target}" in
     ;;
   rs6000-*-*)
     # a gcc built textutils will cause the linker to hang on 'join'
-    noconfigdirs="$noconfigdirs ld binutils gprof textutils"
+    noconfigdirs="$noconfigdirs gas ld binutils gprof textutils"
     ;;
   m68k-apollo-*)
     noconfigdirs="$noconfigdirs ld binutils gprof"
     ;;
   mips*-*-irix5*)
     # The GNU linker does not support shared libraries.
-    noconfigdirs="$noconfigdirs ld gprof"
+    # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
+    noconfigdirs="$noconfigdirs ld gprof emacs"
     ;;
   mips*-dec-bsd*)
     noconfigdirs="$noconfigdirs gprof"
@@ -482,6 +522,14 @@ if [ x${use_gnu_ld} = x ] ; then
   fi
 fi
 
+if [ x${enable_shared} = xyes ]; then
+  case "${target}" in
+    hppa*-*-*)         target_makefile_frag=config/mt-papic ;;
+    i[345]86-*-*)      target_makefile_frag=config/mt-x86pic ;;
+    *-*-*)             target_makefile_frag=config/mt-${target_cpu}pic ;;
+  esac
+fi
+
 #
 # Local Variables:
 # fill-column: 131