Correct buggy dispatch logic.
[bpt/emacs.git] / configure.in
index 489d9f1..2e3aa63 100644 (file)
@@ -4,7 +4,7 @@ dnl     autoconf
 dnl in the directory containing this script.
 dnl
 dnl  Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003,
 dnl in the directory containing this script.
 dnl
 dnl  Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003,
-dnl    2004, 2005, 2006, 2007  Free Software Foundation, Inc.
+dnl    2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
 dnl
 dnl  This file is part of GNU Emacs.
 dnl
 dnl
 dnl  This file is part of GNU Emacs.
 dnl
@@ -24,8 +24,9 @@ dnl  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 dnl  Boston, MA 02110-1301, USA.
 
 AC_PREREQ(2.61)dnl
 dnl  Boston, MA 02110-1301, USA.
 
 AC_PREREQ(2.61)dnl
-AC_INIT(src/lisp.h)
+AC_INIT(emacs, 23.0.60)
 AC_CONFIG_HEADER(src/config.h:src/config.in)
 AC_CONFIG_HEADER(src/config.h:src/config.in)
+AC_CONFIG_SRCDIR(src/lisp.h)
 
 dnl Support for --program-prefix, --program-suffix and
 dnl --program-transform-name options
 
 dnl Support for --program-prefix, --program-suffix and
 dnl --program-transform-name options
@@ -42,48 +43,68 @@ gamedir='${localstatedir}/games/emacs'
 
 gameuser=games
 
 
 gameuser=games
 
-dnl Autoconf is so much less fun under VMS, maybe
-dnl because everything is less fun under VMS. --ttn
-AC_DEFUN([EMACS_ARG_Y],[dnl
-AC_ARG_WITH([$1],[AS_HELP_STRING([--with-$1],[$2])],[$3],[$4])dnl
-])dnl
-AC_DEFUN([EMACS_ARG_N],[dnl
-AC_ARG_WITH([$1],[AS_HELP_STRING([--without-$1],[$2])],[$3],[$4])dnl
+dnl OPTION_DEFAULT_OFF(NAME, HELP-STRING)
+dnl Create a new --with option that defaults to being disabled.
+dnl NAME is the base name of the option.  The shell variable with_NAME
+dnl   will be set to either the user's value (if the option is
+dnl   specified; 'yes' for a plain --with-NAME) or to 'no' (if the
+dnl   option is not specified).  Note that the shell variable name is
+dnl   constructed as autoconf does, by replacing non-alphanumeric
+dnl   characters with "_".
+dnl HELP-STRING is the help text for the option.
+AC_DEFUN([OPTION_DEFAULT_OFF], [dnl
+  AC_ARG_WITH([$1],[AS_HELP_STRING([--with-$1],[$2])],[],[dnl
+    m4_bpatsubst([with_$1], [[^0-9a-z]], [_])=no])dnl
 ])dnl
 
 ])dnl
 
-EMACS_ARG_N([gcc],[don't use GCC to compile Emacs if GCC is found])
+dnl OPTION_DEFAULT_ON(NAME, HELP-STRING)
+dnl Create a new --with option that defaults to being enabled.  NAME
+dnl   is the base name of the option.  The shell variable with_NAME
+dnl   will be set either to 'no' (for a plain --without-NAME) or to
+dnl   'yes' (if the option is not specified).  Note that the shell
+dnl   variable name is constructed as autoconf does, by replacing
+dnl   non-alphanumeric characters with "_".
+dnl HELP-STRING is the help text for the option.
+AC_DEFUN([OPTION_DEFAULT_ON], [dnl
+  AC_ARG_WITH([$1],[AS_HELP_STRING([--without-$1],[$2])],[],[dnl
+   m4_bpatsubst([with_$1], [[^0-9a-z]], [_])=yes])dnl
+])dnl
 
 
-EMACS_ARG_N([pop],[don't support POP mail retrieval with movemail],
-[if test "$withval" = yes; then
+OPTION_DEFAULT_ON([pop],[don't support POP mail retrieval with movemail])
+if test "$with_pop" = yes; then
    AC_DEFINE(MAIL_USE_POP)
    AC_DEFINE(MAIL_USE_POP)
-else :
-fi],
-AC_DEFINE(MAIL_USE_POP))
+fi
 AH_TEMPLATE(MAIL_USE_POP, [Define to support POP mail retrieval.])dnl
 
 AH_TEMPLATE(MAIL_USE_POP, [Define to support POP mail retrieval.])dnl
 
-EMACS_ARG_Y([kerberos],[support Kerberos-authenticated POP],
-[if test "$withval" = yes; then
+OPTION_DEFAULT_OFF([kerberos],[support Kerberos-authenticated POP])
+if test "$with_kerberos" = yes; then
    AC_DEFINE(KERBEROS)
    AC_DEFINE(KERBEROS)
-fi])
+fi
 AH_TEMPLATE(KERBEROS,
            [Define to support Kerberos-authenticated POP mail retrieval.])dnl
 
 AH_TEMPLATE(KERBEROS,
            [Define to support Kerberos-authenticated POP mail retrieval.])dnl
 
-EMACS_ARG_Y([kerberos5],[support Kerberos version 5 authenticated POP],
-[if test "${with_kerberos5+set}" = set; then
-  if test "${with_kerberos+set}" != set; then
+OPTION_DEFAULT_OFF([kerberos5],[support Kerberos version 5 authenticated POP])
+if test "${with_kerberos5}" = yes; then
+  if test "${with_kerberos}" != yes; then
     with_kerberos=yes
     AC_DEFINE(KERBEROS)
   fi
   AC_DEFINE(KERBEROS5, 1, [Define to use Kerberos 5 instead of Kerberos 4.])
     with_kerberos=yes
     AC_DEFINE(KERBEROS)
   fi
   AC_DEFINE(KERBEROS5, 1, [Define to use Kerberos 5 instead of Kerberos 4.])
-fi])
+fi
 
 
-EMACS_ARG_Y([hesiod],[support Hesiod to get the POP server host],
-[if test "$withval" = yes; then
+OPTION_DEFAULT_OFF([hesiod],[support Hesiod to get the POP server host])
+if test "$with_hesiod" = yes; then
   AC_DEFINE(HESIOD, 1, [Define to support using a Hesiod database to find the POP server.])
   AC_DEFINE(HESIOD, 1, [Define to support using a Hesiod database to find the POP server.])
-fi])
+fi
+
+OPTION_DEFAULT_ON([sound],[don't compile with sound support])
 
 
-EMACS_ARG_N([sound],[don't compile with sound support])
+OPTION_DEFAULT_ON([sync-input],[Process async input synchronously])
+if test "$with_sync_input" = yes; then
+   AC_DEFINE(SYNC_INPUT, 1, [Process async input synchronously.])
+fi
 
 
+dnl FIXME currently it is not the last.
 dnl This should be the last --with option, because --with-x is
 dnl added later on when we find the path of X, and it's best to
 dnl keep them together visually.
 dnl This should be the last --with option, because --with-x is
 dnl added later on when we find the path of X, and it's best to
 dnl keep them together visually.
@@ -105,21 +126,50 @@ this option's value should be `yes', `no', `lucid', `athena', `motif' or `gtk'.
          with_x_toolkit=$val
 ])
 
          with_x_toolkit=$val
 ])
 
-EMACS_ARG_Y([xpm],[use -lXpm for displaying XPM images])
-EMACS_ARG_Y([jpeg],[use -ljpeg for displaying JPEG images])
-EMACS_ARG_Y([tiff],[use -ltiff for displaying TIFF images])
-EMACS_ARG_Y([gif],[use -lgif (or -lungif) for displaying GIF images])
-EMACS_ARG_Y([png],[use -lpng for displaying PNG images])
-EMACS_ARG_Y([freetype],[use -lfreetype for local fonts support])
-EMACS_ARG_Y([xft],[use -lXft for anti aliased fonts])
-EMACS_ARG_Y([gpm],[use -lgpm for mouse support on a GNU/Linux console])
-EMACS_ARG_Y([rsvg],[use -lrsvg-2 for displaying SVG images])
-EMACS_ARG_Y([gtk],[use GTK (same as --with-x-toolkit=gtk)])
-EMACS_ARG_Y([pkg-config-prog],[Path to pkg-config for finding GTK and librsvg])
-EMACS_ARG_N([toolkit-scroll-bars],[don't use Motif or Xaw3d scroll bars])
-EMACS_ARG_N([xaw3d],[don't use Xaw3d])
-EMACS_ARG_N([xim],[don't use X11 XIM])
-EMACS_ARG_N([carbon],[don't use Carbon GUI on Mac OS X])
+dnl _ON results in a '--without' option in the --help output, so
+dnl the help text should refer to "don't compile", etc.
+OPTION_DEFAULT_ON([xpm],[don't compile with XPM image support])
+OPTION_DEFAULT_ON([jpeg],[don't compile with JPEG image support])
+OPTION_DEFAULT_ON([tiff],[don't compile with TIFF image support])
+OPTION_DEFAULT_ON([gif],[don't compile with GIF image support])
+OPTION_DEFAULT_ON([png],[don't compile with PNG image support])
+OPTION_DEFAULT_ON([rsvg],[don't compile with SVG image support])
+
+OPTION_DEFAULT_ON([freetype],[don't use Freetype for local font support])
+OPTION_DEFAULT_ON([xft],[don't use XFT for anti aliased fonts])
+OPTION_DEFAULT_ON([libotf],[don't use libotf for OpenType font support])
+OPTION_DEFAULT_ON([m17n-flt],[don't use m17n-flt for text shaping])
+
+OPTION_DEFAULT_ON([toolkit-scroll-bars],[don't use Motif or Xaw3d scroll bars])
+OPTION_DEFAULT_ON([xaw3d],[don't use Xaw3d])
+OPTION_DEFAULT_ON([xim],[don't use X11 XIM])
+OPTION_DEFAULT_OFF([carbon],[use Carbon GUI on Mac OS X.  This is unsupported!])
+
+OPTION_DEFAULT_ON([gpm],[don't use -lgpm for mouse support on a GNU/Linux console])
+OPTION_DEFAULT_ON([dbus],[don't compile with D-Bus support])
+
+## For the times when you want to build Emacs but don't have
+## a suitable makeinfo, and can live without the manuals.
+dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html
+OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manuals])
+
+dnl Can remove these in Emacs 24.
+AC_ARG_WITH([gtk],,
+  AC_MSG_ERROR([--with-gtk has been removed.  Use --with-x-toolkit to
+specify a toolkit.]),,)
+
+AC_ARG_WITH([gcc],,
+  AC_MSG_ERROR([--with-gcc has been removed.  Set the `CC' environment
+  variable to specify a compiler.]),,)
+
+AC_ARG_WITH([pkg-config-prog],dnl
+[AS_HELP_STRING([--with-pkg-config-prog=PATH],
+                  [Path to pkg-config for finding GTK and librsvg])])
+if test "X${with_pkg_config_prog}" != X; then
+   if test "${with_pkg_config_prog}" != yes; then
+      PKG_CONFIG="${with_pkg_config_prog}"
+   fi
+fi
 
 AC_ARG_ENABLE(carbon-app,
 [AS_HELP_STRING([--enable-carbon-app@<:@=DIR@:>@],
 
 AC_ARG_ENABLE(carbon-app,
 [AS_HELP_STRING([--enable-carbon-app@<:@=DIR@:>@],
@@ -127,10 +177,11 @@ AC_ARG_ENABLE(carbon-app,
                 [DIR=/Application]])],
 [ carbon_appdir_x=${enableval}])
 
                 [DIR=/Application]])],
 [ carbon_appdir_x=${enableval}])
 
+## Enabled by default.
 AC_ARG_ENABLE(font-backend,
 AC_ARG_ENABLE(font-backend,
-[  --enable-font-backend   compile code of font-backend support],
+[AS_HELP_STRING([--disable-font-backend],[don't compile font-backend support])],
       USE_FONT_BACKEND=$enableval,
       USE_FONT_BACKEND=$enableval,
-      USE_FONT_BACKEND=no)
+      USE_FONT_BACKEND=yes)
 
 AC_ARG_ENABLE(asserts,
 [AS_HELP_STRING([--enable-asserts], [compile code with asserts enabled])],
 
 AC_ARG_ENABLE(asserts,
 [AS_HELP_STRING([--enable-asserts], [compile code with asserts enabled])],
@@ -222,8 +273,8 @@ dnl quotation begins
 ### based on the machine portion of the configuration name, and an s-
 ### file based on the operating system portion.  However, it turns out
 ### that each m/*.h file is pretty manufacturer-specific - for
 ### based on the machine portion of the configuration name, and an s-
 ### file based on the operating system portion.  However, it turns out
 ### that each m/*.h file is pretty manufacturer-specific - for
-### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are
-### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS
+### example hp9000s300.h is a 68000 machine;
+### mips.h, pmax.h are all MIPS
 ### machines.  So we basically have to have a special case for each
 ### configuration name.
 ###
 ### machines.  So we basically have to have a special case for each
 ### configuration name.
 ###
@@ -245,6 +296,7 @@ case "${canonical}" in
     opsys=freebsd
     case "${canonical}" in
       alpha*-*-freebsd*)       machine=alpha ;;
     opsys=freebsd
     case "${canonical}" in
       alpha*-*-freebsd*)       machine=alpha ;;
+      arm*-*-freebsd*)          machine=arm ;;
       ia64-*-freebsd*)         machine=ia64 ;;
       sparc64-*-freebsd*)      machine=sparc ;;
       powerpc-*-freebsd*)      machine=macppc ;;
       ia64-*-freebsd*)         machine=ia64 ;;
       sparc64-*-freebsd*)      machine=sparc ;;
       powerpc-*-freebsd*)      machine=macppc ;;
@@ -253,6 +305,19 @@ case "${canonical}" in
     esac
   ;;
 
     esac
   ;;
 
+  ## FreeBSD kernel + glibc based userland
+  *-*-kfreebsd*gnu* )
+    opsys=gnu-kfreebsd
+    case "${canonical}" in
+      alpha*-*-kfreebsd*)      machine=alpha ;;
+      ia64-*-kfreebsd*)                machine=ia64 ;;
+      sparc64-*-kfreebsd*)     machine=sparc ;;
+      powerpc-*-kfreebsd*)     machine=macppc ;;
+      i[3456]86-*-kfreebsd*)   machine=intel386 ;;
+      amd64-*-kfreebsd*|x86_64-*-kfreebsd*) machine=amdx86-64 ;;
+    esac
+  ;;
+
   ## NetBSD ports
   *-*-netbsd* )
     opsys=netbsd
   ## NetBSD ports
   *-*-netbsd* )
     opsys=netbsd
@@ -271,14 +336,12 @@ dnl see the `changequote' comment above.
       mips-*-netbsd*)  machine=pmax ;;
       mipsel-*-netbsd*)        machine=pmax ;;
       mipseb-*-netbsd*)        machine=pmax ;;
       mips-*-netbsd*)  machine=pmax ;;
       mipsel-*-netbsd*)        machine=pmax ;;
       mipseb-*-netbsd*)        machine=pmax ;;
-      ns32k-*-netbsd*) machine=ns32000 ;;
       powerpc-*-netbsd*) machine=macppc ;;
       sparc*-*-netbsd*)        machine=sparc ;;
       vax-*-netbsd*)   machine=vax ;;
       arm-*-netbsd*)   machine=arm ;;
       x86_64-*-netbsd*)        machine=amdx86-64 ;;
       hppa-*-netbsd*)  machine=hp800 ;;
       powerpc-*-netbsd*) machine=macppc ;;
       sparc*-*-netbsd*)        machine=sparc ;;
       vax-*-netbsd*)   machine=vax ;;
       arm-*-netbsd*)   machine=arm ;;
       x86_64-*-netbsd*)        machine=amdx86-64 ;;
       hppa-*-netbsd*)  machine=hp800 ;;
-      shle-*-netbsd*)  machine=sh3el ;;
     esac
   ;;
 
     esac
   ;;
 
@@ -291,10 +354,7 @@ dnl see the `changequote' comment above.
       hppa-*-openbsd*)         machine=hp9000s300 ;;
       i386-*-openbsd*)         machine=intel386 ;;
       m68k-*-openbsd*)         machine=hp9000s300 ;;
       hppa-*-openbsd*)         machine=hp9000s300 ;;
       i386-*-openbsd*)         machine=intel386 ;;
       m68k-*-openbsd*)         machine=hp9000s300 ;;
-      m88k-*-openbsd*)         machine=aviion ;;
-      mips64-*-openbsd*)       machine=mips64 ;;
       powerpc-*-openbsd*)      machine=macppc ;;
       powerpc-*-openbsd*)      machine=macppc ;;
-      sh-*-openbsd*)           machine=sh3el ;;
       sparc*-*-openbsd*)       machine=sparc ;;
       vax-*-openbsd*)          machine=vax ;;
       x86_64-*-openbsd*)       machine=amdx86-64 ;;
       sparc*-*-openbsd*)       machine=sparc ;;
       vax-*-openbsd*)          machine=vax ;;
       x86_64-*-openbsd*)       machine=amdx86-64 ;;
@@ -310,16 +370,6 @@ dnl see the `changequote' comment above.
     esac
   ;;
 
     esac
   ;;
 
-  ## Acorn RISCiX:
-  arm-acorn-riscix1.1* )
-    machine=acorn opsys=riscix1-1
-  ;;
-  arm-acorn-riscix1.2* | arm-acorn-riscix )
-    ## This name is riscix12 instead of riscix1.2
-    ## to avoid a file name conflict on MSDOS.
-    machine=acorn opsys=riscix12
-  ;;
-
   ## BSDI ports
   *-*-bsdi* )
     opsys=bsdi
   ## BSDI ports
   *-*-bsdi* )
     opsys=bsdi
@@ -337,36 +387,6 @@ dnl see the `changequote' comment above.
     esac
   ;;
 
     esac
   ;;
 
-  ## Alliant machines
-  ## Strictly speaking, we need the version of the alliant operating
-  ## system to choose the right machine file, but currently the
-  ## configuration name doesn't tell us enough to choose the right
-  ## one; we need to give alliants their own operating system name to
-  ## do this right.  When someone cares, they can help us.
-  fx80-alliant-* )
-    machine=alliant4 opsys=bsd4-2
-  ;;
-  i860-alliant-* )
-    machine=alliant-2800 opsys=bsd4-3
-  ;;
-
-  ## Alpha (DEC) machines.
-  alpha*-dec-osf* )
-    machine=alpha opsys=osf1
-    # This is needed to find X11R6.1 libraries for certain tests.
-    NON_GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
-    GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
-    # NON_GNU_CPP is necessary on 5.0 to avoid mangling src/Makefile
-    # due to non-traditional preprocessing with the current compiler
-    # defaults.  OSF 4 can also have that compiler version, and there
-    # seems always to have been a usable /usr/bin/cpp.
-    NON_GNU_CPP=/usr/bin/cpp
-    case "${canonical}" in
-    alpha*-dec-osf[5-9]*)
-      opsys=osf5-0 ;;
-    esac
-  ;;
-
   alpha*-*-linux-gnu* )
     machine=alpha opsys=gnu-linux
   ;;
   alpha*-*-linux-gnu* )
     machine=alpha opsys=gnu-linux
   ;;
@@ -375,21 +395,6 @@ dnl see the `changequote' comment above.
     machine=arm opsys=gnu-linux
   ;;
 
     machine=arm opsys=gnu-linux
   ;;
 
-  ## Altos 3068
-  m68*-altos-sysv* )
-    machine=altos opsys=usg5-2
-  ;;
-
-  ## Amdahl UTS
-  580-amdahl-sysv* )
-    machine=amdahl opsys=usg5-2-2
-  ;;
-
-  ## Apollo, Domain/OS
-  m68*-apollo-* )
-    machine=apollo opsys=bsd4-3
-  ;;
-
   ## Apple Darwin / Mac OS X
   *-apple-darwin* )
     case "${canonical}" in
   ## Apple Darwin / Mac OS X
   *-apple-darwin* )
     case "${canonical}" in
@@ -408,101 +413,11 @@ dnl see the `changequote' comment above.
     fi
   ;;
 
     fi
   ;;
 
-  ## AT&T 3b2, 3b5, 3b15, 3b20
-  we32k-att-sysv* )
-    machine=att3b opsys=usg5-2-2
-  ;;
-
-  ## AT&T 3b1 - The Mighty Unix PC!
-  m68*-att-sysv* )
-    machine=7300 opsys=usg5-2-2
-  ;;
-
-  ## Bull dpx20
-  rs6000-bull-bosx* )
-    machine=ibmrs6000 opsys=aix3-2
-  ;;
-
-  ## Bull dpx2
-  m68*-bull-sysv3* )
-    machine=dpx2 opsys=usg5-3
-  ;;
-
-  ## Bull sps7
-  m68*-bull-sysv2* )
-    machine=sps7 opsys=usg5-2
-  ;;
-
-  ## CCI 5/32, 6/32 -- see "Tahoe".
-
-  ## Celerity
-  ## I don't know what configuration name to use for this; config.sub
-  ## doesn't seem to know anything about it.  Hey, Celerity users, get
-  ## in touch with us!
-  celerity-celerity-bsd* )
-    machine=celerity opsys=bsd4-2
-  ;;
-
-  ## Clipper
-  ## What operating systems does this chip run that Emacs has been
-  ## tested on?
-  clipper-* )
-    machine=clipper
-    ## We'll use the catch-all code at the bottom to guess the
-    ## operating system.
-  ;;
-
-  ## Compaq Nonstop
-  mips-compaq-nonstopux* )
-    machine=nonstopux opsys=nonstopux
-    ;;
-
-  ## Convex
-  *-convex-bsd* | *-convex-convexos* )
-    machine=convex opsys=bsd4-3
-    ## Prevents spurious white space in makefiles - d.m.cooke@larc.nasa.gov
-    NON_GNU_CPP="cc -E -P"
-  ;;
-
   ## Cubix QBx/386
   i[3456]86-cubix-sysv* )
     machine=intel386 opsys=usg5-3
   ;;
 
   ## Cubix QBx/386
   i[3456]86-cubix-sysv* )
     machine=intel386 opsys=usg5-3
   ;;
 
-  ## Cydra 5
-  cydra*-cydrome-sysv* )
-    machine=cydra5 opsys=usg5-3
-  ;;
-
-  ## Data General AViiON Machines
-  ## DG changed naming conventions with the release of 5.4.4.10, they
-  ## dropped the initial 5.4 but left the intervening R.  Because of the
-  ## R this shouldn't conflict with older versions of the OS (which I
-  ## think were named like dgux4.*). In addition, DG new AViiONs series
-  ## uses either Motorola M88k or Intel Pentium CPUs.
-  m88k-dg-dguxR4.* | m88k-dg-dgux4* )
-    machine=aviion opsys=dgux4
-  ;;
-  m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
-    ## This name is dgux5-4-3 instead of dgux5-4r3
-    ## to avoid a file name conflict on MSDOS.
-    machine=aviion opsys=dgux5-4-3
-  ;;
-  m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* )
-    machine=aviion opsys=dgux5-4r2
-  ;;
-  m88k-dg-dgux* )
-    machine=aviion opsys=dgux
-  ;;
-
-  ## Data General AViiON Intel (x86) Machines
-  ## Exists from 5.4.3 (current i586-dg-dguxR4.11)
-  ## Ehud Karni, 1998-may-30, ehud@unix.simonwiesel.co.il
-  i[345]86-dg-dguxR4* )
-    machine=aviion-intel opsys=dgux4
-  ;;
-
-  ## DECstations
   mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
     machine=pmax opsys=bsd4-2
   ;;
   mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
     machine=pmax opsys=bsd4-2
   ;;
@@ -512,103 +427,6 @@ dnl see the `changequote' comment above.
   mips-dec-ultrix* )
     machine=pmax opsys=ultrix4-3
   ;;
   mips-dec-ultrix* )
     machine=pmax opsys=ultrix4-3
   ;;
-  mips-dec-osf* )
-    machine=pmax opsys=osf1
-  ;;
-  mips-dec-mach_bsd4.3* )
-    machine=pmax opsys=mach-bsd4-3
-  ;;
-
-  ## Motorola Delta machines
-  m68k-motorola-sysv* | m68000-motorola-sysv* )
-    machine=delta opsys=usg5-3
-    if test -z "`type gnucc | grep 'not found'`"
-    then
-      if test -s /etc/167config
-      then CC="gnucc -m68040"
-      else CC="gnucc -m68881"
-      fi
-    else
-      if test -z "`type gcc | grep 'not found'`"
-      then CC=gcc
-      else CC=cc
-      fi
-    fi
-  ;;
-  m88k-motorola-sysv4* )
-    # jbotte@bnr.ca says that UNIX_System_V <hostName> 4.0 R40V4.3 m88k mc88110
-    # needs POSIX_SIGNALS and therefore needs usg5-4-2.
-    # I hope there are not other 4.0 versions for this machine
-    # which really need usg5-4 instead.
-    machine=delta88k opsys=usg5-4-2
-  ;;
-  m88k-motorola-sysv* | m88k-motorola-m88kbcs* )
-    machine=delta88k opsys=usg5-3
-  ;;
-
-  ## Dual machines
-  m68*-dual-sysv* )
-    machine=dual opsys=usg5-2
-  ;;
-  m68*-dual-uniplus* )
-    machine=dual opsys=unipl5-2
-  ;;
-
-  ## Elxsi 6400
-  elxsi-elxsi-sysv* )
-    machine=elxsi opsys=usg5-2
-  ;;
-
-  ## Encore machines
-  ns16k-encore-bsd* )
-    machine=ns16000 opsys=umax
-  ;;
-
-  ## The GEC 63 - apparently, this port isn't really finished yet.
-  #  I'm sure we finished off the last of the machines, though.  -- fx
-
-  ## Gould Power Node and NP1
-  pn-gould-bsd4.2* )
-    machine=gould opsys=bsd4-2
-  ;;
-  pn-gould-bsd4.3* )
-    machine=gould opsys=bsd4-3
-  ;;
-  np1-gould-bsd* )
-    machine=gould-np1 opsys=bsd4-3
-  ;;
-
-  ## Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000
-  ## as far as Emacs is concerned).
-  m88k-harris-cxux* )
-    # Build needs to be different on 7.0 and later releases
-    case "`uname -r`" in
-       [56].[0-9] ) machine=nh4000 opsys=cxux ;;
-       [7].[0-9] ) machine=nh4000 opsys=cxux7 ;;
-    esac
-    NON_GNU_CPP="/lib/cpp"
-  ;;
-  ## Harris ecx or gcx running CX/UX (Series 1200, Series 3000)
-  m68k-harris-cxux* )
-    machine=nh3000 opsys=cxux
-  ;;
-  ## Harris power pc NightHawk running Power UNIX (Series 6000)
-  powerpc-harris-powerunix )
-    machine=nh6000 opsys=powerunix
-    NON_GNU_CPP="cc -Xo -E -P"
-  ;;
-  ## SR2001/SR2201 running HI-UX/MPP
-  hppa1.1-hitachi-hiuxmpp* )
-    machine=sr2k opsys=hiuxmpp
-  ;;
-  hppa1.1-hitachi-hiuxwe2* )
-    machine=sr2k opsys=hiuxwe2
-  ;;
-  ## Honeywell XPS100
-  xps*-honeywell-sysv* )
-    machine=xps100 opsys=usg5-2
-  ;;
-
   ## HP 9000 series 200 or 300
   m68*-hp-bsd* )
     machine=hp9000s300 opsys=bsd4-3
   ## HP 9000 series 200 or 300
   m68*-hp-bsd* )
     machine=hp9000s300 opsys=bsd4-3
@@ -670,21 +488,7 @@ dnl see the `changequote' comment above.
     machine=hp800 opsys=nextstep
   ;;
 
     machine=hp800 opsys=nextstep
   ;;
 
-  ## Orion machines
-  orion-orion-bsd* )
-    machine=orion opsys=bsd4-2
-  ;;
-  clipper-orion-bsd* )
-    machine=orion105 opsys=bsd4-2
-  ;;
-
   ## IBM machines
   ## IBM machines
-  i[3456]86-ibm-aix1.1* )
-    machine=ibmps2-aix opsys=usg5-2-2
-  ;;
-  i[3456]86-ibm-aix1.[23]* | i[3456]86-ibm-aix* )
-    machine=ibmps2-aix opsys=usg5-3
-  ;;
   i370-ibm-aix*)
     machine=ibm370aix opsys=usg5-3
   ;;
   i370-ibm-aix*)
     machine=ibm370aix opsys=usg5-3
   ;;
@@ -712,6 +516,9 @@ dnl see the `changequote' comment above.
   rs6000-ibm-aix5* | powerpc-ibm-aix5*  )
     machine=ibmrs6000 opsys=aix4-2
   ;;
   rs6000-ibm-aix5* | powerpc-ibm-aix5*  )
     machine=ibmrs6000 opsys=aix4-2
   ;;
+  rs6000-ibm-aix5* | powerpc-ibm-aix6*  )
+    machine=ibmrs6000 opsys=aix4-2
+  ;;
   rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0*  )
     machine=ibmrs6000 opsys=aix4
   ;;
   rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0*  )
     machine=ibmrs6000 opsys=aix4
   ;;
@@ -721,64 +528,12 @@ dnl see the `changequote' comment above.
   rs6000-ibm-aix* | powerpc-ibm-aix* )
     machine=ibmrs6000 opsys=aix3-2
   ;;
   rs6000-ibm-aix* | powerpc-ibm-aix* )
     machine=ibmrs6000 opsys=aix3-2
   ;;
-  romp-ibm-bsd4.3* )
-    machine=ibmrt opsys=bsd4-3
-  ;;
-  romp-ibm-bsd4.2* )
-    machine=ibmrt opsys=bsd4-2
-  ;;
-  romp-ibm-aos4.3* )
-    machine=ibmrt opsys=bsd4-3
-  ;;
-  romp-ibm-aos4.2* )
-    machine=ibmrt opsys=bsd4-2
-  ;;
-  romp-ibm-aos* )
-    machine=ibmrt opsys=bsd4-3
-  ;;
-  romp-ibm-bsd* )
-    machine=ibmrt opsys=bsd4-3
-  ;;
-  romp-ibm-aix* )
-    machine=ibmrt-aix opsys=usg5-2-2
-  ;;
-
-  ## Integrated Solutions `Optimum V'
-  m68*-isi-bsd4.2* )
-    machine=isi-ov opsys=bsd4-2
-  ;;
-  m68*-isi-bsd4.3* )
-    machine=isi-ov opsys=bsd4-3
-  ;;
-
-  ## Intel 386 machines where we do care about the manufacturer
-  i[3456]86-intsys-sysv* )
-    machine=is386 opsys=usg5-2-2
-  ;;
 
   ## Prime EXL
   i[3456]86-prime-sysv* )
     machine=i386 opsys=usg5-3
   ;;
 
 
   ## Prime EXL
   i[3456]86-prime-sysv* )
     machine=i386 opsys=usg5-3
   ;;
 
-  ## Sequent Symmetry running Dynix
-  i[3456]86-sequent-bsd* )
-    machine=symmetry opsys=bsd4-3
-  ;;
-
-  ## Sequent Symmetry running ptx 4, which is a modified SVR4.
-  i[3456]86-sequent-ptx4* | i[3456]86-sequent-sysv4* )
-    machine=sequent-ptx opsys=ptx4
-    NON_GNU_CPP=/lib/cpp
-  ;;
-
-  ## Sequent Symmetry running DYNIX/ptx
-  ## Use the old cpp rather than the newer ANSI one.
-  i[3456]86-sequent-ptx* )
-    machine=sequent-ptx opsys=ptx
-    NON_GNU_CPP="/lib/cpp"
-  ;;
-
   ## ncr machine running svr4.3.
   i[3456]86-ncr-sysv4.3 )
     machine=ncr386 opsys=usg5-4-3
   ## ncr machine running svr4.3.
   i[3456]86-ncr-sysv4.3 )
     machine=ncr386 opsys=usg5-4-3
@@ -790,58 +545,15 @@ dnl see the `changequote' comment above.
     machine=ncr386 opsys=usg5-4-2
   ;;
 
     machine=ncr386 opsys=usg5-4-2
   ;;
 
-  ## Intel Paragon OSF/1
-  i860-intel-osf1* )
-    machine=paragon opsys=osf1 NON_GNU_CPP=/usr/mach/lib/cpp
-  ;;
-
-  ## Intel 860
-  i860-*-sysv4* )
-    machine=i860 opsys=usg5-4
-    NON_GNU_CC="/bin/cc" # Ie, not the one in /usr/ucb/cc.
-    NON_GNU_CPP="/usr/ccs/lib/cpp" # cc -E tokenizes macro expansion.
-  ;;
-
   ## Macintosh PowerPC
   powerpc*-*-linux-gnu* )
     machine=macppc opsys=gnu-linux
   ;;
 
   ## Macintosh PowerPC
   powerpc*-*-linux-gnu* )
     machine=macppc opsys=gnu-linux
   ;;
 
-  ## Masscomp machines
-  m68*-masscomp-rtu* )
-    machine=masscomp opsys=rtu
-  ;;
-
-  ## Megatest machines
-  m68*-megatest-bsd* )
-    machine=mega68 opsys=bsd4-2
-  ;;
-
   ## Workstations sold by MIPS
   ## This is not necessarily all workstations using the MIPS processor -
   ## Irises are produced by SGI, and DECstations by DEC.
 
   ## Workstations sold by MIPS
   ## This is not necessarily all workstations using the MIPS processor -
   ## Irises are produced by SGI, and DECstations by DEC.
 
-  ## etc/MACHINES lists mips.h and mips4.h as possible machine files,
-  ## and usg5-2-2 and bsd4-3 as possible OS files.  The only guidance
-  ## it gives for choosing between the alternatives seems to be "Use
-  ## -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with
-  ## the BSD world."  I'll assume that these are instructions for
-  ## handling two odd situations, and that every other situation
-  ## should use mips.h and usg5-2-2, they being listed first.
-  mips-mips-usg* )
-    machine=mips4
-    ## Fall through to the general code at the bottom to decide on the OS.
-  ;;
-  mips-mips-riscos4* )
-    machine=mips4 opsys=bsd4-3
-    NON_GNU_CC="cc -systype bsd43"
-    NON_GNU_CPP="cc -systype bsd43 -E"
-  ;;
-  mips-mips-riscos5* )
-    machine=mips4 opsys=riscos5
-    NON_GNU_CC="cc -systype bsd43"
-    NON_GNU_CPP="cc -systype bsd43 -E"
-  ;;
   mips-mips-bsd* )
     machine=mips opsys=bsd4-3
   ;;
   mips-mips-bsd* )
     machine=mips opsys=bsd4-3
   ;;
@@ -854,54 +566,11 @@ dnl see the `changequote' comment above.
     machine=m68k opsys=nextstep
   ;;
 
     machine=m68k opsys=nextstep
   ;;
 
-  ## The complete machine from National Semiconductor
-  ns32k-ns-genix* )
-    machine=ns32000 opsys=usg5-2
-  ;;
-
-  ## NCR machines
-  m68*-ncr-sysv2* | m68*-ncr-sysvr2* )
-    machine=tower32 opsys=usg5-2-2
-  ;;
-  m68*-ncr-sysv3* | m68*-ncr-sysvr3* )
-    machine=tower32v3 opsys=usg5-3
-  ;;
-
   ## NEC EWS4800
   mips-nec-sysv4*)
   machine=ews4800 opsys=ux4800
   ;;
 
   ## NEC EWS4800
   mips-nec-sysv4*)
   machine=ews4800 opsys=ux4800
   ;;
 
-  ## Nixdorf Targon 31
-  m68*-nixdorf-sysv* )
-    machine=targon31 opsys=usg5-2-2
-  ;;
-
-  ## Nu (TI or LMI)
-  m68*-nu-sysv* )
-    machine=nu opsys=usg5-2
-  ;;
-
-  ## Plexus
-  m68*-plexus-sysv* )
-    machine=plexus opsys=usg5-2
-  ;;
-
-  ## Pyramid machines
-  ## I don't really have any idea what sort of processor the Pyramid has,
-  ## so I'm assuming it is its own architecture.
-  pyramid-pyramid-bsd* )
-    machine=pyramid opsys=bsd4-2
-  ;;
-
-  ## Sequent Balance
-  ns32k-sequent-bsd4.2* )
-    machine=sequent opsys=bsd4-2
-  ;;
-  ns32k-sequent-bsd4.3* )
-    machine=sequent opsys=bsd4-3
-  ;;
-
   ## Siemens Nixdorf
   mips-siemens-sysv* | mips-sni-sysv*)
     machine=mips-siemens opsys=usg5-4
   ## Siemens Nixdorf
   mips-siemens-sysv* | mips-sni-sysv*)
     machine=mips-siemens opsys=usg5-4
@@ -910,20 +579,7 @@ dnl see the `changequote' comment above.
   ;;
 
   ## Silicon Graphics machines
   ;;
 
   ## Silicon Graphics machines
-  ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
-  m68*-sgi-iris3.5* )
-    machine=irist opsys=iris3-5
-  ;;
-  m68*-sgi-iris3.6* | m68*-sgi-iris*)
-    machine=irist opsys=iris3-6
-  ;;
   ## Iris 4D
   ## Iris 4D
-  mips-sgi-irix3* )
-    machine=iris4d opsys=irix3-3
-  ;;
-  mips-sgi-irix4* )
-    machine=iris4d opsys=irix4-0
-  ;;
   mips-sgi-irix6.5 )
     machine=iris4d opsys=irix6-5
     # Without defining _LANGUAGE_C, things get masked out in the headers
   mips-sgi-irix6.5 )
     machine=iris4d opsys=irix6-5
     # Without defining _LANGUAGE_C, things get masked out in the headers
@@ -932,45 +588,6 @@ dnl see the `changequote' comment above.
     NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
     NON_GCC_TEST_OPTIONS="-D_LANGUAGE_C"
   ;;
     NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
     NON_GCC_TEST_OPTIONS="-D_LANGUAGE_C"
   ;;
-  mips-sgi-irix6* )
-    machine=iris4d opsys=irix6-0
-    # It's not clear whether -D_LANGUAGE_C is necessary as it is for 6.5,
-    # but presumably it does no harm.
-    NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
-    # -32 probably isn't necessary in later v.6s -- anyone know which?
-    NON_GCC_TEST_OPTIONS=-32
-  ;;
-  mips-sgi-irix5.[01]* )
-    machine=iris4d opsys=irix5-0
-  ;;
-  mips-sgi-irix5* | mips-sgi-irix* )
-    machine=iris4d opsys=irix5-2
-  ;;
-
-  ## SONY machines
-  m68*-sony-bsd4.2* )
-    machine=news opsys=bsd4-2
-  ;;
-  m68*-sony-bsd4.3* )
-    machine=news opsys=bsd4-3
-  ;;
-  m68*-sony-newsos3* | m68*-sony-news3*)
-    machine=news opsys=bsd4-3
-  ;;
-  mips-sony-bsd* | mips-sony-newsos4* | mips-sony-news4*)
-    machine=news-risc opsys=bsd4-3
-  ;;
-  mips-sony-newsos6* )
-    machine=news-r6 opsys=newsos6
-  ;;
-  mips-sony-news* )
-    machine=news-risc opsys=newsos5
-  ;;
-
-  ## Stride
-  m68*-stride-sysv* )
-    machine=stride opsys=usg5-2
-  ;;
 
   ## Suns
   sparc-*-linux-gnu* | sparc64-*-linux-gnu* )
 
   ## Suns
   sparc-*-linux-gnu* | sparc64-*-linux-gnu* )
@@ -981,10 +598,6 @@ dnl see the `changequote' comment above.
     | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
     | rs6000-*-solaris2*)
     case "${canonical}" in
     | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
     | rs6000-*-solaris2*)
     case "${canonical}" in
-      m68*-sunos1* )   machine=sun1 ;;
-      m68*-sunos2* )   machine=sun2 ;;
-      m68* )           machine=sun3 ;;
-      i[3456]86-sun-sunos[34]* )       machine=sun386 ;;
       i[3456]86-*-* )     machine=intel386 ;;
       amd64-*-*|x86_64-*-*)    machine=amdx86-64 ;;
       powerpcle* )      machine=powerpcle ;;
       i[3456]86-*-* )     machine=intel386 ;;
       amd64-*-*|x86_64-*-*)    machine=amdx86-64 ;;
       powerpcle* )      machine=powerpcle ;;
@@ -993,26 +606,6 @@ dnl see the `changequote' comment above.
       * )              unported=yes ;;
     esac
     case "${canonical}" in
       * )              unported=yes ;;
     esac
     case "${canonical}" in
-      ## The Sun386 didn't get past 4.0.
-      i[3456]86-*-sunos4         ) opsys=sunos4-0 ;;
-      *-sunos4.0*        ) opsys=sunos4-0 ;;
-      *-sunos4.1.[3-9]*noshare )
-               ## This name is sunos413 instead of sunos4-1-3
-               ## to avoid a file name conflict on MSDOS.
-               opsys=sunos413
-               NON_GNU_CPP=/usr/lib/cpp
-               NON_GCC_TEST_OPTIONS=-Bstatic
-               GCC_TEST_OPTIONS=-static
-               ;;
-      *-sunos4.1.[3-9]* | *-sunos4shr*)
-               opsys=sunos4shr
-               NON_GNU_CPP=/usr/lib/cpp
-               ;;
-      *-sunos4* | *-sunos )
-               opsys=sunos4-1
-               NON_GCC_TEST_OPTIONS=-Bstatic
-               GCC_TEST_OPTIONS=-static
-               ;;
       *-sunos5.3* | *-solaris2.3* )
                opsys=sol2-3
                NON_GNU_CPP=/usr/ccs/lib/cpp
       *-sunos5.3* | *-solaris2.3* )
                opsys=sol2-3
                NON_GNU_CPP=/usr/ccs/lib/cpp
@@ -1055,50 +648,11 @@ dnl see the `changequote' comment above.
     machine=sparc opsys=nextstep
   ;;
 
     machine=sparc opsys=nextstep
   ;;
 
-  ## Tadpole 68k
-  m68*-tadpole-sysv* )
-    machine=tad68k opsys=usg5-3
-  ;;
-
-  ## Tahoe machines
-  tahoe-tahoe-bsd4.2* )
-    machine=tahoe opsys=bsd4-2
-  ;;
-  tahoe-tahoe-bsd4.3* )
-    machine=tahoe opsys=bsd4-3
-  ;;
-
   ## Tandem Integrity S2
   mips-tandem-sysv* )
     machine=tandem-s2 opsys=usg5-3
   ;;
 
   ## Tandem Integrity S2
   mips-tandem-sysv* )
     machine=tandem-s2 opsys=usg5-3
   ;;
 
-  ## Tektronix XD88
-  m88k-tektronix-sysv3* )
-  machine=tekxd88 opsys=usg5-3
-  ;;
-
-  ## Tektronix 16000 box (6130?)
-  ns16k-tektronix-bsd* )
-    machine=ns16000 opsys=bsd4-2
-  ;;
-  ## Tektronix 4300
-  ## src/m/tek4300.h hints that this is a m68k machine.
-  m68*-tektronix-bsd* )
-    machine=tek4300 opsys=bsd4-3
-  ;;
-
-  ## Titan P2 or P3
-  ## We seem to have lost the machine-description file titan.h!
-  titan-titan-sysv* )
-    machine=titan opsys=usg5-3
-  ;;
-
-  ## Ustation E30 (SS5E)
-  m68*-unisys-uniplus* )
-    machine=ustation opsystem=unipl5-2
-  ;;
-
   ## Vaxen.
   vax-dec-* )
     machine=vax
   ## Vaxen.
   vax-dec-* )
     machine=vax
@@ -1113,18 +667,6 @@ dnl see the `changequote' comment above.
     esac
   ;;
 
     esac
   ;;
 
-  ## Whitechapel MG1
-  ns16k-whitechapel-* )
-    machine=mg1
-    ## We don't know what sort of OS runs on these; we'll let the
-    ## operating system guessing code below try.
-  ;;
-
-  ## Wicat
-  m68*-wicat-sysv* )
-    machine=wicat opsys=usg5-2
-  ;;
-
   ## IA-64
   ia64*-*-linux* )
     machine=ia64 opsys=gnu-linux
   ## IA-64
   ia64*-*-linux* )
     machine=ia64 opsys=gnu-linux
@@ -1138,25 +680,7 @@ dnl see the `changequote' comment above.
       *-darwin* )               opsys=darwin
                                 CPP="${CC-cc} -E -no-cpp-precomp"
                                ;;
       *-darwin* )               opsys=darwin
                                 CPP="${CC-cc} -E -no-cpp-precomp"
                                ;;
-      *-isc1.* | *-isc2.[01]* )        opsys=386-ix ;;
-      *-isc2.2* )              opsys=isc2-2 ;;
-      *-isc4.0* )              opsys=isc4-0 ;;
-      *-isc4.* )               opsys=isc4-1
-                               GCC_TEST_OPTIONS=-posix
-                               NON_GCC_TEST_OPTIONS=-Xp
-                               ;;
-      *-isc* )                 opsys=isc3-0 ;;
-      *-esix5* )               opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;;
-      *-esix* )                        opsys=esix ;;
-      *-xenix* )               opsys=xenix ;;
       *-linux-gnu* )           opsys=gnu-linux ;;
       *-linux-gnu* )           opsys=gnu-linux ;;
-      *-sco3.2v4* )            opsys=sco4 ; NON_GNU_CPP=/lib/cpp  ;;
-      *-sco3.2v5* )            opsys=sco5
-                               NON_GNU_CPP=/lib/cpp
-                               # Prevent -belf from being passed to $CPP.
-                               # /lib/cpp does not accept it.
-                               OVERRIDE_CPPFLAGS=" "
-                               ;;
       *-sysv4.2uw* )           opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
       *-sysv5uw* )             opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
       *-sysv5OpenUNIX* )       opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
       *-sysv4.2uw* )           opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
       *-sysv5uw* )             opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
       *-sysv5OpenUNIX* )       opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
@@ -1183,18 +707,13 @@ dnl see the `changequote' comment above.
     RANLIB="ar -ts"
   ;;
 
     RANLIB="ar -ts"
   ;;
 
-  ## UXP/V
-  f301-fujitsu-uxpv4.1)
-    machine=f301 opsys=uxpv
-  ;;
-
   ## AMD x86-64 Linux-based GNU system
   x86_64-*-linux-gnu* )
     machine=amdx86-64 opsys=gnu-linux
   ;;
 
   ## AMD x86-64 Linux-based GNU system
   x86_64-*-linux-gnu* )
     machine=amdx86-64 opsys=gnu-linux
   ;;
 
-  ## Tensilica Xtensa Linux-based GNU system    
-  xtensa-*-linux-gnu* )
+  ## Tensilica Xtensa Linux-based GNU system
+  xtensa*-*-linux-gnu* )
     machine=xtensa opsys=gnu-linux
     ;;
 
     machine=xtensa opsys=gnu-linux
     ;;
 
@@ -1241,6 +760,30 @@ if test x"${opsys}" = x; then
   esac
 fi
 
   esac
 fi
 
+### Tests for sytems that we beleive are obsolete and should be desupported.
+
+case "${machine}" in
+     pmax | hp9000s300 | ibm370aix | ncr386 | ews4800 | mips-siemens | powerpcle | tandem-s2 )
+         echo "The system that you are configuring on: ${canonical} is considered to be obsolete"
+         echo "and it is planned to be desupported in the next version of Emacs"
+         echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use."
+         echo "The code is still functional, but you need to edit the 'configure' script and remove the"
+         echo "exit 33 line.  After that you can run configure again and 'complete' the build."
+         exit 33
+         ;;
+esac
+
+case "${opsys}" in
+     bsd386 | bsdos2-1 |  bsdos2 | bsdos3 | bsdos4 | bsd4-1 | bsd4-2 | bsd4-3 | usg5-0 | usg5-2-2 | usg5-2 | usg5-3 | ultrix4-3 | 386bsd | hpux | hpux8 | hpux9 | hpux9shr | hpux10 | aix3-1 | aix3-2-5 | aix3-2 | aix4-1 | nextstep | ux4800 | uxpds | uxpv )
+         echo "The system that you are configuring on: ${canonical} is considered to be obsolete"
+         echo "and it is planned to be desupported in the next version of Emacs"
+         echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use."
+         echo "The code is still functional, but you need to edit the 'configure' script and remove the"
+         echo "'exit 44' line.  After that you can run 'configure' again and complete the build."
+         exit 44
+         ;;
+esac
+
 ]
 dnl quotation ends
 
 ]
 dnl quotation ends
 
@@ -1259,11 +802,7 @@ test -n "$CC" && cc_specified=yes
 # Save the value of CFLAGS that the user specified.
 SPECIFIED_CFLAGS="$CFLAGS"
 
 # Save the value of CFLAGS that the user specified.
 SPECIFIED_CFLAGS="$CFLAGS"
 
-case ${with_gcc} in
-  "yes" ) CC="gcc" GCC=yes ;;
-  "no"  ) : ${CC=cc} ;;
-  * )
-esac
+dnl Sets GCC=yes if using gcc.
 AC_PROG_CC
 
 # On Suns, sometimes $CPP names a directory.
 AC_PROG_CC
 
 # On Suns, sometimes $CPP names a directory.
@@ -1317,8 +856,7 @@ then
 fi
 
 dnl checks for Unix variants
 fi
 
 dnl checks for Unix variants
-AC_AIX
-AC_GNU_SOURCE
+AC_USE_SYSTEM_EXTENSIONS
 
 ### Use -Wno-pointer-sign if the compiler supports it
 AC_MSG_CHECKING([whether gcc understands -Wno-pointer-sign])
 
 ### Use -Wno-pointer-sign if the compiler supports it
 AC_MSG_CHECKING([whether gcc understands -Wno-pointer-sign])
@@ -1351,17 +889,29 @@ AC_PATH_PROG(GZIP_PROG, gzip)
 
 ## Need makeinfo >= 4.6 (?) to build the manuals.
 AC_PATH_PROG(MAKEINFO, makeinfo, no)
 
 ## Need makeinfo >= 4.6 (?) to build the manuals.
 AC_PATH_PROG(MAKEINFO, makeinfo, no)
-dnl By this stage, configure has already checked for egrep and set EGREP, 
+dnl By this stage, configure has already checked for egrep and set EGREP,
 dnl or exited with an error if no egrep was found.
 if test "$MAKEINFO" != "no" && \
   test x"`$MAKEINFO --version 2> /dev/null | $EGREP 'texinfo[[^0-9]]*([[1-4]][[0-9]]+|[[5-9]]|4\.[[6-9]]|4\.[[1-5]][[0-9]]+)'`" = x; then
 dnl or exited with an error if no egrep was found.
 if test "$MAKEINFO" != "no" && \
   test x"`$MAKEINFO --version 2> /dev/null | $EGREP 'texinfo[[^0-9]]*([[1-4]][[0-9]]+|[[5-9]]|4\.[[6-9]]|4\.[[1-5]][[0-9]]+)'`" = x; then
-   MAKEINFO=no    
+   MAKEINFO=no
 fi
 
 fi
 
-if test "$MAKEINFO" = "no"; then
-  AC_MSG_ERROR( [makeinfo >= 4.6 is required] )
-fi
+if test "$MAKEINFO" = "no" && test "x${with_makeinfo}" != "xno"; then
 
 
+   if test -e $srcdir/info/emacs; then
+      gotinfo="seems"
+   else
+      gotinfo="does NOT seem"
+   fi
+
+  AC_MSG_ERROR( [You do not seem to have makeinfo >= 4.6.
+You will not be able to build the Emacs manuals.
+In Emacs releases, they are prebuilt, so this might not be a problem.
+Your source tree $gotinfo to have manuals in the `info' directory.
+Either install a suitable version of makeinfo, or re-run configure
+with the `--without-makeinfo' option.] )
+
+fi
 
 dnl Add our options to ac_link now, after it is set up.
 
 
 dnl Add our options to ac_link now, after it is set up.
 
@@ -1438,14 +988,10 @@ configure___ c_switch_machine=C_SWITCH_MACHINE
 #define LIB_X11_LIB -lX11
 #endif
 
 #define LIB_X11_LIB -lX11
 #endif
 
-#ifndef LIBX11_MACHINE
-#define LIBX11_MACHINE
-#endif
-
 #ifndef LIBX11_SYSTEM
 #define LIBX11_SYSTEM
 #endif
 #ifndef LIBX11_SYSTEM
 #define LIBX11_SYSTEM
 #endif
-configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
+configure___ LIBX=LIB_X11_LIB LIBX11_SYSTEM
 
 #ifdef UNEXEC
 configure___ unexec=UNEXEC
 
 #ifdef UNEXEC
 configure___ unexec=UNEXEC
@@ -1547,13 +1093,13 @@ dnl Do this early because it can frob feature test macros for Unix-98 &c.
 AC_SYS_LARGEFILE
 
 
 AC_SYS_LARGEFILE
 
 
-### The standard library on x86-64 GNU/Linux distributions can 
+### The standard library on x86-64 and s390x GNU/Linux distributions can
 ### be located in either /usr/lib64 or /usr/lib.
 case "${canonical}" in
 ### be located in either /usr/lib64 or /usr/lib.
 case "${canonical}" in
-  x86_64-*-linux-gnu* )
+  x86_64-*-linux-gnu* | s390x-*-linux-gnu* )
     if test -d /usr/lib64; then
     if test -d /usr/lib64; then
-      AC_DEFINE(HAVE_X86_64_LIB64_DIR, 1,
-        [Define to 1 if the file /usr/lib64 exists.])
+      AC_DEFINE(HAVE_LIB64_DIR, 1,
+        [Define to 1 if the directory /usr/lib64 exists.])
 fi
 esac
 
 fi
 esac
 
@@ -1564,9 +1110,7 @@ dnl also defines GSTUFF_PKG_ERRORS on error
 AC_DEFUN([PKG_CHECK_MODULES], [
   succeeded=no
 
 AC_DEFUN([PKG_CHECK_MODULES], [
   succeeded=no
 
-  if test -z "$PKG_CONFIG"; then
-    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-  fi
+  AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
 
   if test "$PKG_CONFIG" = "no" ; then
      ifelse([$4], , [AC_MSG_ERROR([
 
   if test "$PKG_CONFIG" = "no" ; then
      ifelse([$4], , [AC_MSG_ERROR([
@@ -1622,10 +1166,6 @@ if test "${with_sound}" != "no"; then
 
   ALSA_REQUIRED=1.0.0
   ALSA_MODULES="alsa >= $ALSA_REQUIRED"
 
   ALSA_REQUIRED=1.0.0
   ALSA_MODULES="alsa >= $ALSA_REQUIRED"
-  dnl Check if --with-pkg-config-prog has been given.
-  if test "X${with_pkg_config_prog}" != X; then
-    PKG_CONFIG="${with_pkg_config_prog}"
-  fi
   PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
   if test $HAVE_ALSA = yes; then
     SAVE_CFLAGS="$CFLAGS"
   PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
   if test $HAVE_ALSA = yes; then
     SAVE_CFLAGS="$CFLAGS"
@@ -1816,6 +1356,16 @@ else
   window_system=x11
 fi
 
   window_system=x11
 fi
 
+## Workaround for bug in autoconf <= 2.62.
+## http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01551.html
+## No need to do anything special for these standard directories.
+## This is an experiment, take it out if it causes problems.
+if test -n "${x_libraries}" && test x"${x_libraries}" != xNONE; then
+   
+   x_libraries=`echo :${x_libraries}: | sed -e 's|:/usr/lib64:|:|g' -e 's|:/lib64:|:|g' -e 's|^:||' -e 's|:$||'`
+
+fi
+
 if test "${x_libraries}" != NONE; then
   if test -n "${x_libraries}"; then
     LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
 if test "${x_libraries}" != NONE; then
   if test -n "${x_libraries}"; then
     LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
@@ -1871,7 +1421,7 @@ fi
 if test "${window_system}" = x11 && test "${HAVE_CARBON}" = yes; then
   if test "${with_carbon+set}" != set \
      && test "${carbon_appdir_x+set}" != set; then
 if test "${window_system}" = x11 && test "${HAVE_CARBON}" = yes; then
   if test "${with_carbon+set}" != set \
      && test "${carbon_appdir_x+set}" != set; then
-    for var in with_x with_x_toolkit with_gtk with_xim \
+    for var in with_x with_x_toolkit with_xim \
                with_xpm with_jpeg with_tiff with_gif with_png; do
       if eval test \"\${$var+set}\" = set; then
         HAVE_CARBON=no
                with_xpm with_jpeg with_tiff with_gif with_png; do
       if eval test \"\${$var+set}\" = set; then
         HAVE_CARBON=no
@@ -1898,13 +1448,7 @@ dnl USE_X_TOOLKIT is set.
       no ) USE_X_TOOLKIT=none ;;
 dnl If user did not say whether to use a toolkit, make this decision later:
 dnl use the toolkit if we have gtk, or X11R5 or newer.
       no ) USE_X_TOOLKIT=none ;;
 dnl If user did not say whether to use a toolkit, make this decision later:
 dnl use the toolkit if we have gtk, or X11R5 or newer.
-      * ) 
-          if test x"$with_gtk" = xyes; then
-             USE_X_TOOLKIT=none
-          else
-             USE_X_TOOLKIT=maybe
-          fi
-          ;;
+      * ) USE_X_TOOLKIT=maybe ;;
     esac
   ;;
   mac | none )
     esac
   ;;
   mac | none )
@@ -1917,7 +1461,7 @@ esac
 if test "$window_system" = none && test "X$with_x" != "Xno"; then
    AC_CHECK_PROG(HAVE_XSERVER, X, true, false)
    if test "$HAVE_XSERVER" = true ||
 if test "$window_system" = none && test "X$with_x" != "Xno"; then
    AC_CHECK_PROG(HAVE_XSERVER, X, true, false)
    if test "$HAVE_XSERVER" = true ||
-      test -n "$DISPLAY" || 
+      test -n "$DISPLAY" ||
       test "`echo /usr/lib/libX11.*`" != "/usr/lib/libX11.*"; then
         AC_MSG_ERROR([You seem to be running X, but no X development libraries
 were found.  You should install the relevant development files for X
       test "`echo /usr/lib/libX11.*`" != "/usr/lib/libX11.*"; then
         AC_MSG_ERROR([You seem to be running X, but no X development libraries
 were found.  You should install the relevant development files for X
@@ -1936,22 +1480,6 @@ case ${HAVE_X11} in
   yes ) HAVE_MENUS=yes ;;
 esac
 
   yes ) HAVE_MENUS=yes ;;
 esac
 
-if test "${opsys}" = "hpux9"; then
-  case "${x_libraries}" in
-    *X11R4* )
-      opsysfile="s/hpux9-x11r4.h"
-      ;;
-  esac
-fi
-
-if test "${opsys}" = "hpux9shr"; then
-  case "${x_libraries}" in
-    *X11R4* )
-      opsysfile="s/hpux9shxr4.h"
-      ;;
-  esac
-fi
-
 ### Compute the unexec source name from the object name.
 UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
 
 ### Compute the unexec source name from the object name.
 UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
 
@@ -2010,15 +1538,6 @@ AC_CHECK_LIB(Xbsd, main, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd")
 
 AC_CHECK_LIB(pthreads, cma_open)
 
 
 AC_CHECK_LIB(pthreads, cma_open)
 
-AC_MSG_CHECKING(for XFree86 in /usr/X386)
-if test -d /usr/X386/include; then
-  HAVE_XFREE386=yes
-  : ${C_SWITCH_X_SITE="-I/usr/X386/include"}
-else
-  HAVE_XFREE386=no
-fi
-AC_MSG_RESULT($HAVE_XFREE386)
-
 dnl Check for need for bigtoc support on IBM AIX
 
 case ${host_os} in
 dnl Check for need for bigtoc support on IBM AIX
 
 case ${host_os} in
@@ -2125,34 +1644,11 @@ fail;
   fi
 fi
 
   fi
 fi
 
-if test "${window_system}" = "x11"; then
-  AC_MSG_CHECKING(X11 version 5)
-  AC_CACHE_VAL(emacs_cv_x11_version_5,
-  [AC_TRY_LINK([#include <X11/Xlib.h>],
-[#if XlibSpecificationRelease < 5
-fail;
-#endif
-], emacs_cv_x11_version_5=yes, emacs_cv_x11_version_5=no)])
-  if test $emacs_cv_x11_version_5 = yes; then
-    AC_MSG_RESULT(5 or newer)
-    HAVE_X11R5=yes
-    AC_DEFINE(HAVE_X11R5, 1,
-             [Define to 1 if you have the X11R5 or newer version of Xlib.])
-  else
-    HAVE_X11R5=no
-    AC_MSG_RESULT(before 5)
-  fi
-fi
 
 ### Use -lrsvg-2 if available, unless `--with-rsvg=no' is specified.
 HAVE_RSVG=no
 if test "${HAVE_X11}" = "yes" || test "${HAVE_CARBON}" = "yes"; then
   if test "${with_rsvg}" != "no"; then
 
 ### Use -lrsvg-2 if available, unless `--with-rsvg=no' is specified.
 HAVE_RSVG=no
 if test "${HAVE_X11}" = "yes" || test "${HAVE_CARBON}" = "yes"; then
   if test "${with_rsvg}" != "no"; then
-    dnl Check if `--with-pkg-config-prog' has been given.
-    if test "X${with_pkg_config_prog}" != X; then
-      PKG_CONFIG="${with_pkg_config_prog}"
-    fi
-
     RSVG_REQUIRED=2.0.0
     RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
 
     RSVG_REQUIRED=2.0.0
     RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
 
@@ -2171,22 +1667,11 @@ fi
 
 
 HAVE_GTK=no
 
 
 HAVE_GTK=no
-if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then
-  USE_X_TOOLKIT=none
-fi
-if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk" || \
- test "$USE_X_TOOLKIT" = "maybe"; then
-  if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then
-    AC_MSG_ERROR([Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}]);
-  fi
+if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
   GLIB_REQUIRED=2.6
   GTK_REQUIRED=2.6
   GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
 
   GLIB_REQUIRED=2.6
   GTK_REQUIRED=2.6
   GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
 
-  dnl Check if --with-pkg-config-prog has been given.
-  if test "X${with_pkg_config_prog}" != X; then
-    PKG_CONFIG="${with_pkg_config_prog}"
-  fi
   dnl Checks for libraries.
   PKG_CHECK_MODULES(GTK, $GTK_MODULES, pkg_check_gtk=yes, pkg_check_gtk=no)
   if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then
   dnl Checks for libraries.
   PKG_CHECK_MODULES(GTK, $GTK_MODULES, pkg_check_gtk=yes, pkg_check_gtk=no)
   if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then
@@ -2211,8 +1696,17 @@ if test x"$pkg_check_gtk" = xyes; then
     fi
   else
     HAVE_GTK=yes
     fi
   else
     HAVE_GTK=yes
-    AC_DEFINE(HAVE_GTK, 1, [Define to 1 if using GTK.])
+    AC_DEFINE(USE_GTK, 1, [Define to 1 if using GTK.])
     USE_X_TOOLKIT=none
     USE_X_TOOLKIT=none
+    if $PKG_CONFIG --atleast-version=2.10 gtk+-2.0; then
+      :
+    else
+      AC_MSG_WARN([[Your version of Gtk+ will have problems with
+       closing open displays.  This is no problem if you just use
+       one display, but if you use more than one and close one of them
+       Emacs may crash.]])
+      sleep 3
+    fi
   fi
 
 fi
   fi
 
 fi
@@ -2270,50 +1764,57 @@ if test "${HAVE_GTK}" = "yes"; then
   fi
 fi
 
   fi
 fi
 
+dnl D-Bus has been tested under GNU/Linux only.  Must be adapted for
+dnl other platforms.  Support for higher D-Bus versions than 1.0 is
+dnl also not configured.
+HAVE_DBUS=no
+if test "${with_dbus}" = "yes"; then
+   PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0, HAVE_DBUS=yes, HAVE_DBUS=no)
+   if test "$HAVE_DBUS" = yes; then
+      AC_DEFINE(HAVE_DBUS, 1, [Define to 1 if using D-Bus.])
+   fi
+fi
+
 dnl Do not put whitespace before the #include statements below.
 dnl Older compilers (eg sunos4 cc) choke on it.
 HAVE_XAW3D=no
 if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
 dnl Do not put whitespace before the #include statements below.
 dnl Older compilers (eg sunos4 cc) choke on it.
 HAVE_XAW3D=no
 if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
-  if test x"${HAVE_X11R5}" != xyes; then
-    USE_X_TOOLKIT=none
-  else
-    if test "$with_xaw3d" != no; then
-      AC_MSG_CHECKING(for xaw3d)
-      AC_CACHE_VAL(emacs_cv_xaw3d,
-      [AC_TRY_LINK([
+  if test "$with_xaw3d" != no; then
+    AC_MSG_CHECKING(for xaw3d)
+    AC_CACHE_VAL(emacs_cv_xaw3d,
+    [AC_TRY_LINK([
 #include <X11/Intrinsic.h>
 #include <X11/Xaw3d/Simple.h>],
 #include <X11/Intrinsic.h>
 #include <X11/Xaw3d/Simple.h>],
-        [],
-        emacs_cv_xaw3d=yes,
-        emacs_cv_xaw3d=no)])
-    else
-      emacs_cv_xaw3d=no
-    fi
-    if test $emacs_cv_xaw3d = yes; then
+      [],
+      emacs_cv_xaw3d=yes,
+      emacs_cv_xaw3d=no)])
+  else
+    emacs_cv_xaw3d=no
+  fi
+  if test $emacs_cv_xaw3d = yes; then
+    AC_MSG_RESULT([yes; using Lucid toolkit])
+    USE_X_TOOLKIT=LUCID
+    HAVE_XAW3D=yes
+    AC_DEFINE(HAVE_XAW3D, 1,
+              [Define to 1 if you have the Xaw3d library (-lXaw3d).])
+  else
+    AC_MSG_RESULT(no)
+    AC_MSG_CHECKING(for libXaw)
+    AC_CACHE_VAL(emacs_cv_xaw,
+    [AC_TRY_LINK([
+#include <X11/Intrinsic.h>
+#include <X11/Xaw/Simple.h>],
+      [],
+      emacs_cv_xaw=yes,
+      emacs_cv_xaw=no)])
+    if test $emacs_cv_xaw = yes; then
       AC_MSG_RESULT([yes; using Lucid toolkit])
       USE_X_TOOLKIT=LUCID
       AC_MSG_RESULT([yes; using Lucid toolkit])
       USE_X_TOOLKIT=LUCID
-      HAVE_XAW3D=yes
-      AC_DEFINE(HAVE_XAW3D, 1,
-                [Define to 1 if you have the Xaw3d library (-lXaw3d).])
+    elif test x"${USE_X_TOOLKIT}" = xLUCID; then
+      AC_MSG_ERROR([Lucid toolkit requires X11/Xaw include files])
     else
     else
-      AC_MSG_RESULT(no)
-      AC_MSG_CHECKING(for libXaw)
-      AC_CACHE_VAL(emacs_cv_xaw,
-      [AC_TRY_LINK([
-#include <X11/Intrinsic.h>
-#include <X11/Xaw/Simple.h>],
-        [],
-        emacs_cv_xaw=yes,
-        emacs_cv_xaw=no)])
-      if test $emacs_cv_xaw = yes; then
-        AC_MSG_RESULT([yes; using Lucid toolkit])
-        USE_X_TOOLKIT=LUCID
-      elif test x"${USE_X_TOOLKIT}" = xLUCID; then
-        AC_MSG_ERROR([Lucid toolkit requires X11/Xaw include files])
-      else
-        AC_MSG_RESULT([no; do not use toolkit by default])
-        USE_X_TOOLKIT=none
-      fi
+      AC_MSG_RESULT([no; do not use toolkit by default])
+      USE_X_TOOLKIT=none
     fi
   fi
 fi
     fi
   fi
 fi
@@ -2479,25 +1980,21 @@ either XPointer or XPointer*.])dnl
   CFLAGS=$late_CFLAGS
 fi
 
   CFLAGS=$late_CFLAGS
 fi
 
-### For font-backend
-if test "${USE_FONT_BACKEND}" = "yes"; then
+### Start of font-backend section.
+if test "${HAVE_X11}" != "yes"; then
+  USE_FONT_BACKEND=no
+fi
 
 
-AC_DEFINE(USE_FONT_BACKEND, 1,
-          [Define to 1 if we should use font-backend.])
+if test "${USE_FONT_BACKEND}" = "yes"; then
+  AC_DEFINE(USE_FONT_BACKEND, 1, [Define to 1 if we should use font-backend.])
 
 
-### Use -lXft if available, unless `--with-freetype=no' nor `--with-xft=no'.
-HAVE_XFT=maybe
-if test "${HAVE_X11}" = "yes"; then
+  ## Use -lXft if available, unless `--with-freetype=no' nor `--with-xft=no'.
+  HAVE_XFT=maybe
   if test "x${with_freetype}" = "xno"; then
     with_xft="no";
   fi
   if test "x${with_xft}" != "xno"; then
 
   if test "x${with_freetype}" = "xno"; then
     with_xft="no";
   fi
   if test "x${with_xft}" != "xno"; then
 
-    dnl Check if --with-pkg-config-prog has been given.
-    if test "X${with_pkg_config_prog}" != X; then
-      PKG_CONFIG="${with_pkg_config_prog}"
-    fi
-
     PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no)
     if test "$HAVE_XFT" != no; then
       OLD_CPPFLAGS="$CPPFLAGS"
     PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no)
     if test "$HAVE_XFT" != no; then
       OLD_CPPFLAGS="$CPPFLAGS"
@@ -2514,57 +2011,71 @@ if test "${HAVE_X11}" = "yes"; then
        AC_SUBST(XFT_LIBS)
         C_SWITCH_X_SITE="$C_SWITCH_X_SITE $XFT_CFLAGS"
       else
        AC_SUBST(XFT_LIBS)
         C_SWITCH_X_SITE="$C_SWITCH_X_SITE $XFT_CFLAGS"
       else
-        CFLAGS="$OLD_CPPFLAGS"
+        CPPFLAGS="$OLD_CPPFLAGS"
         CFLAGS="$OLD_CFLAGS"
         LIBS="$OLD_LIBS"
         CFLAGS="$OLD_CFLAGS"
         LIBS="$OLD_LIBS"
+      fi                        # "${HAVE_XFT}" = "yes"
+    fi                          # "$HAVE_XFT" != no
+  fi                            # "x${with_xft}" != "xno"
+
+  dnl For the "Does Emacs use" message at the end.
+  if test "$HAVE_XFT" != "yes"; then
+     HAVE_XFT=no
+  fi
+  
+  
+  HAVE_FREETYPE=no
+  ### Use -lfreetype if available, unless `--with-freetype=no'.
+  if test "${HAVE_XFT}" = "yes"; then
+    dnl As we use Xft, we anyway use freetype.
+    dnl In this case, there's no need of additional CFLAGS and LIBS.
+    HAVE_FREETYPE=yes
+  elif test "x${with_freetype}" != "xno"; then
+  
+    PKG_CHECK_MODULES(FREETYPE, freetype2, HAVE_FREETYPE=yes, HAVE_FREETYPE=no)
+    if test "${HAVE_FREETYPE}" = "yes"; then
+      PKG_CHECK_MODULES(FONTCONFIG, fontconfig, HAVE_FC=yes, HAVE_FC=no)
+      if test "${HAVE_FC}" = "no"; then
+        dnl Without fontconfig, we can't use freetype at the moment.
+        HAVE_FREETYPE=no
       fi
     fi
   fi
       fi
     fi
   fi
-fi
-
-HAVE_FREETYPE=no
-### Use -lfreetype if available, unless `--with-freetype=no'.
-if test "${HAVE_XFT}" = "yes"; then
-  dnl As we use Xft, we anyway use freetype.
-  dnl In this case, there's no need of additional CFLAGS and LIBS.
-  HAVE_FREETYPE=yes
-elif test "x${with_freetype}" != "xno"; then
-  dnl Check if --with-pkg-config-prog has been given.
-  if test "X${with_pkg_config_prog}" != X; then
-    PKG_CONFIG="${with_pkg_config_prog}"
-  fi
-
-  PKG_CHECK_MODULES(FREETYPE, freetype2, HAVE_FREETYPE=yes, HAVE_FREETYPE=no)
+  
+  HAVE_LIBOTF=no
   if test "${HAVE_FREETYPE}" = "yes"; then
   if test "${HAVE_FREETYPE}" = "yes"; then
-    PKG_CHECK_MODULES(FONTCONFIG, fontconfig, HAVE_FC=yes, HAVE_FC=no)
-    if test "${HAVE_FC}" = "no"; then
-      dnl Witout fontconfig, we can't use freetype at the moment.
-      HAVE_FREETYPE=no
+    AC_DEFINE(HAVE_FREETYPE, 1,
+              [Define to 1 if using the freetype and fontconfig libraries.])
+    if test "${with_libotf}" != "no"; then
+      PKG_CHECK_MODULES(LIBOTF, libotf, HAVE_LIBOTF=yes, 
+                        HAVE_LIBOTF=no)
+      if test "$HAVE_LIBOTF" = "yes"; then
+        AC_DEFINE(HAVE_LIBOTF, 1, [Define to 1 if using libotf.])
+      fi
     fi
     fi
+dnl FIXME should there be an error if HAVE_FREETYPE != yes?
+dnl Does the new font backend require it, or can it work without it?
   fi
   fi
-fi
-if test "${HAVE_FREETYPE}" = "yes"; then
-  AC_DEFINE(HAVE_FREETYPE, 1,
-           [Define to 1 if you have freetype and fontconfig libraries.])
-  AC_CHECK_PROG(HAVE_LIBOTF, libotf-config, yes, no)
-  if test "${HAVE_LIBOTF}" = "yes"; then
-    AC_CHECK_LIB(otf, OTF_get_features, , HAVE_LIBOTF=no)
-    if test "${HAVE_LIBOTF}" = "yes"; then
-      AC_DEFINE(HAVE_LIBOTF, 1,
-               [Define to 1 if you have libotf library.])
-      LIBOTF_CFLAGS=`libotf-config --cflags`
-      LIBOTF_LIBS=`libotf-config --libs`
+  
+  HAVE_M17N_FLT=no
+  if test "${with_m17n_flt}" != "no"; then
+    PKG_CHECK_MODULES(M17N_FLT, m17n-flt, HAVE_M17N_FLT=yes, HAVE_M17N_FLT=no)
+    if test "$HAVE_M17N_FLT" = "yes"; then
+      AC_DEFINE(HAVE_M17N_FLT, 1, [Define to 1 if using libm17n-flt.])
     fi
   fi
     fi
   fi
-fi
-AC_SUBST(FREETYPE_CFLAGS)
-AC_SUBST(FREETYPE_LIBS)
-AC_SUBST(FONTCONFIG_CFLAGS)
-AC_SUBST(FONTCONFIG_LIBS)
-AC_SUBST(LIBOTF_CFLAGS)
-AC_SUBST(LIBOTF_LIBS)
-
-fi
+  
+  AC_SUBST(FREETYPE_CFLAGS)
+  AC_SUBST(FREETYPE_LIBS)
+  AC_SUBST(FONTCONFIG_CFLAGS)
+  AC_SUBST(FONTCONFIG_LIBS)
+  AC_SUBST(LIBOTF_CFLAGS)
+  AC_SUBST(LIBOTF_LIBS)
+  AC_SUBST(M17N_FLT_CFLAGS)
+  AC_SUBST(M17N_FLT_LIBS)
+  
+fi                              # "${USE_FONT_BACKEND}" = "yes"
+### End of font-backend section.
 
 ### Use -lXpm if available, unless `--with-xpm=no'.
 HAVE_XPM=no
 
 ### Use -lXpm if available, unless `--with-xpm=no'.
 HAVE_XPM=no
@@ -2719,6 +2230,7 @@ AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to
 ### Use Mac OS X Carbon API to implement GUI.
 if test "${HAVE_CARBON}" = "yes"; then
   AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.])
 ### Use Mac OS X Carbon API to implement GUI.
 if test "${HAVE_CARBON}" = "yes"; then
   AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.])
+  AC_CHECK_HEADERS(AvailabilityMacros.h)
   ## Specify the install directory
   carbon_appdir=
   if test "${carbon_appdir_x}" != ""; then
   ## Specify the install directory
   carbon_appdir=
   if test "${carbon_appdir_x}" != ""; then
@@ -2841,15 +2353,19 @@ AC_CHECK_LIB(ncurses, tparm)
 # Do we have res_init, for detecting changes in /etc/resolv.conf?
 
 resolv=no
 # Do we have res_init, for detecting changes in /etc/resolv.conf?
 
 resolv=no
-AC_CHECK_FUNC(res_init, have_res_init=yes, have_res_init=no)
+AC_TRY_LINK([#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>],
+    [return res_init();],
+    have_res_init=yes, have_res_init=no)
 if test "$have_res_init" = no; then
   OLIBS="$LIBS"
   LIBS="$LIBS -lresolv"
   AC_MSG_CHECKING(for res_init with -lresolv)
   AC_TRY_LINK([#include <netinet/in.h>
 #include <arpa/nameser.h>
 if test "$have_res_init" = no; then
   OLIBS="$LIBS"
   LIBS="$LIBS -lresolv"
   AC_MSG_CHECKING(for res_init with -lresolv)
   AC_TRY_LINK([#include <netinet/in.h>
 #include <arpa/nameser.h>
-#include <resolv.h> ],
-    [res_init();],
+#include <resolv.h>],
+    [return res_init();],
     have_res_init=yes, have_res_init=no)
   AC_MSG_RESULT($have_res_init)
   if test "$have_res_init" = yes ; then
     have_res_init=yes, have_res_init=no)
   AC_MSG_RESULT($have_res_init)
   if test "$have_res_init" = yes ; then
@@ -3153,15 +2669,17 @@ if test "${HAVE_X_WINDOWS}" = "yes" ; then
 fi
 if test "${USE_X_TOOLKIT}" != "none" ; then
   AC_DEFINE(USE_X_TOOLKIT, 1, [Define to 1 if using an X toolkit.])
 fi
 if test "${USE_X_TOOLKIT}" != "none" ; then
   AC_DEFINE(USE_X_TOOLKIT, 1, [Define to 1 if using an X toolkit.])
+  if test "${USE_X_TOOLKIT}" == "LUCID"; then
+    AC_DEFINE(USE_LUCID, 1, [Define to 1 if using the Lucid X toolkit.])
+  elif test "${USE_X_TOOLKIT}" == "MOTIF"; then
+    AC_DEFINE(USE_MOTIF, 1, [Define to 1 if using the Motif X toolkit.])
+  fi
 fi
 if test "${HAVE_X11}" = "yes" ; then
   AC_DEFINE(HAVE_X11, 1,
            [Define to 1 if you want to use version 11 of X windows.
             Otherwise, Emacs expects to use version 10.])
 fi
 fi
 if test "${HAVE_X11}" = "yes" ; then
   AC_DEFINE(HAVE_X11, 1,
            [Define to 1 if you want to use version 11 of X windows.
             Otherwise, Emacs expects to use version 10.])
 fi
-if test "${HAVE_XFREE386}" = "yes" ; then
-  AC_DEFINE(HAVE_XFREE386, 1, [Define to 1 if you're using XFree386.])
-fi
 if test "${HAVE_MENUS}" = "yes" ; then
   AC_DEFINE(HAVE_MENUS, 1,
            [Define to 1 if you have mouse menus.
 if test "${HAVE_MENUS}" = "yes" ; then
   AC_DEFINE(HAVE_MENUS, 1,
            [Define to 1 if you have mouse menus.
@@ -3180,8 +2698,8 @@ fi
 
 
 AH_TOP([/* GNU Emacs site configuration template file.
 
 
 AH_TOP([/* GNU Emacs site configuration template file.
-   Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007
-             Free Software Foundation, Inc.
+   Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005,
+     2006, 2007, 2008  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
 
 This file is part of GNU Emacs.
 
@@ -3217,8 +2735,7 @@ AH_BOTTOM([
 #endif
 
 /* Multi-tty support relies on MULTI_KBOARD.  It seems safe to turn it
 #endif
 
 /* Multi-tty support relies on MULTI_KBOARD.  It seems safe to turn it
-   on unconditionally.  Note that src/s/darwin.h disables this at
-   present.  */
+   on unconditionally. */
 #ifndef MULTI_KBOARD
 #define MULTI_KBOARD
 #endif
 #ifndef MULTI_KBOARD
 #define MULTI_KBOARD
 #endif
@@ -3282,17 +2799,6 @@ AH_BOTTOM([
 #include config_opsysfile
 #include config_machfile
 
 #include config_opsysfile
 #include config_machfile
 
-/* Load in the conversion definitions if this system
-   needs them and the source file being compiled has not
-   said to inhibit this.  There should be no need for you
-   to alter these lines.  */
-
-#ifdef SHORTNAMES
-#ifndef NO_SHORTNAMES
-#include "../shortnames/remap.h"
-#endif /* not NO_SHORTNAMES */
-#endif /* SHORTNAMES */
-
 /* If no remapping takes place, static variables cannot be dumped as
    pure, so don't worry about the `static' keyword. */
 #ifdef NO_REMAP
 /* If no remapping takes place, static variables cannot be dumped as
    pure, so don't worry about the `static' keyword. */
 #ifdef NO_REMAP
@@ -3422,7 +2928,7 @@ typedef unsigned size_t;
 
 #ifdef HAVE_X11R6
 #define HAVE_X_I18N
 
 #ifdef HAVE_X11R6
 #define HAVE_X_I18N
-#elif defined HAVE_X11R5 && !defined X11R5_INHIBIT_I18N
+#elif !defined X11R5_INHIBIT_I18N
 #define HAVE_X_I18N
 #endif
 
 #define HAVE_X_I18N
 #endif
 
@@ -3448,9 +2954,9 @@ typedef unsigned size_t;
 #  ifndef GC_SETJMP_WORKS
   /* GC_SETJMP_WORKS is nearly always appropriate for GCC --
      see NON_SAVING_SETJMP in the target descriptions.  */
 #  ifndef GC_SETJMP_WORKS
   /* GC_SETJMP_WORKS is nearly always appropriate for GCC --
      see NON_SAVING_SETJMP in the target descriptions.  */
-  /* Exceptions (see NON_SAVING_SETJMP in target description) are ns32k,
+  /* Exceptions (see NON_SAVING_SETJMP in target description) are
      SCO5 non-ELF (but Emacs specifies ELF) and SVR3 on x86.
      SCO5 non-ELF (but Emacs specifies ELF) and SVR3 on x86.
-     Fixme: Deal with ns32k, SVR3.  */
+     Fixme: Deal with SVR3.  */
 #    define GC_SETJMP_WORKS 1
 #  endif
 #  ifndef GC_LISP_OBJECT_ALIGNMENT
 #    define GC_SETJMP_WORKS 1
 #  endif
 #  ifndef GC_LISP_OBJECT_ALIGNMENT
@@ -3517,15 +3023,25 @@ echo "  Does Emacs use a gif library?                           ${HAVE_GIF} $ac_
 echo "  Does Emacs use -lpng?                                   ${HAVE_PNG}"
 echo "  Does Emacs use -lrsvg-2?                                ${HAVE_RSVG}"
 echo "  Does Emacs use -lgpm?                                   ${HAVE_GPM}"
 echo "  Does Emacs use -lpng?                                   ${HAVE_PNG}"
 echo "  Does Emacs use -lrsvg-2?                                ${HAVE_RSVG}"
 echo "  Does Emacs use -lgpm?                                   ${HAVE_GPM}"
+echo "  Does Emacs use -ldbus?                                  ${HAVE_DBUS}"
+echo "  Does Emacs use a font backend?                          ${USE_FONT_BACKEND}"
+
+if test "${USE_FONT_BACKEND}" = "yes"; then
+  echo "  Does Emacs use -lfreetype?                              ${HAVE_FREETYPE}"
+  echo "  Does Emacs use -lm17n-flt?                              ${HAVE_M17N_FLT}"
+  echo "  Does Emacs use -lotf?                                   ${HAVE_LIBOTF}"
+  echo "  Does Emacs use -lxft?                                   ${HAVE_XFT}"
+fi
 echo "  Does Emacs use X toolkit scroll bars?                   ${USE_TOOLKIT_SCROLL_BARS}"
 echo
 
 if test $USE_XASSERTS = yes; then
    echo "  Compiling with asserts turned on."
    CPPFLAGS="$CPPFLAGS -DXASSERTS=1"
 echo "  Does Emacs use X toolkit scroll bars?                   ${USE_TOOLKIT_SCROLL_BARS}"
 echo
 
 if test $USE_XASSERTS = yes; then
    echo "  Compiling with asserts turned on."
    CPPFLAGS="$CPPFLAGS -DXASSERTS=1"
-   echo
 fi
 
 fi
 
+echo
+
 if test "$USE_X_TOOLKIT" = GTK; then
   case "$canonical" in
   *cygwin*)
 if test "$USE_X_TOOLKIT" = GTK; then
   case "$canonical" in
   *cygwin*)
@@ -3537,6 +3053,19 @@ if test "$USE_X_TOOLKIT" = GTK; then
 fi
 
 
 fi
 
 
+if test "$HAVE_CARBON" = "yes"; then
+   echo
+   echo "Warning: The Mac Carbon port is currently unsupported and has
+known problems.  It is not recommended for use by non-developers.
+Read the emacs-devel archives for more information."
+   echo
+fi
+
+if test "$HAVE_DBUS" = yes && test "${opsys}" != "gnu-linux"; then
+  echo "D-Bus integration has been tested for GNU/Linux only."
+  echo
+fi
+
 
 # Remove any trailing slashes in these variables.
 [test "${prefix}" != NONE &&
 
 # Remove any trailing slashes in these variables.
 [test "${prefix}" != NONE &&
@@ -3613,9 +3142,6 @@ echo creating src/Makefile
   sed -e '1,/start of cpp stuff/d'\
       -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
       < Makefile.c > junk.c
   sed -e '1,/start of cpp stuff/d'\
       -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
       < Makefile.c > junk.c
-  if test -f ${srcdir}/admin/unidata/UnicodeData.txt; then
-    CPPFLAGS="$CPPFLAGS -DHAVE_UNIDATA"
-  fi
   $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
       sed -e 's/^ /    /' -e '/^#/d' -e '/^[   \f]*$/d' > junk2.c
   cat junk1.c junk2.c > Makefile.new
   $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
       sed -e 's/^ /    /' -e '/^#/d' -e '/^[   \f]*$/d' > junk2.c
   cat junk1.c junk2.c > Makefile.new