Add the rest of the commands needed by GDB.
[deliverable/binutils-gdb.git] / configure.in
index 76a7e1644b8b0763325c9196ffab063bdae1f384..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
@@ -173,8 +201,6 @@ case ${with_x} in
        ;;
 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
@@ -198,6 +224,84 @@ else
        is_cross_compiler=yes
 fi     
 
+copy_dirs=
+
+# Handle --with-headers=XXX.  The contents of the named directory are
+# copied to $(tooldir)/include.
+if [ x"${with_headers}" != x ]; then
+  if [ 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}/include"
+fi
+
+# Handle --with-libs=XXX.  Multiple directories are permitted.  The
+# contents are copied to $(tooldir)/lib.
+if [ x"${with_libs}" != x ]; then
+  if [ 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
+
+# If both --with-headers and --with-libs are specified, default to
+# --without-newlib.
+if [ x"${with_headers}" != x ] && [ x"${with_libs}" != x ]; then
+  if [ x"${with_newlib}" = x ]; then
+    with_newlib=no
+  fi
+fi
+
+# Recognize --without-newlib.
+if [ x${with_newlib} = xno ]; then
+  configdirs=`echo " ${configdirs} " | sed -e 's/ newlib / /'`
+fi
+
+# Handle ${copy_dirs}
+set fnord ${copy_dirs}
+shift
+while [ $# != 0 ]; do
+  if [ -f $2/COPIED ] && [ 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 [ -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
+
 # Configure extra directories which are host specific
 
 case "${host}" in
@@ -224,19 +328,31 @@ case "${host}" in
 esac
 
 
-
-
-
 case "${target}" in
-  alpha-dec-osf1*)
-    noconfigdirs="$noconfigdirs emacs emacs19 fileutils grep newlib"
-    ;; 
+  *-*-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.
@@ -255,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"
@@ -289,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"
@@ -337,9 +454,11 @@ case "${target}" in
      ;;    
 esac
 
+# Remove the entries in $noconfigdirs from $configdirs.  If we have the
+# source for them, add them to $notsupp.
 notsupp=""
 for dir in . $noconfigdirs ; do
-  if [ $dir != . ] && echo "# ${configdirs} #" | grep "${dir} " >/dev/null 2>&1 ; then
+  if [ $dir != . ]  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
     configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
     if [ -r $srcdir/$dir/configure ] || [ -r $srcdir/$dir/configure.in ]; then
       notsupp="$notsupp $dir"
@@ -359,7 +478,7 @@ if [ -n "${notsupp}" ] && [ -z "${norecursion}" ]; then
   # pretend that all is well.)
   if [ -n "$appdirs" ]; then
     for dir in $appdirs ; do
-      if [ -r $dir/Makefile.in ] && echo "# ${configdirs} #" | grep "${dir} " >/dev/null 2>&1 ; then
+      if [ -r $dir/Makefile.in ] && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1 ; then
        appdirs=""
        break
       fi
@@ -403,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
This page took 0.026228 seconds and 4 git commands to generate.