* configure.in: Check for unistd.h.
[deliverable/binutils-gdb.git] / gdb / configure.in
index 9ed3b46fb531a7a14345190a68fab2b37d591cd1..0c1158e3a8b930ee04c089bfec3a60a1cfdb56da 100644 (file)
@@ -1,14 +1,74 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory.  For more information, check
-# any existing configure script.
+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
+AC_ISC_POSIX
+
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+
+AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+
+AC_CHECK_HEADERS(unistd.h)
+
+dnl Handle optional features that can be enabled.
+ENABLE_CFLAGS=
+ENABLE_CLIBS=
+ENABLE_OBS=
+
+AC_ARG_ENABLE(netrom,
+[  --enable-netrom ],
+[case "${enableval}" in
+yes)   enable_netrom=yes ;;
+no)    enable_netrom=no ;;
+*)     AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
+esac])
+
+if test "${enable_netrom}" = "yes"; then
+       ENABLE_OBS="${ENABLE_OBS} remote-nrom.o" 
+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])
+
+if test "${enable_gdbtk}" = "yes"; then
+       AC_PATH_X
+       AC_PATH_XTRA
+
+       CYGNUS_PATH_TK
+       CYGNUS_PATH_TCL
+
+       ENABLE_GDBTK=1
+       TCL_LIBS='$(TCL) $(TK) $(X11)'
+       ENABLE_CLIBS="${ENABLE_CLIBS} ${TCL_LIBS} -lm"
+       ENABLE_OBS="${ENABLE_OBS} gdbtk.o"
+fi
+AC_SUBST(ENABLE_GDBTK)
+# end-sanitize-gdbtk
+
+AC_SUBST(ENABLE_CFLAGS)
+AC_SUBST(ENABLE_CLIBS)
+AC_SUBST(ENABLE_OBS)
 
-srcname="GDB"
-srctrigger=main.c
 
 configdirs="doc testsuite"
 
-# per-host:
+dnl
+changequote(,)dnl
 
 # Map host cpu into the config cpu subdirectory name.
 # The default is $host_cpu.
@@ -22,6 +82,7 @@ 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 ;;
 *)                     gdb_host_cpu=$host_cpu ;;
 
 esac
@@ -32,7 +93,9 @@ case "${host}" in
 
 a29k-*-*)              gdb_host=ultra3 ;;
 
-alpha-*-osf*)          gdb_host=alpha-osf1 ;;
+alpha-*-osf1*)         gdb_host=alpha-osf1 ;;
+alpha-*-osf2*)         gdb_host=alpha-osf2 ;;
+alpha-*-osf[3456789]*) gdb_host=alpha-osf3 ;;
 
 arm-*-*)               gdb_host=arm ;;
 
@@ -41,7 +104,7 @@ c[12]-*-*)           gdb_host=convex ;;
 hppa*-*-bsd*)          gdb_host=hppabsd ;;
 hppa*-*-hiux*)         gdb_host=hppahpux ;;
 hppa*-*-hpux*)         gdb_host=hppahpux ;;
-hppa*-*-osf*)          gdb_host=hppabsd ;;
+hppa*-*-osf*)          gdb_host=hppaosf ;;
 
 i[345]86-ncr-*)                gdb_host=ncr3000 ;;
 i[345]86-sequent-bsd*) gdb_host=symmetry ;;  # dynix
@@ -49,6 +112,7 @@ 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 ;;
@@ -111,6 +175,7 @@ none-*-*)           gdb_host=none ;;
 np1-*-*)               gdb_host=np1 ;;
 
 ns32k-*-mach3*)                gdb_host=mach3 ;;
+ns32k-*-netbsd*)       gdb_host=nbsd ;;
 ns32k-umax-*)          gdb_host=umax ;;
 ns32k-utek-sysv*)      gdb_host=merlin ;;
 
@@ -127,6 +192,7 @@ sparc-*-lynxos*)    gdb_host=sparclynx ;;
 sparc-*-netbsd*)       gdb_host=nbsd ;;
 sparc-*-solaris2*)     gdb_host=sun4sol2 ;;
 sparc-*-sunos4*)       gdb_host=sun4os4 ;;
+sparc-*-sunos5*)       gdb_host=sun4sol2 ;;
 sparc-*-*)             gdb_host=sun4os4 ;;
 
 tahoe-*-*)             gdb_host=tahoe ;;
@@ -135,18 +201,10 @@ vax-*-bsd*)               gdb_host=vaxbsd ;;
 vax-*-ultrix2*)                gdb_host=vaxult2 ;;
 vax-*-ultrix*)         gdb_host=vaxult ;;
 
-esac
+w65-*-*)               gdb_host=w65 ;;
 
+esac
 
-if [ ! -f ${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh ]; then
-       echo '***' "Gdb does not support host ${host}" 1>&2
-       exit 1
-fi
-
-#  We really shouldn't depend on there being a space after XM_FILE= ...
-hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh`
-
-# per-target:
 
 # Map target cpu into the config cpu subdirectory name.
 # The default is $target_cpu.
@@ -161,10 +219,9 @@ m68*)                      gdb_target_cpu=m68k ;;
 m88*)                  gdb_target_cpu=m88k ;;
 mips*)                 gdb_target_cpu=mips ;;
 np1)                   gdb_target_cpu=gould ;;
+powerpc*)              gdb_target_cpu=powerpc ;;
 pn)                    gdb_target_cpu=gould ;;
 pyramid)               gdb_target_cpu=pyr ;;
-sparclite*)            gdb_target_cpu=sparc
-                       configdirs="${configdirs} sparclite" ;;
 sparc*)                        gdb_target_cpu=sparc ;;
 *)                     gdb_target_cpu=$target_cpu ;;
 
@@ -182,22 +239,30 @@ a29k-*-kern*)             gdb_target=a29k-kern ;;
 a29k-*-none*)          gdb_target=a29k ;;
 a29k-*-sym1*)          gdb_target=ultra3 ;;
 a29k-*-udi*)           gdb_target=a29k-udi ;;
+a29k-*-vxworks*)        gdb_target=vx29k ;;
 
 alpha-*-osf*)          gdb_target=alpha-osf1 ;;
-alpha-*-netware*)      gdb_target=alpha-nw
-                       configdirs="${configdirs} nlm" ;;
+
+# start-sanitize-arc
+arc-*-*)               gdb_target=arc ;;
+# end-sanitize-arc
 
 arm-*-*)               gdb_target=arm ;;
 
 c1-*-*)                        gdb_target=convex ;;
 c2-*-*)                        gdb_target=convex ;;
 
-h8300-*-*)             gdb_target=h8300hms ;;
-h8500-*-*)             gdb_target=h8500hms ;;
+h8300-*-*)             gdb_target=h8300 ;;
+h8500-*-*)             gdb_target=h8500 ;;
 
 sh-*-*)                        gdb_target=sh ;;
 
+# start-sanitize-r16
+r16-*-*)               gdb_target=r16 ;;
+# end-sanitize-r16
+
 hppa*-*-bsd*)          gdb_target=hppabsd ;;
+hppa*-*-pro*)          gdb_target=hppapro ;;
 hppa*-*-hpux*)         gdb_target=hppahpux ;;
 hppa*-*-hiux*)         gdb_target=hppahpux ;;
 hppa*-*-osf*)          gdb_target=hppaosf ;;
@@ -211,11 +276,12 @@ 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
-                       configdirs="${configdirs} gdbserver" ;;
+               configdirs="${configdirs} gdbserver" ;;
 i[345]86-*-solaris*)   gdb_target=i386sol2 ;;
 i[345]86-*-sunos*)     gdb_target=sun386 ;;
 i[345]86-*-sysv4*)     gdb_target=i386v4 ;;
@@ -226,7 +292,7 @@ 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
-                       configdirs="${configdirs} nlm" ;;
+               configdirs="${configdirs} nlm" ;;
 i[345]86-*-osf1mk*)    gdb_target=i386mk ;;
 
 i960-*-bout*)          gdb_target=vxworks960 ;;
@@ -255,11 +321,12 @@ m68*-tandem-*)            gdb_target=st2000 ;;
 m68*-rom68k-*)          gdb_target=monitor ;;
 m68*-*bug-*)            gdb_target=monitor ;;
 m68*-monitor-*)         gdb_target=monitor ;;
+m68*-est-*)            gdb_target=est ;;
 m68*-*-aout*)          gdb_target=monitor ;;
 m68*-*-coff*)          gdb_target=monitor ;;
 m68*-*-elf*)           gdb_target=monitor ;;
 m68*-*-lynxos*)                gdb_target=m68klynx
-                       configdirs="${configdirs} gdbserver" ;;
+               configdirs="${configdirs} gdbserver" ;;
 m68*-*-os68k*)         gdb_target=os68k ;;
 m68*-*-sunos3*)                gdb_target=sun3os3 ;;
 m68*-*-sunos4*)                gdb_target=sun3os4 ;;
@@ -281,7 +348,7 @@ mips64*-idt-ecoff*) gdb_target=idt64 ;;
 mips64*el-*-elf*)      gdb_target=idtl64 ;;
 mips64*-*-elf*)                gdb_target=idt64 ;;
 mips*el-*-ecoff*)      gdb_target=idtl ;;
-mips*-idt-ecoff*)      gdb_target=idt ;;
+mips*-*-ecoff*)                gdb_target=idt ;;
 mips*el-*-elf*)                gdb_target=idtl ;;
 mips*-*-elf*)          gdb_target=idt ;;
 mips*-little-*)                gdb_target=littlemips ;;
@@ -298,6 +365,7 @@ none-*-*)           gdb_target=none ;;
 np1-*-*)               gdb_target=np1 ;;
 
 ns32k-*-mach3*)                gdb_target=mach3 ;;
+ns32k-*-netbsd*)       gdb_target=nbsd ;;
 ns32k-utek-sysv*)      gdb_target=merlin ;;
 ns32k-utek-*)          gdb_target=umax ;;
 
@@ -305,6 +373,12 @@ pn-*-*)                    gdb_target=pn ;;
 powerpc-*-netware*)    gdb_target=ppc-nw
                        configdirs="${configdirs} nlm" ;;
 
+powerpc-*-eabi*)       gdb_target=ppc-eabi
+                       configdirs="${configdirs}" ;;
+
+powerpcle-*-eabi*)     gdb_target=ppcle-eabi
+                       configdirs="${configdirs}" ;;
+
 pyramid-*-*)           gdb_target=pyramid ;;
 
 rs6000-*-lynxos*)      gdb_target=rs6000lynx ;;
@@ -314,10 +388,11 @@ sparc-*-aout*)            gdb_target=sparc-em ;;
 sparc-*-coff*)         gdb_target=sparc-em ;;
 sparc-*-elf*)          gdb_target=sparc-em ;;
 sparc-*-lynxos*)       gdb_target=sparclynx
-                       configdirs="${configdirs} gdbserver" ;;
+               configdirs="${configdirs} gdbserver" ;;
 sparc-*-netbsd*)       gdb_target=nbsd ;;
 sparc-*-solaris2*)     gdb_target=sun4sol2 ;;
 sparc-*-sunos4*)       gdb_target=sun4os4 ;;
+sparc-*-sunos5*)       gdb_target=sun4sol2 ;;
 sparc-*-vxworks*)      gdb_target=vxsparc ;;
 sparc-*-*)             gdb_target=sun4os4 ;;
 sparclite*-*-*)                gdb_target=sparclite ;;
@@ -327,38 +402,53 @@ tahoe-*-*)                gdb_target=tahoe ;;
 
 vax-*-*)               gdb_target=vax ;;
 
-z8k-*-sim*)            gdb_target=z8ksim ;;
-z8k-*-coff*)           gdb_target=z8ksim ;;
+w65-*-*)               gdb_target=w65 ;;
+
+z8k-*-coff*)           gdb_target=z8k ;;
 
 esac
 
-if [ ! -f ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt ]; then
-       echo '***' "Gdb does not support target ${target}" 1>&2
-       exit 1
+dnl
+changequote([,])dnl
+
+frags=
+host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
+if test ! -f ${host_makefile_frag}; then
+AC_MSG_ERROR("*** Gdb does not support host ${host}")
 fi
+frags="$frags $host_makefile_frag"
 
-if [ -z "${removing}" ] ; then
-       cat ${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt | awk '$1 == "#msg" {
-               print substr($0,6)}'
+target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
+if test ! -f ${target_makefile_frag}; then
+AC_MSG_ERROR("*** Gdb does not support target ${target}")
 fi
+frags="$frags $target_makefile_frag"
 
-#  We really shouldn't depend on there being a space after TM_FILE= ...
-targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt`
+AC_SUBST_FILE(host_makefile_frag)
+AC_SUBST_FILE(target_makefile_frag)
+AC_SUBST(frags)
 
+changequote(,)dnl
+hostfile=`sed -n '
+s/XM_FILE[     ]*=[    ]*\([^  ]*\)/\1/p
+' ${host_makefile_frag}`
+
+targetfile=`sed -n '
+s/TM_FILE[     ]*=[    ]*\([^  ]*\)/\1/p
+' ${target_makefile_frag}`
 
 # these really aren't orthogonal true/false values of the same condition,
 # but shells are slow enough that I like to reuse the test conditions
 # whenever possible
-#
-if [ "${target}" = "${host}" ] ; then
-       nativefile=`awk '$1 == "NAT_FILE=" { print $2 }' <${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh`
+if test "${target}" = "${host}"; then
+nativefile=`sed -n '
+s/NAT_FILE[    ]*=[    ]*\([^  ]*\)/\1/p
+' ${host_makefile_frag}`
 else
-       # GDBserver is only useful in a "native" enviroment
-       configdirs=`echo $configdirs | sed 's/gdbserver//'`
+# GDBserver is only useful in a "native" enviroment
+configdirs=`echo $configdirs | sed 's/gdbserver//'`
 fi
-
-host_makefile_frag=config/${gdb_host_cpu}/${gdb_host}.mh
-target_makefile_frag=config/${gdb_target_cpu}/${gdb_target}.mt
+changequote([,])
 
 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
@@ -369,57 +459,64 @@ target_makefile_frag=config/${gdb_target_cpu}/${gdb_target}.mt
 files=
 links=
 rm -f xm.h
-if [ "${hostfile}" != "" ]; then
-       files="${files} config/${gdb_host_cpu}/${hostfile}"
-       links="${links} xm.h"
+if test "${hostfile}" != ""; then
+files="${files} config/${gdb_host_cpu}/${hostfile}"
+links="${links} xm.h"
 fi
 rm -f tm.h
-if [ "${targetfile}" != "" ]; then
-       files="${files} config/${gdb_target_cpu}/${targetfile}"
-       links="${links} tm.h"
+if test "${targetfile}" != ""; then
+files="${files} config/${gdb_target_cpu}/${targetfile}"
+links="${links} tm.h"
 fi
 rm -f nm.h
-if [ "${nativefile}" != "" ]; then
-       files="${files} config/${gdb_host_cpu}/${nativefile}"
-       links="${links} nm.h"
+if test "${nativefile}" != ""; then
+files="${files} config/${gdb_host_cpu}/${nativefile}"
+links="${links} nm.h"
 else
-       # A cross-only configuration.
-       files="${files} config/nm-empty.h"
-       links="${links} nm.h"
+# A cross-only configuration.
+files="${files} config/nm-empty.h"
+links="${links} nm.h"
 fi
+# start-sanitize-gdbtk
 
 # Make it possible to use the GUI without doing a full install
-if [ "${enable_gdbtk}" = "yes" -a ! -f gdbtk.tcl ] ; then
-       files="${files} gdbtk.tcl"
-       links="${links} gdbtk.tcl"
-fi
-
-# post-target:
-
-case ${srcdir} in
-  .)
-    ;;
-  *)
-    grep "source ${srcdir}/.gdbinit" .gdbinit >/dev/null 2>/dev/null || \
-      echo "source ${srcdir}/.gdbinit" >> .gdbinit
-esac
-
-if [ "${nativefile}" = "" ] ; then
-       sed -e '/^NATDEPFILES= /s//# NATDEPFILES= /' \
-               < Makefile > Makefile.tem
-       mv -f Makefile.tem Makefile
+if test "${enable_gdbtk}" = "yes" -a ! -f gdbtk.tcl ; then
+files="${files} gdbtk.tcl"
+links="${links} gdbtk.tcl"
 fi
-
-if [ "${enable_gdbtk}" = "yes" ] ; then
-       sed -e '/# End of host and/i\
-\
-ENABLE_DEPFILES = gdbtk.o\
-ENABLE_CLIBS = -ltcl -ltk -lX11 -lm
-' < Makefile > Makefile.tem
-       mv -f Makefile.tem Makefile
+# end-sanitize-gdbtk
+
+AC_LINK_FILES($files, $links)
+
+AC_CONFIG_SUBDIRS($configdirs)
+AC_OUTPUT(Makefile, 
+[
+dnl Autoconf doesn't provide a mechanism for modifying definitions 
+dnl provided by makefile fragments.
+dnl
+if test "${nativefile}" = ""; then
+sed -e '/^NATDEPFILES= /s//# NATDEPFILES= /' \
+       < Makefile > Makefile.tem
+mv -f Makefile.tem Makefile
 fi
 
+changequote(,)dnl
 sed -e '/^TM_FILE[     ]*=/s,^TM_FILE[         ]*=[    ]*,&config/'"${gdb_target_cpu}"'/,
 /^XM_FILE[     ]*=/s,^XM_FILE[         ]*=[    ]*,&config/'"${gdb_host_cpu}"'/,
 /^NAT_FILE[    ]*=/s,^NAT_FILE[        ]*=[    ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
 mv -f Makefile.tmp Makefile
+changequote([,])dnl
+
+case ${srcdir} in
+.)
+;;
+*)
+grep "source ${srcdir}/.gdbinit" .gdbinit >/dev/null 2>/dev/null || \
+echo "source ${srcdir}/.gdbinit" >> .gdbinit
+esac
+],
+[
+gdb_host_cpu=$gdb_host_cpu
+gdb_target_cpu=$gdb_target_cpu
+nativefile=$nativefile
+])
This page took 0.029073 seconds and 4 git commands to generate.