* Makefile.in (diststuff): Make all-doc; diststuff target does not
[deliverable/binutils-gdb.git] / gdb / configure.in
index a70d31f1b074beff01e8c158dd4d07af59fe754b..d3285bb18ce7ac42c5b85f2bd3fbe069f74375ba 100644 (file)
@@ -1,8 +1,27 @@
+dnl Autoconf configure script for GDB, the GNU debugger.
+dnl Copyright 1995, 1996 Free Software Foundation, Inc.
+dnl
+dnl This file is part of GDB.
+dnl 
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl 
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl GNU General Public License for more details.
+dnl 
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
 dnl Process this file with autoconf to produce a configure script.
+
 AC_PREREQ(2.3)dnl
 AC_INIT(main.c)
 
-CC=${CC-cc}
 AC_PROG_CC
 AC_AIX
 AC_MINIX
@@ -17,9 +36,27 @@ AC_CANONICAL_SYSTEM
 AC_ARG_PROGRAM
 
 AC_HEADER_STDC
-AC_CHECK_HEADERS(memory.h string.h strings.h unistd.h termios.h termio.h sgtty.h)
+AC_CHECK_HEADERS(memory.h string.h strings.h unistd.h termios.h termio.h sgtty.h stddef.h sys/procfs.h)
 AC_HEADER_STAT
 
+AC_MSG_CHECKING([for gregset_t type])
+AC_CACHE_VAL(gdb_have_gregset_t,
+[AC_TRY_LINK([#include <sys/procfs.h>],[gregset_t *gregsetp = 0],
+gdb_have_gregset_t=yes, gdb_have_gregset_t=no)])
+AC_MSG_RESULT($gdb_have_gregset_t)
+if test $gdb_have_gregset_t = yes; then
+  AC_DEFINE(HAVE_GREGSET_T)
+fi
+
+AC_MSG_CHECKING([for fpregset_t type])
+AC_CACHE_VAL(gdb_have_fpregset_t,
+[AC_TRY_LINK([#include <sys/procfs.h>],[fpregset_t *fpregsetp = 0],
+gdb_have_fpregset_t=yes, gdb_have_fpregset_t=no)])
+AC_MSG_RESULT($gdb_have_fpregset_t)
+if test $gdb_have_fpregset_t = yes; then
+  AC_DEFINE(HAVE_FPREGSET_T)
+fi
+
 AC_FUNC_MMAP
 
 dnl Handle optional features that can be enabled.
@@ -39,53 +76,150 @@ if test "${enable_netrom}" = "yes"; then
        ENABLE_OBS="${ENABLE_OBS} remote-nrom.o" 
 fi
 
+# start-sanitize-gm
+ENABLE_GM=
+
+AC_ARG_ENABLE(gm,
+[  --enable-gm ],
+[case "${enableval}" in
+yes)   ENABLE_OBS="${ENABLE_OBS} gmagic.o"
+       ENABLE_CFLAGS=-DGENERAL_MAGIC
+       ;;
+no)    ;;
+*)     AC_MSG_ERROR(bad value ${enableval} given for gm option) ;;
+esac])
+
+# end-sanitize-gm
+
+AC_ARG_ENABLE(sim-powerpc,
+[  --enable-sim-powerpc ],
+[case "${enableval}" in
+yes)   powerpc_sim=yes ;;
+no)    powerpc_sim=no ;;
+*)     AC_MSG_ERROR(bad value ${enableval} given for sim-powerpc option) ;;
+esac],[if test x"$GCC" != x""; then powerpc_sim=yes; else powerpc_sim=no; fi])
+
 # start-sanitize-gdbtk
 ENABLE_GDBTK=
 
 AC_ARG_ENABLE(gdbtk,
 [  --enable-gdbtk ],
 [case "${enableval}" in
-yes)   enable_gdbtk=yes ;;
-no)    enable_gdbtk=no  ;;
-*)     AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
-esac])
+    yes)
+       case "$host" in
+       *go32*)
+           AC_MSG_WARN([GDB does not support GDBtk on host ${host}.  GDBtk will be disabled.])
+           enable_gdbtk=no ;;
+       *)
+           enable_gdbtk=yes ;;
+       esac ;;
+    no)
+       enable_gdbtk=no  ;;
+    *)
+       AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
+esac],
+[
+# Default is on for everything but go32
+case "$host" in
+    *go32*)
+       ;;
+    *)
+       enable_gdbtk=yes ;;
+    esac
+])
 
 if test "${enable_gdbtk}" = "yes"; then
-       AC_PATH_X
-       AC_PATH_XTRA
-
-       CYGNUS_PATH_TK
-       CYGNUS_PATH_TCL
-
-       ENABLE_GDBTK=1
-
-       if test "x$x_includes" != "x" ; 
-       then
-               X_INCDIR="-I$x_includes"
-       else
-               X_INCDIR=""
-       fi
-
-       if test "x$x_libraries" != "x" ;
-       then
-               X_LIBDIR="-L$x_libraries"
-       else
-               X_LIBDIR=""
-       fi
-
-       TCL_LIBS='$(TCL) $(TK) $(X11)'
-       ENABLE_CLIBS="${ENABLE_CLIBS} ${TCL_LIBS} -lm"
-       ENABLE_OBS="${ENABLE_OBS} gdbtk.o"
+
+    AC_PATH_X
+    AC_PATH_XTRA
+
+    CY_AC_PATH_TCL
+    CY_AC_PATH_TK
+
+    # Look for dynamic linking libraries that Tcl might need.  This is
+    # only done for Tcl 7.5 and greater.  It would be good to look for and
+    # use the "configInfo" file that Tcl generates, but for now that is
+    # beyond us.
+    if test $tclmajor -ge 7 -a $tclminor -ge 5 ; then
+       AC_CHECK_LIB(dl, main, , AC_CHECK_LIB(dld, main))
+    fi
+
+    ENABLE_GDBTK=1
+
+    if test "x$no_x" != "xyes"; then
+        if test "x$x_includes" != "x" ;
+        then
+            X_CFLAGS="-I$x_includes"
+        else
+            X_CFLAGS=""
+        fi
+    
+        if test "x$x_libraries" != "x" ;
+        then
+            X_LDFLAGS="-L$x_libraries"
+        else
+            X_LDFLAGS=""
+        fi
+    
+        case "$host" in
+#
+# gdb linked statically w/ Solaris iff GCC is used, otherwise dynamic
+#
+            sparc*-sun-solaris2*)
+                if test "x$GCC" = "xyes";
+                then
+                    X_LIBS="-Wl,-Bstatic -lX11 -lXext -lX11 -Wl,-Bdynamic -ldl -lw"
+                else
+                    if test "x$x_libraries" != "x" ;
+                    then
+                        X_LDFLAGS="$X_LDFLAGS -R$x_libraries"
+                    fi
+                    X_LIBS="-lX11 -lXext -lX11"
+                fi ;;
+#
+# gdb linked statically w/ SunOS or HPUX
+#
+            m68k-hp-hpux*|hppa*-hp-hpux*|sparc-sun-sunos*)
+                if test "x$x_libraries" != "x" ;
+                then
+                    X_LIBS="$x_libraries/libX11.a"
+                else
+                    X_LIBS="/usr/lib/libX11.a"
+                fi ;;
+#
+# default is to link dynamically
+#
+            *)
+                X_LIBS="-lX11" ;;
+        esac
+    else
+        X_LDLAGS=""
+        X_CFLAGS=""
+        X_LIBS=""
+        AC_MSG_WARN([No X based programs will be built])
+    fi
+    
+    TCL_LIBS='$(TCL) $(TK) $(X11_LDFLAGS) $(X11_LIBS)'
+    ENABLE_CLIBS="${ENABLE_CLIBS} ${TCL_LIBS} -lm"
+    ENABLE_OBS="${ENABLE_OBS} gdbtk.o"
 fi
+
 AC_SUBST(ENABLE_GDBTK)
-AC_SUBST(X_INCDIR)
-AC_SUBST(X_LIBDIR)
+AC_SUBST(X_CFLAGS)
+AC_SUBST(X_LDFLAGS)
+AC_SUBST(X_LIBS)
 # end-sanitize-gdbtk
 
 AC_SUBST(ENABLE_CFLAGS)
 AC_SUBST(ENABLE_CLIBS)
 AC_SUBST(ENABLE_OBS)
 
+# target_subdir is used by the testsuite to find the target libraries.
+target_subdir=
+if test "${host}" != "${target}"; then
+    target_subdir="${target_alias}/"
+fi
+AC_SUBST(target_subdir)
 
 configdirs="doc testsuite"
 
@@ -99,12 +233,13 @@ case "${host_cpu}" in
 
 c[12])                 gdb_host_cpu=convex ;;
 hppa*)                 gdb_host_cpu=pa ;;
-i[345]86)              gdb_host_cpu=i386 ;;
+i[3456]86)             gdb_host_cpu=i386 ;;
 m68*)                  gdb_host_cpu=m68k ;;
 m88*)                  gdb_host_cpu=m88k ;;
 np1)                   gdb_host_cpu=gould ;;
 pyramid)               gdb_host_cpu=pyr ;;
 powerpc*)              gdb_host_cpu=powerpc ;;
+sparc64)               gdb_host_cpu=sparc ;;
 *)                     gdb_host_cpu=$host_cpu ;;
 
 esac
@@ -128,32 +263,33 @@ hppa*-*-hiux*)            gdb_host=hppahpux ;;
 hppa*-*-hpux*)         gdb_host=hppahpux ;;
 hppa*-*-osf*)          gdb_host=hppaosf ;;
 
-i[345]86-ncr-*)                gdb_host=ncr3000 ;;
-i[345]86-sequent-bsd*) gdb_host=symmetry ;;  # dynix
-i[345]86-sequent-sysv4*) gdb_host=ptx4 ;;
-i[345]86-sequent-sysv*)        gdb_host=ptx ;;
-i[345]86-*-aix*)       gdb_host=i386aix ;;
-i[345]86-*-bsd*)       gdb_host=i386bsd ;;
-i[345]86-*-freebsd*)   gdb_host=fbsd ;;
-i[345]86-*-netbsd*)    gdb_host=nbsd ;;
-i[345]86-*-go32*)      gdb_host=go32 ;;
-i[345]86-*-linux*)     gdb_host=linux ;;
-i[345]86-*-lynxos*)    gdb_host=i386lynx ;;
-i[345]86-*-mach3*)     gdb_host=i386m3 ;;
-i[345]86-*-mach*)      gdb_host=i386mach ;;
-i[345]86-*-osf1mk*)    gdb_host=osf1mk ;;
-i[345]86-*-sco3.2v4*)  gdb_host=i386sco4 ;;
-i[345]86-*-sco*)       gdb_host=i386sco ;;
-i[345]86-*-solaris*)   gdb_host=i386sol2 ;;
-i[345]86-*-sunos*)     gdb_host=sun386 ;;
-i[345]86-*-sysv3.2*)   gdb_host=i386v32 ;;
-i[345]86-*-sysv32*)    gdb_host=i386v32 ;;
-i[345]86-*-sysv4*)     gdb_host=i386v4 ;;
-i[345]86-*-unixware)   gdb_host=i386v4 ;;
-i[345]86-*-sysv*)      gdb_host=i386v ;;
-i[345]86-*-isc*)       gdb_host=i386v32 ;;
-i[345]86-*-os9k)       gdb_host=i386os9k ;;
-i[345]86-*-win32*)     gdb_host=win32 ;;
+i[3456]86-ncr-*)       gdb_host=ncr3000 ;;
+i[3456]86-sequent-bsd*)        gdb_host=symmetry ;;  # dynix
+i[3456]86-sequent-sysv4*) gdb_host=ptx4 ;;
+i[3456]86-sequent-sysv*) gdb_host=ptx ;;
+i[3456]86-*-aix*)      gdb_host=i386aix ;;
+i[3456]86-*-bsd*)      gdb_host=i386bsd ;;
+i[3456]86-*-dgux*)     gdb_host=i386dgux ;;
+i[3456]86-*-freebsd*)  gdb_host=fbsd ;;
+i[3456]86-*-netbsd*)   gdb_host=nbsd ;;
+i[3456]86-*-go32*)     gdb_host=go32 ;;
+i[3456]86-*-linux*)    gdb_host=linux ;;
+i[3456]86-*-lynxos*)   gdb_host=i386lynx ;;
+i[3456]86-*-mach3*)    gdb_host=i386m3 ;;
+i[3456]86-*-mach*)     gdb_host=i386mach ;;
+i[3456]86-*-osf1mk*)   gdb_host=osf1mk ;;
+i[3456]86-*-sco3.2v4*) gdb_host=i386sco4 ;;
+i[3456]86-*-sco*)      gdb_host=i386sco ;;
+i[3456]86-*-solaris*)  gdb_host=i386sol2 ;;
+i[3456]86-*-sunos*)    gdb_host=sun386 ;;
+i[3456]86-*-sysv3.2*)  gdb_host=i386v32 ;;
+i[3456]86-*-sysv32*)   gdb_host=i386v32 ;;
+i[3456]86-*-sysv4*)    gdb_host=i386v4 ;;
+i[3456]86-*-unixware)  gdb_host=i386v4 ;;
+i[3456]86-*-sysv*)     gdb_host=i386v ;;
+i[3456]86-*-isc*)      gdb_host=i386v32 ;;
+i[3456]86-*-os9k)      gdb_host=i386os9k ;;
+i[3456]86-*-win32*)    gdb_host=win32 ;;
 m680[01]0-sun-sunos3*) gdb_host=sun2os3 ;;
 m680[01]0-sun-sunos4*) gdb_host=sun2os4 ;;
 m68030-sony-*)         gdb_host=news1000 ;;
@@ -210,6 +346,7 @@ pyramid-*-*)                gdb_host=pyramid ;;
 romp-*-*)              gdb_host=rtbsd ;;
 
 rs6000-*-lynxos*)      gdb_host=rs6000lynx ;;
+rs6000-*-aix4*)                gdb_host=aix4 ;;
 rs6000-*-*)            gdb_host=rs6000 ;;
 
 sparc-*-lynxos*)       gdb_host=sparclynx ;;
@@ -218,6 +355,7 @@ sparc-*-solaris2*)  gdb_host=sun4sol2 ;;
 sparc-*-sunos4*)       gdb_host=sun4os4 ;;
 sparc-*-sunos5*)       gdb_host=sun4sol2 ;;
 sparc-*-*)             gdb_host=sun4os4 ;;
+sparc64-*-*)           gdb_host=sun4sol2 ;;
 
 tahoe-*-*)             gdb_host=tahoe ;;
 
@@ -238,7 +376,7 @@ case "${target_cpu}" in
 alpha)                 gdb_target_cpu=alpha ;;
 c[12])                 gdb_target_cpu=convex ;;
 hppa*)                 gdb_target_cpu=pa ;;
-i[345]86)              gdb_target_cpu=i386 ;;
+i[3456]86)             gdb_target_cpu=i386 ;;
 m68*)                  gdb_target_cpu=m68k ;;
 m88*)                  gdb_target_cpu=m88k ;;
 mips*)                 gdb_target_cpu=mips ;;
@@ -291,34 +429,34 @@ hppa*-*-hpux*)            gdb_target=hppahpux ;;
 hppa*-*-hiux*)         gdb_target=hppahpux ;;
 hppa*-*-osf*)          gdb_target=hppaosf ;;
 
-i[345]86-sequent-bsd*) gdb_target=symmetry ;;
-i[345]86-sequent-sysv4*) gdb_target=ptx4 ;;
-i[345]86-sequent-sysv*)        gdb_target=ptx ;;
-i[345]86-ncr-*)                gdb_target=ncr3000 ;;
-i[345]86-*-aout*)      gdb_target=i386aout ;;
-i[345]86-*-coff*)      gdb_target=i386v ;;
-i[345]86-*-elf*)       gdb_target=i386v ;;
-i[345]86-*-aix*)       gdb_target=i386aix ;;
-i[345]86-*-bsd*)       gdb_target=i386bsd ;;
-i[345]86-*-freebsd*)   gdb_target=fbsd ;;
-i[345]86-*-netbsd*)    gdb_target=nbsd ;;
-i[345]86-*-os9k)       gdb_target=i386os9k ;;
-i[345]86-*-go32*)      gdb_target=i386aout ;;
-i[345]86-*-lynxos*)    gdb_target=i386lynx
+i[3456]86-sequent-bsd*)        gdb_target=symmetry ;;
+i[3456]86-sequent-sysv4*) gdb_target=ptx4 ;;
+i[3456]86-sequent-sysv*) gdb_target=ptx ;;
+i[3456]86-ncr-*)       gdb_target=ncr3000 ;;
+i[3456]86-*-aout*)     gdb_target=i386aout ;;
+i[3456]86-*-coff*)     gdb_target=i386v ;;
+i[3456]86-*-elf*)      gdb_target=i386v ;;
+i[3456]86-*-aix*)      gdb_target=i386aix ;;
+i[3456]86-*-bsd*)      gdb_target=i386bsd ;;
+i[3456]86-*-freebsd*)  gdb_target=fbsd ;;
+i[3456]86-*-netbsd*)   gdb_target=nbsd ;;
+i[3456]86-*-os9k)      gdb_target=i386os9k ;;
+i[3456]86-*-go32*)     gdb_target=i386aout ;;
+i[3456]86-*-lynxos*)   gdb_target=i386lynx
                configdirs="${configdirs} gdbserver" ;;
-i[345]86-*-solaris*)   gdb_target=i386sol2 ;;
-i[345]86-*-sunos*)     gdb_target=sun386 ;;
-i[345]86-*-sysv4*)     gdb_target=i386v4 ;;
-i[345]86-*-sco*)       gdb_target=i386v ;;
-i[345]86-*-sysv*)      gdb_target=i386v ;;
-i[345]86-*-linux*)     gdb_target=linux ;;
-i[345]86-*-isc*)       gdb_target=i386v ;;
-i[345]86-*-mach3*)     gdb_target=i386m3 ;;
-i[345]86-*-mach*)      gdb_target=i386mach ;;
-i[345]86-*-netware*)   gdb_target=i386nw
+i[3456]86-*-solaris*)  gdb_target=i386sol2 ;;
+i[3456]86-*-sunos*)    gdb_target=sun386 ;;
+i[3456]86-*-sysv4*)    gdb_target=i386v4 ;;
+i[3456]86-*-sco*)      gdb_target=i386v ;;
+i[3456]86-*-sysv*)     gdb_target=i386v ;;
+i[3456]86-*-linux*)    gdb_target=linux ;;
+i[3456]86-*-isc*)      gdb_target=i386v ;;
+i[3456]86-*-mach3*)    gdb_target=i386m3 ;;
+i[3456]86-*-mach*)     gdb_target=i386mach ;;
+i[3456]86-*-netware*)  gdb_target=i386nw
                configdirs="${configdirs} nlm" ;;
-i[345]86-*-osf1mk*)    gdb_target=i386mk ;;
-i[345]86-*-win32)      gdb_target=win32  ;;
+i[3456]86-*-osf1mk*)   gdb_target=i386mk ;;
+i[3456]86-*-win32)     gdb_target=win32  ;;
 
 i960-*-bout*)          gdb_target=vxworks960 ;;
 i960-*-coff*)          gdb_target=nindy960 ;;
@@ -368,14 +506,19 @@ mips64*-big-*)            gdb_target=bigmips64 ;;
 mips*-big-*)           gdb_target=bigmips ;;
 mips*-dec-mach3*)      gdb_target=mach3 ;;
 mips*-dec-*)           gdb_target=decstation ;;
-mips64*el-*-ecoff*)    gdb_target=idtl64 ;;
-mips64*-idt-ecoff*)    gdb_target=idt64 ;;
-mips64*el-*-elf*)      gdb_target=idtl64 ;;
-mips64*-*-elf*)                gdb_target=idt64 ;;
-mips*el-*-ecoff*)      gdb_target=idtl ;;
-mips*-*-ecoff*)                gdb_target=idt ;;
-mips*el-*-elf*)                gdb_target=idtl ;;
-mips*-*-elf*)          gdb_target=idt ;;
+mips64*el-*-ecoff*)    gdb_target=embedl64 ;;
+mips64*-*-ecoff*)      gdb_target=embed64 ;;
+mips64*vr4300*el-*-elf*)       gdb_target=vr4300el ;;
+mips64*vr4300*-*-elf*) gdb_target=vr4300 ;;
+mips64*el-*-elf*)      gdb_target=embedl64 ;;
+mips64*-*-elf*)                gdb_target=embed64 ;;
+mips*el-*-ecoff*)      gdb_target=embedl ;;
+mips*-*-ecoff*)                gdb_target=embed ;;
+# start-sanitize-gm
+mips*-*-magic*)                gdb_target=embed ;;
+# end-sanitize-gm
+mips*el-*-elf*)                gdb_target=embedl ;;
+mips*-*-elf*)          gdb_target=embed ;;
 mips*-little-*)                gdb_target=littlemips ;;
 mips*-sgi-irix5*)      gdb_target=irix5 ;;
 mips*-sgi-*)           gdb_target=irix3 ;;
@@ -395,15 +538,22 @@ ns32k-utek-sysv*) gdb_target=merlin ;;
 ns32k-utek-*)          gdb_target=umax ;;
 
 pn-*-*)                        gdb_target=pn ;;
+powerpc-*-macos*)      gdb_target=macos ;;
 powerpc-*-netware*)    gdb_target=ppc-nw
                        configdirs="${configdirs} nlm" ;;
 
 powerpc-*-aix4*)       gdb_target=aix4 ;;
 powerpc-*-aix*)                gdb_target=aix ;;
-powerpc-*-eabisim*)    gdb_target=ppc-sim ;;
-powerpc-*-eabi*)       gdb_target=ppc-eabi ;;
-powerpcle-*-eabisim*)  gdb_target=ppcle-sim ;;
-powerpcle-*-eabi*)     gdb_target=ppcle-eabi ;;
+powerpc-*-eabi*)       if test x"$powerpc_sim" = x"yes"; then
+                         gdb_target=ppc-sim
+                       else
+                         gdb_target=ppc-eabi
+                       fi ;;
+powerpcle-*-eabi*)     if test x"$powerpc_sim" = x"yes"; then
+                         gdb_target=ppcle-sim
+                       else
+                         gdb_target=ppcle-eabi
+                       fi ;;
 
 pyramid-*-*)           gdb_target=pyramid ;;
 
@@ -423,6 +573,7 @@ sparc-*-sunos5*)    gdb_target=sun4sol2 ;;
 sparc-*-vxworks*)      gdb_target=vxsparc ;;
 sparc-*-*)             gdb_target=sun4os4 ;;
 sparclite*-*-*)                gdb_target=sparclite ;;
+sparc64-*-solaris2*)   gdb_target=sp64sol2 ;;
 sparc64-*-*)           gdb_target=sp64 ;;
 
 tahoe-*-*)             gdb_target=tahoe ;;
This page took 0.029628 seconds and 4 git commands to generate.