]> code.delx.au - gnu-emacs/blobdiff - configure.in
* process.c (status_message): Fix handling of multibyte signal
[gnu-emacs] / configure.in
index 00fd5a364313e8262c427cbed10b53df9c3b0fe8..35310ccfa2018e57f07e96f7c4248d3f23eb452c 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, 2008  Free Software Foundation, Inc.
+dnl    2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 dnl
 dnl  This file is part of GNU Emacs.
 dnl
 dnl
 dnl  This file is part of GNU Emacs.
 dnl
@@ -21,8 +21,8 @@ dnl
 dnl  You should have received a copy of the GNU General Public License
 dnl  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl  You should have received a copy of the GNU General Public License
 dnl  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_PREREQ(2.61)dnl
-AC_INIT(emacs, 23.0.60)
+AC_PREREQ(2.61)
+AC_INIT(emacs, 23.0.94)
 AC_CONFIG_HEADER(src/config.h:src/config.in)
 AC_CONFIG_SRCDIR(src/lisp.h)
 
 AC_CONFIG_HEADER(src/config.h:src/config.in)
 AC_CONFIG_SRCDIR(src/lisp.h)
 
@@ -75,15 +75,15 @@ fi
 AH_TEMPLATE(MAIL_USE_POP, [Define to support POP mail retrieval.])dnl
 
 OPTION_DEFAULT_OFF([kerberos],[support Kerberos-authenticated POP])
 AH_TEMPLATE(MAIL_USE_POP, [Define to support POP mail retrieval.])dnl
 
 OPTION_DEFAULT_OFF([kerberos],[support Kerberos-authenticated POP])
-if test "$with_kerberos" = yes; then
+if test "$with_kerberos" != no; then
    AC_DEFINE(KERBEROS)
 fi
 AH_TEMPLATE(KERBEROS,
            [Define to support Kerberos-authenticated POP mail retrieval.])dnl
 
 OPTION_DEFAULT_OFF([kerberos5],[support Kerberos version 5 authenticated POP])
    AC_DEFINE(KERBEROS)
 fi
 AH_TEMPLATE(KERBEROS,
            [Define to support Kerberos-authenticated POP mail retrieval.])dnl
 
 OPTION_DEFAULT_OFF([kerberos5],[support Kerberos version 5 authenticated POP])
-if test "${with_kerberos5}" = yes; then
-  if test "${with_kerberos}" != yes; then
+if test "${with_kerberos5}" != no; then
+  if test "${with_kerberos}" = no; then
     with_kerberos=yes
     AC_DEFINE(KERBEROS)
   fi
     with_kerberos=yes
     AC_DEFINE(KERBEROS)
   fi
@@ -91,13 +91,13 @@ if test "${with_kerberos5}" = yes; then
 fi
 
 OPTION_DEFAULT_OFF([hesiod],[support Hesiod to get the POP server host])
 fi
 
 OPTION_DEFAULT_OFF([hesiod],[support Hesiod to get the POP server host])
-if test "$with_hesiod" = yes; then
+if test "$with_hesiod" != no; then
   AC_DEFINE(HESIOD, 1, [Define to support using a Hesiod database to find the POP server.])
 fi
 
 OPTION_DEFAULT_ON([sound],[don't compile with sound support])
 
   AC_DEFINE(HESIOD, 1, [Define to support using a Hesiod database to find the POP server.])
 fi
 
 OPTION_DEFAULT_ON([sound],[don't compile with sound support])
 
-OPTION_DEFAULT_ON([sync-input],[Process async input synchronously])
+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
 if test "$with_sync_input" = yes; then
    AC_DEFINE(SYNC_INPUT, 1, [Process async input synchronously.])
 fi
@@ -133,7 +133,6 @@ 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([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([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])
@@ -141,7 +140,7 @@ 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_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_OFF([ns],[use nextstep (Cocoa or GNUstep) windowing system])
 
 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])
 
 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])
@@ -153,33 +152,34 @@ OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manuals])
 
 dnl Can remove these in Emacs 24.
 AC_ARG_WITH([gtk],,
 
 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_MSG_ERROR([--with-gtk has been removed.  Use --with-x-toolkit to
+specify a toolkit.])],,)
 
 AC_ARG_WITH([gcc],,
 
 AC_ARG_WITH([gcc],,
-  AC_MSG_ERROR([--with-gcc has been removed.  Set the `CC' environment
-  variable to specify a compiler.]),,)
+  [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],
 
 AC_ARG_WITH([pkg-config-prog],dnl
 [AS_HELP_STRING([--with-pkg-config-prog=PATH],
-                  [Path to pkg-config for finding GTK and librsvg])])
+                  [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
 
 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@:>@],
-                [specify install directory for Emacs.app on Mac OS X
-                [DIR=/Application]])],
-[ carbon_appdir_x=${enableval}])
+AC_ARG_WITH([gnustep-conf],dnl
+[AS_HELP_STRING([--with-gnustep-conf=PATH],[path to GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf])])
+test "X${with_gnustep_conf}" != X && test "${with_gnustep_conf}" != yes && \
+  GNUSTEP_CONFIG_FILE="${with_gnustep_conf}"
+test "X$GNUSTEP_CONFIG_FILE" = "X" && \
+     GNUSTEP_CONFIG_FILE=/etc/GNUstep/GNUstep.conf
 
 
-## Enabled by default.
-AC_ARG_ENABLE(font-backend,
-[AS_HELP_STRING([--disable-font-backend],[don't compile font-backend support])],
-      USE_FONT_BACKEND=$enableval,
-      USE_FONT_BACKEND=yes)
+AC_ARG_ENABLE(ns-self-contained,
+[AS_HELP_STRING([--disable-ns-self-contained],
+                [disable self contained build under NeXTstep])],
+   EN_NS_SELF_CONTAINED=$enableval,
+   EN_NS_SELF_CONTAINED=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])],
@@ -271,9 +271,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 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
+### example mips.h is MIPS
+### So we basically have to have a special case for each
 ### configuration name.
 ###
 ### As far as handling version numbers on operating systems is
 ### configuration name.
 ###
 ### As far as handling version numbers on operating systems is
@@ -296,6 +295,7 @@ case "${canonical}" in
       alpha*-*-freebsd*)       machine=alpha ;;
       arm*-*-freebsd*)          machine=arm ;;
       ia64-*-freebsd*)         machine=ia64 ;;
       alpha*-*-freebsd*)       machine=alpha ;;
       arm*-*-freebsd*)          machine=arm ;;
       ia64-*-freebsd*)         machine=ia64 ;;
+      sparc-*-freebsd*)         machine=sparc ;;
       sparc64-*-freebsd*)      machine=sparc ;;
       powerpc-*-freebsd*)      machine=macppc ;;
       i[3456]86-*-freebsd*)    machine=intel386 ;;
       sparc64-*-freebsd*)      machine=sparc ;;
       powerpc-*-freebsd*)      machine=macppc ;;
       i[3456]86-*-freebsd*)    machine=intel386 ;;
@@ -309,6 +309,7 @@ case "${canonical}" in
     case "${canonical}" in
       alpha*-*-kfreebsd*)      machine=alpha ;;
       ia64-*-kfreebsd*)                machine=ia64 ;;
     case "${canonical}" in
       alpha*-*-kfreebsd*)      machine=alpha ;;
       ia64-*-kfreebsd*)                machine=ia64 ;;
+      sparc-*-kfreebsd*)       machine=sparc ;;
       sparc64-*-kfreebsd*)     machine=sparc ;;
       powerpc-*-kfreebsd*)     machine=macppc ;;
       i[3456]86-*-kfreebsd*)   machine=intel386 ;;
       sparc64-*-kfreebsd*)     machine=sparc ;;
       powerpc-*-kfreebsd*)     machine=macppc ;;
       i[3456]86-*-kfreebsd*)   machine=intel386 ;;
@@ -328,18 +329,13 @@ dnl see the `changequote' comment above.
     case "${canonical}" in
       alpha*-*-netbsd*)        machine=alpha ;;
       i[3456]86-*-netbsd*) machine=intel386 ;;
     case "${canonical}" in
       alpha*-*-netbsd*)        machine=alpha ;;
       i[3456]86-*-netbsd*) machine=intel386 ;;
-      m68k-*-netbsd*)
-                       # This is somewhat bogus.
-                       machine=hp9000s300 ;;
-      mips-*-netbsd*)  machine=pmax ;;
-      mipsel-*-netbsd*)        machine=pmax ;;
-      mipseb-*-netbsd*)        machine=pmax ;;
       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 ;;
+      m68k-*-netbsd*)  machine=m68k ;;
     esac
   ;;
 
     esac
   ;;
 
@@ -349,13 +345,12 @@ dnl see the `changequote' comment above.
     case "${canonical}" in
       alpha*-*-openbsd*)       machine=alpha ;;
       arm-*-openbsd*)          machine=arm ;;
     case "${canonical}" in
       alpha*-*-openbsd*)       machine=alpha ;;
       arm-*-openbsd*)          machine=arm ;;
-      hppa-*-openbsd*)         machine=hp9000s300 ;;
       i386-*-openbsd*)         machine=intel386 ;;
       i386-*-openbsd*)         machine=intel386 ;;
-      m68k-*-openbsd*)         machine=hp9000s300 ;;
       powerpc-*-openbsd*)      machine=macppc ;;
       sparc*-*-openbsd*)       machine=sparc ;;
       vax-*-openbsd*)          machine=vax ;;
       x86_64-*-openbsd*)       machine=amdx86-64 ;;
       powerpc-*-openbsd*)      machine=macppc ;;
       sparc*-*-openbsd*)       machine=sparc ;;
       vax-*-openbsd*)          machine=vax ;;
       x86_64-*-openbsd*)       machine=amdx86-64 ;;
+      hppa-*-openbsd*)         machine=hp800 ;;
     esac
   ;;
 
     esac
   ;;
 
@@ -368,23 +363,6 @@ dnl see the `changequote' comment above.
     esac
   ;;
 
     esac
   ;;
 
-  ## BSDI ports
-  *-*-bsdi* )
-    opsys=bsdi
-    case "${canonical}" in
-      i[345]86-*-bsdi*) machine=intel386 ;;
-      sparc-*-bsdi*)  machine=sparc ;;
-      powerpc-*-bsdi*)  machine=macppc ;;
-    esac
-    case "${canonical}" in
-      *-*-bsd386* | *-*-bsdi1* )       opsys=bsd386 ;;
-      *-*-bsdi2.0* )           opsys=bsdos2 ;;
-      *-*-bsdi2* )             opsys=bsdos2-1 ;;
-      *-*-bsdi3* )             opsys=bsdos3 ;;
-      *-*-bsdi[45]* )          opsys=bsdos4 ;;
-    esac
-  ;;
-
   alpha*-*-linux-gnu* )
     machine=alpha opsys=gnu-linux
   ;;
   alpha*-*-linux-gnu* )
     machine=alpha opsys=gnu-linux
   ;;
@@ -397,7 +375,7 @@ dnl see the `changequote' comment above.
   *-apple-darwin* )
     case "${canonical}" in
       i[3456]86-* )  machine=intel386 ;;
   *-apple-darwin* )
     case "${canonical}" in
       i[3456]86-* )  machine=intel386 ;;
-      powerpc-* )    machine=powermac ;;
+      powerpc-* )    machine=macppc ;;
       * )            unported=yes ;;
     esac
     opsys=darwin
       * )            unported=yes ;;
     esac
     opsys=darwin
@@ -411,56 +389,10 @@ dnl see the `changequote' comment above.
     fi
   ;;
 
     fi
   ;;
 
-  ## Cubix QBx/386
-  i[3456]86-cubix-sysv* )
-    machine=intel386 opsys=usg5-3
-  ;;
-
-  mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
-    machine=pmax opsys=bsd4-2
-  ;;
-  mips-dec-ultrix4.[12]* | mips-dec-bsd* )
-    machine=pmax opsys=bsd4-3
-  ;;
-  mips-dec-ultrix* )
-    machine=pmax opsys=ultrix4-3
-  ;;
-  ## HP 9000 series 200 or 300
-  m68*-hp-bsd* )
-    machine=hp9000s300 opsys=bsd4-3
-  ;;
-  ## HP/UX 7, 8, 9, and 10 are supported on these machines.
-  m68*-hp-hpux* )
-    case "`uname -r`" in
-      ## Someone's system reports A.B8.05 for this.
-      ## I wonder what other possibilities there are.
-      *.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
-      *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
-      *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
-      *.1[0-9].* ) machine=hp9000s300 opsys=hpux9shr ;;
-      *) machine=hp9000s300 opsys=hpux ;;
-    esac
-  ;;
-
   ## HP 9000 series 700 and 800, running HP/UX
   ## HP 9000 series 700 and 800, running HP/UX
-  hppa*-hp-hpux7* )
-    machine=hp800 opsys=hpux
-  ;;
-  hppa*-hp-hpux8* )
-    machine=hp800 opsys=hpux8
-  ;;
-  hppa*-hp-hpux9shr* )
-    machine=hp800 opsys=hpux9shr
-  ;;
-  hppa*-hp-hpux9* )
-    machine=hp800 opsys=hpux9
-  ;;
   hppa*-hp-hpux10.2* )
     machine=hp800 opsys=hpux10-20
   ;;
   hppa*-hp-hpux10.2* )
     machine=hp800 opsys=hpux10-20
   ;;
-  hppa*-hp-hpux10* )
-    machine=hp800 opsys=hpux10
-  ;;
   hppa*-hp-hpux1[1-9]* )
     machine=hp800 opsys=hpux11
     CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS"
   hppa*-hp-hpux1[1-9]* )
     machine=hp800 opsys=hpux11
     CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS"
@@ -470,41 +402,13 @@ dnl see the `changequote' comment above.
     machine=hp800 opsys=gnu-linux
   ;;
 
     machine=hp800 opsys=gnu-linux
   ;;
 
-  ## HP 9000 series 700 and 800, running HP/UX
-  hppa*-hp-hpux* )
-    ## Cross-compilation?  Nah!
-    case "`uname -r`" in
-      ## Someone's system reports A.B8.05 for this.
-      ## I wonder what other possibilities there are.
-      *.B8.* ) machine=hp800 opsys=hpux8 ;;
-      *.08.* ) machine=hp800 opsys=hpux8 ;;
-      *.09.* ) machine=hp800 opsys=hpux9 ;;
-      *) machine=hp800 opsys=hpux10 ;;
-    esac
-  ;;
-  hppa*-*-nextstep* )
-    machine=hp800 opsys=nextstep
-  ;;
-
   ## IBM machines
   ## IBM machines
-  i370-ibm-aix*)
-    machine=ibm370aix opsys=usg5-3
-  ;;
   s390-*-linux-gnu* )
     machine=ibms390 opsys=gnu-linux
   ;;
   s390x-*-linux-gnu* )
     machine=ibms390x opsys=gnu-linux
   ;;
   s390-*-linux-gnu* )
     machine=ibms390 opsys=gnu-linux
   ;;
   s390x-*-linux-gnu* )
     machine=ibms390x opsys=gnu-linux
   ;;
-  rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1*  )
-    machine=ibmrs6000 opsys=aix3-1
-  ;;
-  rs6000-ibm-aix3.2.5 | powerpc-ibm-aix3.2.5 )
-    machine=ibmrs6000 opsys=aix3-2-5
-  ;;
-  rs6000-ibm-aix4.1* | powerpc-ibm-aix4.1*  )
-    machine=ibmrs6000 opsys=aix4-1
-  ;;
   rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2*  )
     machine=ibmrs6000 opsys=aix4-2
   ;;
   rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2*  )
     machine=ibmrs6000 opsys=aix4-2
   ;;
@@ -514,68 +418,15 @@ 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*  )
+  rs6000-ibm-aix6* | powerpc-ibm-aix6*  )
     machine=ibmrs6000 opsys=aix4-2
   ;;
     machine=ibmrs6000 opsys=aix4-2
   ;;
-  rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0*  )
-    machine=ibmrs6000 opsys=aix4
-  ;;
-  rs6000-ibm-aix4* | powerpc-ibm-aix4*  )
-    machine=ibmrs6000 opsys=aix4-1
-  ;;
-  rs6000-ibm-aix* | powerpc-ibm-aix* )
-    machine=ibmrs6000 opsys=aix3-2
-  ;;
-
-  ## Prime EXL
-  i[3456]86-prime-sysv* )
-    machine=i386 opsys=usg5-3
-  ;;
-
-  ## ncr machine running svr4.3.
-  i[3456]86-ncr-sysv4.3 )
-    machine=ncr386 opsys=usg5-4-3
-  ;;
-
-  ## Unspecified sysv on an ncr machine defaults to svr4.2.
-  ## (Plain usg5-4 doesn't turn on POSIX signals, which we need.)
-  i[3456]86-ncr-sysv* )
-    machine=ncr386 opsys=usg5-4-2
-  ;;
 
   ## Macintosh PowerPC
   powerpc*-*-linux-gnu* )
     machine=macppc opsys=gnu-linux
   ;;
 
 
   ## Macintosh PowerPC
   powerpc*-*-linux-gnu* )
     machine=macppc opsys=gnu-linux
   ;;
 
-  ## Workstations sold by MIPS
-  ## This is not necessarily all workstations using the MIPS processor -
-  ## Irises are produced by SGI, and DECstations by DEC.
-
-  mips-mips-bsd* )
-    machine=mips opsys=bsd4-3
-  ;;
-  mips-mips-* )
-    machine=mips opsys=usg5-2-2
-  ;;
-
-  ## NeXT
-  m68*-next-* | m68k-*-nextstep* )
-    machine=m68k opsys=nextstep
-  ;;
-
-  ## NEC EWS4800
-  mips-nec-sysv4*)
-  machine=ews4800 opsys=ux4800
-  ;;
-
-  ## Siemens Nixdorf
-  mips-siemens-sysv* | mips-sni-sysv*)
-    machine=mips-siemens opsys=usg5-4
-    NON_GNU_CC=/usr/ccs/bin/cc
-    NON_GNU_CPP=/usr/ccs/lib/cpp
-  ;;
-
   ## Silicon Graphics machines
   ## Iris 4D
   mips-sgi-irix6.5 )
   ## Silicon Graphics machines
   ## Iris 4D
   mips-sgi-irix6.5 )
@@ -592,13 +443,13 @@ dnl see the `changequote' comment above.
     machine=sparc opsys=gnu-linux
   ;;
 
     machine=sparc opsys=gnu-linux
   ;;
 
-  *-auspex-sunos* | *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \
-    | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
-    | rs6000-*-solaris2*)
+  *-sun-solaris* \
+    | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* \
+    | x86_64-*-solaris2*    | x86_64-*-sunos5*    \
+    | powerpc*-*-solaris2*  | rs6000-*-solaris2*)
     case "${canonical}" in
       i[3456]86-*-* )     machine=intel386 ;;
       amd64-*-*|x86_64-*-*)    machine=amdx86-64 ;;
     case "${canonical}" in
       i[3456]86-*-* )     machine=intel386 ;;
       amd64-*-*|x86_64-*-*)    machine=amdx86-64 ;;
-      powerpcle* )      machine=powerpcle ;;
       powerpc* | rs6000* )  machine=ibmrs6000 ;;
       sparc* )         machine=sparc ;;
       * )              unported=yes ;;
       powerpc* | rs6000* )  machine=ibmrs6000 ;;
       sparc* )         machine=sparc ;;
       * )              unported=yes ;;
@@ -623,12 +474,16 @@ dnl see the `changequote' comment above.
                NON_GNU_CPP=/usr/ccs/lib/cpp
                RANLIB="ar -ts"
                ;;
                NON_GNU_CPP=/usr/ccs/lib/cpp
                RANLIB="ar -ts"
                ;;
-      *-sunos5* | *-solaris* )
+      *-sunos5.[7-9]* | *-solaris2.[7-9]* )
                opsys=sol2-6
                emacs_check_sunpro_c=yes
                NON_GNU_CPP=/usr/ccs/lib/cpp
                ;;
                opsys=sol2-6
                emacs_check_sunpro_c=yes
                NON_GNU_CPP=/usr/ccs/lib/cpp
                ;;
-      *                          ) opsys=bsd4-2   ;;
+      *-sunos5* | *-solaris* )
+               opsys=sol2-10
+               emacs_check_sunpro_c=yes
+               NON_GNU_CPP=/usr/ccs/lib/cpp
+               ;;
     esac
     ## Watch out for a compiler that we know will not work.
     case "${canonical}" in
     esac
     ## Watch out for a compiler that we know will not work.
     case "${canonical}" in
@@ -642,24 +497,11 @@ dnl see the `changequote' comment above.
       *) ;;
     esac
   ;;
       *) ;;
     esac
   ;;
-  sparc-*-nextstep* )
-    machine=sparc opsys=nextstep
-  ;;
-
-  ## Tandem Integrity S2
-  mips-tandem-sysv* )
-    machine=tandem-s2 opsys=usg5-3
-  ;;
 
   ## Vaxen.
   vax-dec-* )
     machine=vax
     case "${canonical}" in
 
   ## Vaxen.
   vax-dec-* )
     machine=vax
     case "${canonical}" in
-      *-bsd4.1* )                                      opsys=bsd4-1 ;;
-      *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* )     opsys=bsd4-2 ;;
-      *-bsd4.3* | *-ultrix* )                          opsys=bsd4-3 ;;
-      *-sysv[01]* | *-sysvr[01]* )                     opsys=usg5-0 ;;
-      *-sysv2* | *-sysvr2* )                           opsys=usg5-2 ;;
       *-vms* )                                                 opsys=vms ;;
       * )                                              unported=yes
     esac
       *-vms* )                                                 opsys=vms ;;
       * )                                              unported=yes
     esac
@@ -682,8 +524,6 @@ dnl see the `changequote' comment above.
       *-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 ;;
-      *-386bsd* )              opsys=386bsd ;;
-      *-nextstep* )             opsys=nextstep ;;
       ## Otherwise, we'll fall through to the generic opsys code at the bottom.
     esac
   ;;
       ## Otherwise, we'll fall through to the generic opsys code at the bottom.
     esac
   ;;
@@ -694,17 +534,11 @@ dnl see the `changequote' comment above.
   ;;
 
   ## Mips Linux-based GNU system
   ;;
 
   ## Mips Linux-based GNU system
-  mips-*-linux-gnu* | mipsel-*-linux-gnu* )
+  mips-*-linux-gnu* | mipsel-*-linux-gnu* \
+    | mips64-*-linux-gnu* | mips64el-*-linux-gnu* )
     machine=mips opsys=gnu-linux
   ;;
 
     machine=mips opsys=gnu-linux
   ;;
 
-  ## UXP/DS
-  sparc-fujitsu-sysv4* )
-    machine=sparc opsys=uxpds
-    NON_GNU_CPP=/usr/ccs/lib/cpp
-    RANLIB="ar -ts"
-  ;;
-
   ## 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
@@ -715,6 +549,11 @@ dnl see the `changequote' comment above.
     machine=xtensa opsys=gnu-linux
     ;;
 
     machine=xtensa opsys=gnu-linux
     ;;
 
+  ## SuperH Linux-based GNU system
+  sh[34]*-*-linux-gnu* )
+    machine=sh3 opsys=gnu-linux
+  ;;
+
   * )
     unported=yes
   ;;
   * )
     unported=yes
   ;;
@@ -729,13 +568,6 @@ esac
 if test x"${opsys}" = x; then
   case "${canonical}" in
     *-gnu* )                           opsys=gnu ;;
 if test x"${opsys}" = x; then
   case "${canonical}" in
     *-gnu* )                           opsys=gnu ;;
-    *-bsd4.[01] )                      opsys=bsd4-1 ;;
-    *-bsd4.2 )                         opsys=bsd4-2 ;;
-    *-bsd4.3 )                         opsys=bsd4-3 ;;
-    *-sysv0 | *-sysvr0 )               opsys=usg5-0 ;;
-    *-sysv2 | *-sysvr2 )               opsys=usg5-2 ;;
-    *-sysv2.2 | *-sysvr2.2 )           opsys=usg5-2-2 ;;
-    *-sysv3* | *-sysvr3* )             opsys=usg5-3 ;;
     *-sysv4.2uw* )                     opsys=unixware ;;
     *-sysv5uw* )                       opsys=unixware ;;
     *-sysv5OpenUNIX* )                 opsys=unixware ;;
     *-sysv4.2uw* )                     opsys=unixware ;;
     *-sysv5uw* )                       opsys=unixware ;;
     *-sysv5OpenUNIX* )                 opsys=unixware ;;
@@ -758,30 +590,6 @@ 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
 
@@ -894,21 +702,24 @@ if test "$MAKEINFO" != "no" && \
    MAKEINFO=no
 fi
 
    MAKEINFO=no
 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.
+## Makeinfo is unusual.  For a released Emacs, the manuals are
+## pre-built, and not deleted by the normal clean rules.  makeinfo is
+## therefore in the category of "special tools" not normally required, which
+## configure does not have to check for (eg autoconf itself).
+## In a CVS checkout on the other hand, the manuals are not included.
+## So makeinfo is a requirement to build from CVS, and configure
+## should test for it as it does for any other build requirement.
+## We use the presence of $srcdir/info/emacs to distinguish a release,
+## with pre-built manuals, from a CVS checkout.
+if test "$MAKEINFO" = "no"; then
+  if test "x${with_makeinfo}" = "xno"; then
+    MAKEINFO=off
+  elif ! test -e $srcdir/info/emacs; then
+    AC_MSG_ERROR( [You do not seem to have makeinfo >= 4.6, and your
+source tree does not seem to have pre-built manuals in the `info' directory.
 Either install a suitable version of makeinfo, or re-run configure
 Either install a suitable version of makeinfo, or re-run configure
-with the `--without-makeinfo' option.] )
-
+with the `--without-makeinfo' option to build without the manuals.] )
+  fi
 fi
 
 dnl Add our options to ac_link now, after it is set up.
 fi
 
 dnl Add our options to ac_link now, after it is set up.
@@ -1093,9 +904,11 @@ AC_SYS_LARGEFILE
 
 ### The standard library on x86-64 and s390x GNU/Linux distributions can
 ### be located in either /usr/lib64 or /usr/lib.
 
 ### The standard library on x86-64 and s390x GNU/Linux distributions can
 ### be located in either /usr/lib64 or /usr/lib.
+### In some rare cases, /usr/lib64 exists but does not contain the
+### relevant files (bug#1287).  Hence test for crtn.o.
 case "${canonical}" in
   x86_64-*-linux-gnu* | s390x-*-linux-gnu* )
 case "${canonical}" in
   x86_64-*-linux-gnu* | s390x-*-linux-gnu* )
-    if test -d /usr/lib64; then
+    if test -e /usr/lib64/crtn.o; then
       AC_DEFINE(HAVE_LIB64_DIR, 1,
         [Define to 1 if the directory /usr/lib64 exists.])
 fi
       AC_DEFINE(HAVE_LIB64_DIR, 1,
         [Define to 1 if the directory /usr/lib64 exists.])
 fi
@@ -1412,25 +1225,59 @@ else
   fi
 fi
 
   fi
 fi
 
-HAVE_CARBON=no
-if test "${with_carbon}" != no; then
-  AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes)
-fi
-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_xim \
-               with_xpm with_jpeg with_tiff with_gif with_png; do
-      if eval test \"\${$var+set}\" = set; then
-        HAVE_CARBON=no
-        break
-      fi
-    done
+HAVE_NS=no
+NS_IMPL_COCOA=no
+NS_IMPL_GNUSTEP=no
+tmp_CPPFLAGS="$CPPFLAGS"
+tmp_CFLAGS="$CFLAGS"
+CPPFLAGS="$CPPFLAGS -x objective-c"
+CFLAGS="$CFLAGS -x objective-c"
+if test "${with_ns}" != no; then
+  if test "${opsys}" = darwin; then
+     NS_IMPL_COCOA=yes
+     ns_appdir=`pwd`/nextstep/Emacs.app
+     ns_appbindir=`pwd`/nextstep/Emacs.app/Contents/MacOS
+     ns_appresdir=`pwd`/nextstep/Emacs.app/Contents/Resources
+     ns_appsrc=${srcdir}/nextstep/Cocoa/Emacs.base
+  elif test -f $GNUSTEP_CONFIG_FILE; then
+     NS_IMPL_GNUSTEP=yes
+     ns_appdir=`pwd`/nextstep/Emacs.app
+     ns_appbindir=`pwd`/nextstep/Emacs.app
+     ns_appresdir=`pwd`/nextstep/Emacs.app/Resources
+     ns_appsrc=${srcdir}/nextstep/GNUstep/Emacs.base
+     dnl FIXME sourcing this 3 times in subshells seems inefficient.
+     GNUSTEP_MAKEFILES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_MAKEFILES)"
+     GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)"
+     GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)"
+     CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
+     CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
+     REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
+     LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES}"
+  fi
+  AC_CHECK_HEADER([AppKit/AppKit.h], [HAVE_NS=yes],
+                 [AC_MSG_ERROR([`--with-ns' was specified, but the include
+  files are missing or cannot be compiled.])])
+  NS_HAVE_NSINTEGER=yes
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <Foundation/NSObjCRuntime.h>],
+                                     [NSInteger i;])],
+                   ns_have_nsinteger=yes,
+                   ns_have_nsinteger=no)
+  if test $ns_have_nsinteger = no; then
+    NS_HAVE_NSINTEGER=no
   fi
 fi
   fi
 fi
-if test "${HAVE_CARBON}" = yes; then
-  window_system=mac
+if test "${HAVE_NS}" = yes; then
+  window_system=nextstep
+  with_xft=no
+  # set up packaging dirs
+  exec_prefix=${ns_appbindir}
+  libexecdir=${ns_appbindir}/libexec
+  if test "${EN_NS_SELF_CONTAINED}" = yes; then
+     prefix=${ns_appresdir}
+  fi
 fi
 fi
+CFLAGS="$tmp_CFLAGS"
+CPPFLAGS="$tmp_CPPFLAGS"
 
 case "${window_system}" in
   x11 )
 
 case "${window_system}" in
   x11 )
@@ -1449,7 +1296,7 @@ dnl use the toolkit if we have gtk, or X11R5 or newer.
       * ) USE_X_TOOLKIT=maybe ;;
     esac
   ;;
       * ) USE_X_TOOLKIT=maybe ;;
     esac
   ;;
-  mac | none )
+  nextstep | none )
     HAVE_X_WINDOWS=no
     HAVE_X11=no
     USE_X_TOOLKIT=none
     HAVE_X_WINDOWS=no
     HAVE_X11=no
     USE_X_TOOLKIT=none
@@ -1478,9 +1325,6 @@ case ${HAVE_X11} in
   yes ) HAVE_MENUS=yes ;;
 esac
 
   yes ) HAVE_MENUS=yes ;;
 esac
 
-### Compute the unexec source name from the object name.
-UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
-
 # Do the opsystem or machine files prohibit the use of the GNU malloc?
 # Assume not, until told otherwise.
 GNU_MALLOC=yes
 # Do the opsystem or machine files prohibit the use of the GNU malloc?
 # Assume not, until told otherwise.
 GNU_MALLOC=yes
@@ -1645,9 +1489,9 @@ fi
 
 ### Use -lrsvg-2 if available, unless `--with-rsvg=no' is specified.
 HAVE_RSVG=no
 
 ### 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 "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes"; then
   if test "${with_rsvg}" != "no"; then
   if test "${with_rsvg}" != "no"; then
-    RSVG_REQUIRED=2.0.0
+    RSVG_REQUIRED=2.11.0
     RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
 
     PKG_CHECK_MODULES(RSVG, $RSVG_MODULE, :, :)
     RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
 
     PKG_CHECK_MODULES(RSVG, $RSVG_MODULE, :, :)
@@ -1727,15 +1571,28 @@ if test "${HAVE_GTK}" = "yes"; then
               [Define to 1 if GTK can handle more than one display.])
   fi
 
               [Define to 1 if GTK can handle more than one display.])
   fi
 
-  dnl  Check if we have the old file selection dialog.
-  dnl  If gdk_display_open exists, assume all others are there also.
+  dnl  Check if we have the old file selection dialog declared and
+  dnl  in the link library.  In 2.x it may be in the library,
+  dnl  but not declared if deprecated featured has been selected out.
+  dnl  AC_CHECK_DECL checks for a macro, so check for GTK_TYPE_FILE_SELECTION.
   HAVE_GTK_FILE_SELECTION=no
   HAVE_GTK_FILE_SELECTION=no
-  AC_CHECK_FUNCS(gtk_file_selection_new, HAVE_GTK_FILE_SELECTION=yes)
+  AC_CHECK_DECL(GTK_TYPE_FILE_SELECTION, HAVE_GTK_FILE_SELECTION=yes,
+                   HAVE_GTK_FILE_SELECTION=no, [AC_INCLUDES_DEFAULT
+#include <gtk/gtk.h>])
+  if test "$HAVE_GTK_FILE_SELECTION" = yes; then
+    AC_CHECK_FUNCS(gtk_file_selection_new, HAVE_GTK_FILE_SELECTION=yes,
+                   HAVE_GTK_FILE_SELECTION=no)
+  fi
 
   dnl  Check if we have the new file chooser dialog
 
   dnl  Check if we have the new file chooser dialog
-  dnl  If gdk_display_open exists, assume all others are there also.
   HAVE_GTK_FILE_CHOOSER=no
   HAVE_GTK_FILE_CHOOSER=no
-  AC_CHECK_FUNCS(gtk_file_chooser_dialog_new, HAVE_GTK_FILE_CHOOSER=yes)
+  AC_CHECK_DECL(GTK_TYPE_FILE_CHOOSER, HAVE_GTK_FILE_CHOOSER=yes,
+                HAVE_GTK_FILE_CHOOSER=no, [AC_INCLUDES_DEFAULT
+#include <gtk/gtk.h>])
+  if test "$HAVE_GTK_FILE_CHOOSER" = yes; then
+    AC_CHECK_FUNCS(gtk_file_chooser_dialog_new, HAVE_GTK_FILE_CHOOSER=yes,
+                   HAVE_GTK_FILE_CHOOSER=no)
+  fi
 
   if test "$HAVE_GTK_FILE_SELECTION" = yes \
      && test "$HAVE_GTK_FILE_CHOOSER" = yes;  then
 
   if test "$HAVE_GTK_FILE_SELECTION" = yes \
      && test "$HAVE_GTK_FILE_CHOOSER" = yes;  then
@@ -1921,7 +1778,7 @@ if test "${with_toolkit_scroll_bars}" != "no"; then
   elif test "${HAVE_GTK}" = "yes"; then
     AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
     USE_TOOLKIT_SCROLL_BARS=yes
   elif test "${HAVE_GTK}" = "yes"; then
     AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
     USE_TOOLKIT_SCROLL_BARS=yes
-  elif test "${HAVE_CARBON}" = "yes"; then
+  elif test "${HAVE_NS}" = "yes"; then
     AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
     USE_TOOLKIT_SCROLL_BARS=yes
   fi
     AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
     USE_TOOLKIT_SCROLL_BARS=yes
   fi
@@ -1978,102 +1835,108 @@ either XPointer or XPointer*.])dnl
   CFLAGS=$late_CFLAGS
 fi
 
   CFLAGS=$late_CFLAGS
 fi
 
-### Start of font-backend section.
-if test "${HAVE_X11}" != "yes"; then
-  USE_FONT_BACKEND=no
-fi
+### Start of font-backend (under any platform) section.
+# (nothing here yet -- this is a placeholder)
+### End of font-backend (under any platform) section.
+
+### Start of font-backend (under X11) section.
+if test "${HAVE_X11}" = "yes"; then
+   PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.2.0, HAVE_FC=yes, HAVE_FC=no)
 
 
-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-xft=no'.
+   HAVE_XFT=maybe
+    if test "${HAVE_FC}" = "no" || test "x${with_x}" = "xno"; then
+      with_xft="no";
+    fi
+    if test "x${with_xft}" != "xno"; then
+
+      PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no)
+      if test "$HAVE_XFT" != no; then
+       OLD_CPPFLAGS="$CPPFLAGS"
+       OLD_CFLAGS="$CFLAGS"
+       OLD_LIBS="$LIBS"
+       CPPFLAGS="$CPPFLAGS $XFT_CFLAGS"
+       CFLAGS="$CFLAGS $XFT_CFLAGS"
+       LIBS="$XFT_LIBS $LIBS"
+       AC_CHECK_HEADER(X11/Xft/Xft.h,
+         AC_CHECK_LIB(Xft, XftFontOpen, HAVE_XFT=yes, , $XFT_LIBS))
+
+       if test "${HAVE_XFT}" = "yes"; then
+         AC_DEFINE(HAVE_XFT, 1, [Define to 1 if you have the Xft library.])
+           AC_SUBST(XFT_LIBS)
+         C_SWITCH_X_SITE="$C_SWITCH_X_SITE $XFT_CFLAGS"
+       else
+         CPPFLAGS="$OLD_CPPFLAGS"
+         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
 
 
-  ## 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
 
 
-    PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no)
-    if test "$HAVE_XFT" != no; then
-      OLD_CPPFLAGS="$CPPFLAGS"
-      OLD_CFLAGS="$CFLAGS"
-      OLD_LIBS="$LIBS"
-      CPPFLAGS="$CPPFLAGS $XFT_CFLAGS"
-      CFLAGS="$CFLAGS $XFT_CFLAGS"
-      LIBS="$XFT_LIBS $LIBS"
-      AC_CHECK_HEADER(X11/Xft/Xft.h,
-        AC_CHECK_LIB(Xft, XftFontOpen, HAVE_XFT=yes, , $XFT_LIBS))
-
-      if test "${HAVE_XFT}" = "yes"; then
-        AC_DEFINE(HAVE_XFT, 1, [Define to 1 if you have the Xft library.])
-       AC_SUBST(XFT_LIBS)
-        C_SWITCH_X_SITE="$C_SWITCH_X_SITE $XFT_CFLAGS"
-      else
-        CPPFLAGS="$OLD_CPPFLAGS"
-        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)
+    HAVE_FREETYPE=no
+    ## We used to allow building with FreeType and without Xft.
+    ## However, the ftx font backend driver is not in good shape.
+    if test "${HAVE_XFT}" = "yes"; then
+      dnl As we use Xft, we anyway use freetype.
+      dnl There's no need for additional CFLAGS and LIBS.
+      HAVE_FREETYPE=yes
+      FONTCONFIG_CFLAGS=
+      FONTCONFIG_LIBS=
+    fi
+
+    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 Without 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.])
+         AC_CHECK_LIB(otf, OTF_get_variation_glyphs,
+                      HAVE_OTF_GET_VARIATION_GLYPHS=yes,
+                      HAVE_OTF_GET_VARIATION_GLYPHS=no)
+         if test "${HAVE_OTF_GET_VARIATION_GLYPHS}" = "yes"; then
+           AC_DEFINE(HAVE_OTF_GET_VARIATION_GLYPHS, 1,
+                     [Define to 1 if libotf has OTF_get_variation_glyphs.])
+         fi
+       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
-  
-  HAVE_LIBOTF=no
-  if test "${HAVE_FREETYPE}" = "yes"; then
-    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.])
+
+    HAVE_M17N_FLT=no
+    if test "${HAVE_LIBOTF}" = yes; then
+      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
-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
-  
-  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
-  
-  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.
+else
+    HAVE_XFT=no
+    HAVE_FREETYPE=no
+    HAVE_LIBOTF=no
+    HAVE_M17N_FLT=no
+fi
+### End of font-backend (under X11) section.
+
+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)
 
 ### Use -lXpm if available, unless `--with-xpm=no'.
 HAVE_XPM=no
 
 ### Use -lXpm if available, unless `--with-xpm=no'.
 HAVE_XPM=no
@@ -2225,22 +2088,26 @@ fi
 dnl Check for malloc/malloc.h on darwin
 AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.])])
 
 dnl Check for malloc/malloc.h on darwin
 AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.])])
 
-### 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
-    case ${carbon_appdir_x} in
-      y | ye | yes)  carbon_appdir=/Applications ;;
-      * ) carbon_appdir=${carbon_appdir_x} ;;
-    esac
+### Use NeXTstep API to implement GUI.
+if test "${HAVE_NS}" = "yes"; then
+  AC_DEFINE(HAVE_NS, 1, [Define to 1 if you are using the NeXTstep API, either GNUstep or Cocoa on Mac OS X.])
+  if test "${NS_IMPL_COCOA}" = "yes"; then
+    AC_DEFINE(NS_IMPL_COCOA, 1, [Define to 1 if you are using NS windowing under MacOS X.])
+    GNU_OBJC_CFLAGS=
+    LIB_SRC_EXTRA_INSTALLABLES=mac-fix-env
+  fi
+  if test "${NS_IMPL_GNUSTEP}" = "yes"; then
+    AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.])
+    GNU_OBJC_CFLAGS="-fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE"
+  fi
+  if test "${NS_HAVE_NSINTEGER}" = "yes"; then
+    AC_DEFINE(NS_HAVE_NSINTEGER, 1, [Define to 1 if `NSInteger' is defined.])
   fi
   # We also have mouse menus.
   HAVE_MENUS=yes
 fi
 
   fi
   # We also have mouse menus.
   HAVE_MENUS=yes
 fi
 
+
 ### Use session management (-lSM -lICE) if available
 HAVE_X_SM=no
 if test "${HAVE_X11}" = "yes"; then
 ### Use session management (-lSM -lICE) if available
 HAVE_X_SM=no
 if test "${HAVE_X11}" = "yes"; then
@@ -2306,11 +2173,12 @@ AC_CHECK_FUNCS(gethostname getdomainname dup2 \
 rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \
 random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime setsid \
 strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
 rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \
 random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime setsid \
 strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
-utimes setrlimit setpgid getcwd getwd shutdown getaddrinfo \
+utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \
 __fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \
 sendto recvfrom getsockopt setsockopt getsockname getpeername \
 gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \
 __fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \
 sendto recvfrom getsockopt setsockopt getsockname getpeername \
 gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \
-memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign)
+memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \
+cfmakeraw cfsetspeed)
 
 AC_CHECK_HEADERS(sys/un.h)
 
 
 AC_CHECK_HEADERS(sys/un.h)
 
@@ -2377,7 +2245,7 @@ if test "$have_res_init" = yes; then
 fi
 
 # Do we need the Hesiod library to provide the support routines?
 fi
 
 # Do we need the Hesiod library to provide the support routines?
-if test "$with_hesiod" = yes ; then
+if test "$with_hesiod" != no ; then
   # Don't set $LIBS here -- see comments above.
   AC_CHECK_FUNC(res_send, , [AC_CHECK_FUNC(__res_send, ,
      [AC_CHECK_LIB(resolv, res_send, resolv=yes,
   # Don't set $LIBS here -- see comments above.
   AC_CHECK_FUNC(res_send, , [AC_CHECK_FUNC(__res_send, ,
      [AC_CHECK_LIB(resolv, res_send, resolv=yes,
@@ -2400,20 +2268,22 @@ if test "$resolv" = yes ; then
 fi
 
 # These tell us which Kerberos-related libraries to use.
 fi
 
 # These tell us which Kerberos-related libraries to use.
-if test "${with_kerberos+set}" = set; then
+if test "${with_kerberos}" != no; then
   AC_CHECK_LIB(com_err, com_err)
   AC_CHECK_LIB(k5crypto, mit_des_cbc_encrypt)
   AC_CHECK_LIB(crypto, mit_des_cbc_encrypt)
   AC_CHECK_LIB(krb5, krb5_init_context)
   AC_CHECK_LIB(com_err, com_err)
   AC_CHECK_LIB(k5crypto, mit_des_cbc_encrypt)
   AC_CHECK_LIB(crypto, mit_des_cbc_encrypt)
   AC_CHECK_LIB(krb5, krb5_init_context)
-  if test "${with_kerberos5+set}" != set; then
+  if test "${with_kerberos5}" = no; then
     AC_CHECK_LIB(des425, des_cbc_encrypt,,
                 [AC_CHECK_LIB(des, des_cbc_encrypt)])
     AC_CHECK_LIB(krb4, krb_get_cred,,
                 [AC_CHECK_LIB(krb, krb_get_cred)])
   fi
 
     AC_CHECK_LIB(des425, des_cbc_encrypt,,
                 [AC_CHECK_LIB(des, des_cbc_encrypt)])
     AC_CHECK_LIB(krb4, krb_get_cred,,
                 [AC_CHECK_LIB(krb, krb_get_cred)])
   fi
 
-  if test "${with_kerberos5+set}" = set; then
-    AC_CHECK_HEADERS(krb5.h)
+  if test "${with_kerberos5}" != no; then
+    AC_CHECK_HEADERS(krb5.h,
+      [AC_CHECK_MEMBERS([krb5_error.text, krb5_error.e_text],,,
+                       [#include <krb5.h>])])
   else
     AC_CHECK_HEADERS(des.h,,
                     [AC_CHECK_HEADERS(kerberosIV/des.h,,
   else
     AC_CHECK_HEADERS(des.h,,
                     [AC_CHECK_HEADERS(kerberosIV/des.h,,
@@ -2633,7 +2503,15 @@ AC_SUBST(X_TOOLKIT_TYPE)
 AC_SUBST(machfile)
 AC_SUBST(opsysfile)
 AC_SUBST(GETLOADAVG_LIBS)
 AC_SUBST(machfile)
 AC_SUBST(opsysfile)
 AC_SUBST(GETLOADAVG_LIBS)
-AC_SUBST(carbon_appdir)
+AC_SUBST(ns_appdir)
+AC_SUBST(ns_appbindir)
+AC_SUBST(ns_appresdir)
+AC_SUBST(ns_appsrc)
+AC_SUBST(GNUSTEP_MAKEFILES)
+AC_SUBST(GNUSTEP_SYSTEM_HEADERS)
+AC_SUBST(GNUSTEP_SYSTEM_LIBRARIES)
+AC_SUBST(GNU_OBJC_CFLAGS)
+AC_SUBST(LIB_SRC_EXTRA_INSTALLABLES)
 
 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION,  "${canonical}",
                   [Define to the canonical Emacs configuration name.])
 
 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION,  "${canonical}",
                   [Define to the canonical Emacs configuration name.])
@@ -2667,9 +2545,9 @@ 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
+  if test "${USE_X_TOOLKIT}" = "LUCID"; then
     AC_DEFINE(USE_LUCID, 1, [Define to 1 if using the Lucid X toolkit.])
     AC_DEFINE(USE_LUCID, 1, [Define to 1 if using the Lucid X toolkit.])
-  elif test "${USE_X_TOOLKIT}" == "MOTIF"; then
+  elif test "${USE_X_TOOLKIT}" = "MOTIF"; then
     AC_DEFINE(USE_MOTIF, 1, [Define to 1 if using the Motif X toolkit.])
   fi
 fi
     AC_DEFINE(USE_MOTIF, 1, [Define to 1 if using the Motif X toolkit.])
   fi
 fi
@@ -2697,7 +2575,7 @@ fi
 
 AH_TOP([/* GNU Emacs site configuration template file.
    Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005,
 
 AH_TOP([/* GNU Emacs site configuration template file.
    Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005,
-     2006, 2007, 2008  Free Software Foundation, Inc.
+     2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
 
 This file is part of GNU Emacs.
 
@@ -2723,45 +2601,17 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 ])dnl
 
 AH_BOTTOM([
 ])dnl
 
 AH_BOTTOM([
-/* If we're using any sort of window system, define some consequences.  */
-#ifdef HAVE_X_WINDOWS
-#define HAVE_WINDOW_SYSTEM
-#define MULTI_KBOARD
-#define HAVE_MOUSE
-#endif
-
-/* Multi-tty support relies on MULTI_KBOARD.  It seems safe to turn it
-   on unconditionally. */
-#ifndef MULTI_KBOARD
-#define MULTI_KBOARD
-#endif
-
-/* If we're using the Carbon API on Mac OS X, define a few more
-   variables as well.  */
-#ifdef HAVE_CARBON
+/* If we're using X11/Carbon/GNUstep, define some consequences.  */
+#if defined(HAVE_X_WINDOWS) || defined(HAVE_NS)
 #define HAVE_WINDOW_SYSTEM
 #define HAVE_MOUSE
 #endif
 
 #define HAVE_WINDOW_SYSTEM
 #define HAVE_MOUSE
 #endif
 
-/* Define USER_FULL_NAME to return a string
-   that is the user's full name.
-   It can assume that the variable `pw'
-   points to the password file entry for this user.
-
-   At some sites, the pw_gecos field contains
-   the user's full name.  If neither this nor any other
-   field contains the right thing, use pw_name,
-   giving the user's login name, since that is better than nothing.  */
-#define USER_FULL_NAME pw->pw_gecos
-
 /* Define AMPERSAND_FULL_NAME if you use the convention
    that & in the full name stands for the login id.  */
 /* Turned on June 1996 supposing nobody will mind it.  */
 #define AMPERSAND_FULL_NAME
 
 /* Define AMPERSAND_FULL_NAME if you use the convention
    that & in the full name stands for the login id.  */
 /* Turned on June 1996 supposing nobody will mind it.  */
 #define AMPERSAND_FULL_NAME
 
-/* We have blockinput.h.  */
-#define DO_BLOCK_INPUT
-
 /* Define HAVE_SOUND if we have sound support.  We know it works
    and compiles only on the specified platforms.   For others,
    it probably doesn't make sense to try.  */
 /* Define HAVE_SOUND if we have sound support.  We know it works
    and compiles only on the specified platforms.   For others,
    it probably doesn't make sense to try.  */
@@ -2791,27 +2641,33 @@ AH_BOTTOM([
 #define INLINE
 #endif
 
 #define INLINE
 #endif
 
+/* `subprocesses' should be defined if you want to
+   have code for asynchronous subprocesses
+   (as used in M-x compile and M-x shell).
+   Only MSDOS does not support this (it overrides
+   this in its config_opsysfile below).  */
+
+#define subprocesses
+
 /* Include the os and machine dependent files.  */
 #include config_opsysfile
 #include config_machfile
 
 /* Include the os and machine dependent files.  */
 #include config_opsysfile
 #include config_machfile
 
-/* If no remapping takes place, static variables cannot be dumped as
-   pure, so don't worry about the `static' keyword. */
-#ifdef NO_REMAP
-#undef static
-#endif
-
-/* Define `subprocesses' should be defined if you want to
-   have code for asynchronous subprocesses
-   (as used in M-x compile and M-x shell).
-   These do not work for some USG systems yet;
-   for the ones where they work, the s/SYSTEM.h file defines this flag.  */
-
-#ifndef VMS
-#ifndef USG
-/* #define subprocesses */
-#endif
-#endif
+/* Set up some defines, C and LD flags for NeXTstep interface on GNUstep.
+  (There is probably a better place to do this, but right now the Cocoa
+   side does this in s/darwin.h and we cannot
+   parallel this exactly since GNUstep is multi-OS. */
+#ifdef HAVE_NS
+#define OTHER_FILES ns-app
+# ifdef NS_IMPL_GNUSTEP
+/* See also .m.o rule in Makefile.in */
+/* FIXME: are all these flags really needed?  Document here why.  */
+#  define C_SWITCH_X_SYSTEM -D_REENTRANT -fPIC -fno-strict-aliasing
+/* GNUstep needs a bit more pure memory.  Of the existing knobs,
+SYSTEM_PURESIZE_EXTRA seems like the least likely to cause problems.  */
+#  define SYSTEM_PURESIZE_EXTRA 30000
+# endif /* NS_IMPL_GNUSTEP */
+#endif /* HAVE_NS */
 
 /* SIGTYPE is the macro we actually use.  */
 #ifndef SIGTYPE
 
 /* SIGTYPE is the macro we actually use.  */
 #ifndef SIGTYPE
@@ -3020,15 +2876,13 @@ 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 -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 "  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}"
+
+echo "  Does Emacs use toolkit scroll bars?                     ${USE_TOOLKIT_SCROLL_BARS}"
 echo
 
 if test $USE_XASSERTS = yes; then
 echo
 
 if test $USE_XASSERTS = yes; then
@@ -3048,12 +2902,18 @@ if test "$USE_X_TOOLKIT" = GTK; then
   esac
 fi
 
   esac
 fi
 
-
-if test "$HAVE_CARBON" = "yes"; then
+if test "$HAVE_NS" = "yes"; then
    echo
    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 "You must run \"make install\" in order to test the built application.
+The installed application will go to nextstep/Emacs.app and can be
+run or moved from there."
+   if test "$EN_NS_SELF_CONTAINED" = "yes"; then
+      echo "The application will be fully self-contained."
+    else
+      echo "The lisp resources for the application will be installed under ${prefix}.
+You may need to run \"make install\" with sudo.  The application will fail
+to run if these resources are not installed."
+   fi
    echo
 fi
 
    echo
 fi
 
@@ -3069,6 +2929,16 @@ fi
 test "${exec_prefix}" != NONE &&
   exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`]
 
 test "${exec_prefix}" != NONE &&
   exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`]
 
+# Now get this: Some word that is part of the ${srcdir} directory name
+# or the ${configuration} value might, just might, happen to be an
+# identifier like `sun4' or `i386' or something, and be predefined by
+# the C preprocessor to some helpful value like 1, or maybe the empty
+# string.  Needless to say consequent macro substitutions are less
+# than conducive to the makefile finding the correct directory.
+[cpp_undefs="`echo $srcdir $configuration $canonical |
+  sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/  *$//' \
+  -e 's/  */ -U/g' -e 's/-U[0-9][^ ]*//g'`"]
+
 ## Check if the C preprocessor will convert `..' to `. .'.  If so, set
 ## CPP_NEED_TRADITIONAL to `yes' so that the code to generate Makefile
 ## from Makefile.c can correctly provide the arg `-traditional' to the
 ## Check if the C preprocessor will convert `..' to `. .'.  If so, set
 ## CPP_NEED_TRADITIONAL to `yes' so that the code to generate Makefile
 ## from Makefile.c can correctly provide the arg `-traditional' to the
@@ -3093,17 +2963,6 @@ done
 # and lib-src/Makefile from ${srcdir}/lib-src/Makefile.c
 # This must be done after src/config.h is built, since we rely on that file.
 
 # and lib-src/Makefile from ${srcdir}/lib-src/Makefile.c
 # This must be done after src/config.h is built, since we rely on that file.
 
-# Now get this: Some word that is part of the ${srcdir} directory name
-# or the ${configuration} value might, just might, happen to be an
-# identifier like `sun4' or `i386' or something, and be predefined by
-# the C preprocessor to some helpful value like 1, or maybe the empty
-# string.  Needless to say consequent macro substitutions are less
-# than conducive to the makefile finding the correct directory.
-[undefs="`echo $top_srcdir $configuration $canonical |
-sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/  *$//' \
-    -e 's/  */ -U/g' -e 's/-U[0-9][^ ]*//g' \
-`"]
-
 echo creating src/epaths.h
 ${MAKE-make} epaths-force
 
 echo creating src/epaths.h
 ${MAKE-make} epaths-force
 
@@ -3122,7 +2981,7 @@ echo creating lib-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
-  $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
+  $CPP $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
   rm -f junk.c junk1.c junk2.c
       sed -e 's/^ /    /' -e '/^#/d' -e '/^[   \f]*$/d' > junk2.c
   cat junk1.c junk2.c > Makefile.new
   rm -f junk.c junk1.c junk2.c
@@ -3138,7 +2997,7 @@ 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
-  $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
+  $CPP $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
   rm -f junk.c junk1.c junk2.c
       sed -e 's/^ /    /' -e '/^#/d' -e '/^[   \f]*$/d' > junk2.c
   cat junk1.c junk2.c > Makefile.new
   rm -f junk.c junk1.c junk2.c
@@ -3151,10 +3010,7 @@ if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then
   echo source $srcdir/src/.gdbinit > src/.gdbinit
 fi
 
   echo source $srcdir/src/.gdbinit > src/.gdbinit
 fi
 
-# This is how we know whether to re-run configure in certain cases.
-touch src/config.stamp
-
-], [GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPP_NEED_TRADITIONAL="$CPP_NEED_TRADITIONAL" CPPFLAGS="$CPPFLAGS"])
+], [GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPP_NEED_TRADITIONAL="$CPP_NEED_TRADITIONAL" CPPFLAGS="$CPPFLAGS" cpp_undefs="$cpp_undefs"])
 
 m4_if(dnl      Do not change this comment
    arch-tag: 156a4dd5-bddc-4d18-96ac-f37742cf6a5e
 
 m4_if(dnl      Do not change this comment
    arch-tag: 156a4dd5-bddc-4d18-96ac-f37742cf6a5e