]> code.delx.au - gnu-emacs/blobdiff - configure.in
* syntax.c (Fchar_syntax): Minor doc fix (Bug#119).
[gnu-emacs] / configure.in
index b1fccfde9df90f3f138a60431c21a28ba426db30..81f632c13b2e6ed1c7a6c85f338bf61fccfd2ae4 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
@@ -12,17 +12,17 @@ dnl  GNU Emacs is free software: you can redistribute it and/or modify
 dnl  it under the terms of the GNU General Public License as published by
 dnl  the Free Software Foundation, either version 3 of the License, or
 dnl  (at your option) any later version.
 dnl  it under the terms of the GNU General Public License as published by
 dnl  the Free Software Foundation, either version 3 of the License, or
 dnl  (at your option) any later version.
-dnl  
+dnl
 dnl  GNU Emacs is distributed in the hope that it will be useful,
 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl  GNU General Public License for more details.
 dnl  GNU Emacs is distributed in the hope that it will be useful,
 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl  GNU General Public License for more details.
-dnl  
+dnl
 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)
-AC_INIT(emacs, 23.0.60)
+AC_PREREQ(2.62)
+AC_INIT(emacs, 23.1.50)
 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)
 
@@ -97,7 +97,7 @@ fi
 
 OPTION_DEFAULT_ON([sound],[don't compile with sound support])
 
 
 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])
@@ -162,18 +161,19 @@ 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(cocoa-experimental-ctrl-g,
-[AS_HELP_STRING([--enable-cocoa-experimental-ctrl-g],
-                [enable experimental improved ctrl-g recognition])],
-   EN_COCOA_EXPERIMENTAL_CTRL_G=$enableval,
-   EN_COCOA_EXPERIMENTAL_CTRL_G=no)
+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
 
 AC_ARG_ENABLE(ns-self-contained,
 [AS_HELP_STRING([--disable-ns-self-contained],
 
 AC_ARG_ENABLE(ns-self-contained,
 [AS_HELP_STRING([--disable-ns-self-contained],
@@ -209,6 +209,83 @@ elif test "${enableval}" != "yes"; then
   locallisppath=${enableval}
 fi)
 
   locallisppath=${enableval}
 fi)
 
+AC_ARG_ENABLE(checking,
+[AS_HELP_STRING([--enable-checking@<:@=LIST@:>@],
+               [enable expensive run-time checks.  With LIST,
+                enable only specific categories of checks.
+                Categories are: all,yes,no.
+                Flags are: stringbytes, stringoverrun, stringfreelist,
+                xmallocoverrun, conslist])],
+[ac_checking_flags="${enableval}"],[])
+IFS="${IFS=    }"; ac_save_IFS="$IFS"; IFS="$IFS,"
+for check in $ac_checking_flags
+do
+       case $check in
+       # these set all the flags to specific states
+       yes)            ac_enable_checking=1 ;;
+       no)             ac_enable_checking= ;
+                       ac_gc_check_stringbytes= ;
+                       ac_gc_check_string_overrun= ;
+                       ac_gc_check_string_free_list= ;
+                       ac_xmalloc_overrun= ;
+                       ac_gc_check_cons_list= ;;
+       all)            ac_enable_checking=1 ;
+                       ac_gc_check_stringbytes=1 ;
+                       ac_gc_check_string_overrun=1 ;
+                       ac_gc_check_string_free_list=1 ;
+                       ac_xmalloc_overrun=1 ;
+                       ac_gc_check_cons_list=1 ;;
+       # these enable particular checks
+       stringbytes)    ac_gc_check_stringbytes=1 ;;
+       stringoverrun)  ac_gc_check_string_overrun=1 ;;
+       stringfreelist) ac_gc_check_string_free_list=1 ;;
+       xmallocoverrun) ac_xmalloc_overrun=1 ;;
+       conslist)       ac_gc_check_cons_list=1 ;;
+       *)      AC_MSG_ERROR(unknown check category $check) ;;
+       esac
+done
+IFS="$ac_save_IFS"
+
+if test x$ac_enable_checking != x ; then
+  AC_DEFINE(ENABLE_CHECKING, 1,
+[Enable expensive run-time checking of data types?])
+fi
+if test x$ac_gc_check_stringbytes != x ; then
+  AC_DEFINE(GC_CHECK_STRING_BYTES, 1,
+[Define this temporarily to hunt a bug.  If defined, the size of
+   strings is redundantly recorded in sdata structures so that it can
+   be compared to the sizes recorded in Lisp strings.])
+fi
+if test x$ac_gc_check_stringoverrun != x ; then
+  AC_DEFINE(GC_CHECK_STRING_OVERRUN, 1,
+[Define this to check for short string overrun.])
+fi
+if test x$ac_gc_check_string_free_list != x ; then
+  AC_DEFINE(GC_CHECK_STRING_FREE_LIST, 1,
+[Define this to check the string free list.])
+fi
+if test x$ac_xmalloc_overrun != x ; then
+  AC_DEFINE(XMALLOC_OVERRUN_CHECK, 1,
+[Define this to check for malloc buffer overrun.])
+fi
+if test x$ac_gc_check_cons_list != x ; then
+  AC_DEFINE(GC_CHECK_CONS_LIST, 1,
+[Define this to check for errors in cons list.])
+fi
+
+AC_ARG_ENABLE(profiling,
+[AS_HELP_STRING([--enable-profiling],
+               [build emacs with profiling support.
+                This might not work on all platforms])],
+[ac_enable_profiling="${enableval}"],[])
+if test x$ac_enable_profiling != x ; then
+   PROFILING_CFLAGS="-DPROFILING=1 -pg"
+   PROFILING_LDFLAGS="-pg"
+else
+   PROFILING_CFLAGS=
+   PROFILING_LDFLAGS=
+fi
+
 #### Make srcdir absolute, if it isn't already.  It's important to
 #### avoid running the path through pwd unnecessarily, since pwd can
 #### give you automounter prefixes, which can go away.  We do all this
 #### Make srcdir absolute, if it isn't already.  It's important to
 #### avoid running the path through pwd unnecessarily, since pwd can
 #### give you automounter prefixes, which can go away.  We do all this
@@ -329,12 +406,16 @@ 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 ;;
+      mips-*-netbsd*)  machine=mips ;;
+      mipsel-*-netbsd*)        machine=mips ;;
+      mipseb-*-netbsd*)        machine=mips ;;
       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,6 +430,7 @@ dnl see the `changequote' comment above.
       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 ;;
+      hppa-*-openbsd*)         machine=hp800 ;;
     esac
   ;;
 
     esac
   ;;
 
@@ -416,7 +498,7 @@ 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
   ;;
 
@@ -442,8 +524,9 @@ dnl see the `changequote' comment above.
   ;;
 
   *-sun-solaris* \
   ;;
 
   *-sun-solaris* \
-    | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
-    | rs6000-*-solaris2*)
+    | 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 ;;
@@ -471,11 +554,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
                ;;
+      *-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
@@ -526,7 +614,8 @@ 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
   ;;
 
@@ -540,6 +629,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
   ;;
@@ -850,7 +944,7 @@ configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
 
 /* Get the CFLAGS for real compilation.  */
 #ifdef __GNUC__
 
 /* Get the CFLAGS for real compilation.  */
 #ifdef __GNUC__
-configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH '${SPECIFIED_CFLAGS}'
+configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH ${PROFILING_CFLAGS} '${SPECIFIED_CFLAGS}'
 #else
 configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
 #endif
 #else
 configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
 #endif
@@ -858,6 +952,8 @@ configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
 #endif /* not THIS_IS_CONFIGURE */
 ' > ${tempcname}
 
 #endif /* not THIS_IS_CONFIGURE */
 ' > ${tempcname}
 
+LDFLAGS="${LDFLAGS} ${PROFILING_LDFLAGS}"
+
 # The value of CPP is a quoted variable reference, so we need to do this
 # to get its actual value...
 CPP=`eval "echo $CPP"`
 # The value of CPP is a quoted variable reference, so we need to do this
 # to get its actual value...
 CPP=`eval "echo $CPP"`
@@ -890,9 +986,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
@@ -1156,7 +1254,7 @@ fi
 ## 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
 ## 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
    x_libraries=`echo :${x_libraries}: | sed -e 's|:/usr/lib64:|:|g' -e 's|:/lib64:|:|g' -e 's|^:||' -e 's|:$||'`
 
 fi
@@ -1223,21 +1321,24 @@ if test "${with_ns}" != no; then
      ns_appbindir=`pwd`/nextstep/Emacs.app/Contents/MacOS
      ns_appresdir=`pwd`/nextstep/Emacs.app/Contents/Resources
      ns_appsrc=${srcdir}/nextstep/Cocoa/Emacs.base
      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 /etc/GNUstep/GNUstep.conf; then
+  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
      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
-     GNUSTEP_MAKEFILES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_MAKEFILES)"
-     GNUSTEP_SYSTEM_HEADERS="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_HEADERS)"
-     GNUSTEP_SYSTEM_LIBRARIES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_LIBRARIES)"
+     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
      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_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
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <Foundation/NSObjCRuntime.h>],
                                      [NSInteger i;])],
@@ -1250,7 +1351,6 @@ fi
 if test "${HAVE_NS}" = yes; then
   window_system=nextstep
   with_xft=no
 if test "${HAVE_NS}" = yes; then
   window_system=nextstep
   with_xft=no
-  with_freetype=no
   # set up packaging dirs
   exec_prefix=${ns_appbindir}
   libexecdir=${ns_appbindir}/libexec
   # set up packaging dirs
   exec_prefix=${ns_appbindir}
   libexecdir=${ns_appbindir}/libexec
@@ -1471,9 +1571,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"; 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, :, :)
@@ -1553,15 +1653,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
@@ -1595,7 +1708,9 @@ 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
 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.])
+     LIBS="$LIBS $DBUS_LIBS"
+     AC_DEFINE(HAVE_DBUS, 1, [Define to 1 if using D-Bus.])
+     AC_CHECK_FUNCS([dbus_watch_get_unix_fd])
    fi
 fi
 
    fi
 fi
 
@@ -1804,84 +1919,99 @@ either XPointer or XPointer*.])dnl
   CFLAGS=$late_CFLAGS
 fi
 
   CFLAGS=$late_CFLAGS
 fi
 
-### Start of font-backend section.
+### Start of font-backend (under any platform) section.
+# (nothing here yet -- this is a placeholder)
+### End of font-backend (under any platform) section.
 
 
-## Use -lXft if available, unless `--with-freetype=no' nor `--with-xft=no'.
-HAVE_XFT=maybe
-if test "x${with_freetype}" = "xno" || test "x${with_x}" = "xno"; then
-  with_xft="no";
-fi
-if test "x${with_xft}" != "xno"; then
+### 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)
+
+   ## 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
 
 
-  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))
 
 
+    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
     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" && test "x${with_x}" != "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
+      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
     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_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.])
+         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
+    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
-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
+    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
+else
+    HAVE_XFT=no
+    HAVE_FREETYPE=no
+    HAVE_LIBOTF=no
+    HAVE_M17N_FLT=no
 fi
 fi
+### End of font-backend (under X11) section.
 
 AC_SUBST(FREETYPE_CFLAGS)
 AC_SUBST(FREETYPE_LIBS)
 
 AC_SUBST(FREETYPE_CFLAGS)
 AC_SUBST(FREETYPE_LIBS)
@@ -1892,8 +2022,6 @@ AC_SUBST(LIBOTF_LIBS)
 AC_SUBST(M17N_FLT_CFLAGS)
 AC_SUBST(M17N_FLT_LIBS)
 
 AC_SUBST(M17N_FLT_CFLAGS)
 AC_SUBST(M17N_FLT_LIBS)
 
-### End of font-backend section.
-
 ### Use -lXpm if available, unless `--with-xpm=no'.
 HAVE_XPM=no
 if test "${HAVE_X11}" = "yes"; then
 ### Use -lXpm if available, unless `--with-xpm=no'.
 HAVE_XPM=no
 if test "${HAVE_X11}" = "yes"; then
@@ -2050,10 +2178,6 @@ if test "${HAVE_NS}" = "yes"; then
   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=
   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 "${EN_COCOA_EXPERIMENTAL_CTRL_G}" = "yes"; then
-    AC_DEFINE(COCOA_EXPERIMENTAL_CTRL_G, 1, [Define to 1 if you are trying experimental enhanced Ctrl-g support using NS windowing under MacOS X.])
   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.])
   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.])
@@ -2064,6 +2188,7 @@ if test "${HAVE_NS}" = "yes"; then
   fi
   # We also have mouse menus.
   HAVE_MENUS=yes
   fi
   # We also have mouse menus.
   HAVE_MENUS=yes
+  OTHER_FILES=ns-app
 fi
 
 
 fi
 
 
@@ -2427,6 +2552,9 @@ CPPFLAGS="$REAL_CPPFLAGS"
 if test x"${version}" = x; then
   AC_MSG_ERROR([can't find current emacs version in `${srcdir}/lisp/version.el'.])
 fi
 if test x"${version}" = x; then
   AC_MSG_ERROR([can't find current emacs version in `${srcdir}/lisp/version.el'.])
 fi
+if test x"${version}" != x"$PACKAGE_VERSION"; then
+  AC_MSG_WARN([version mismatch between `${srcdir}/configure.in' and `${srcdir}/lisp/version.el'.])
+fi
 
 ### Specify what sort of things we'll be editing into Makefile and config.h.
 ### Use configuration here uncanonicalized to avoid exceeding size limits.
 
 ### Specify what sort of things we'll be editing into Makefile and config.h.
 ### Use configuration here uncanonicalized to avoid exceeding size limits.
@@ -2471,6 +2599,7 @@ AC_SUBST(GNUSTEP_SYSTEM_HEADERS)
 AC_SUBST(GNUSTEP_SYSTEM_LIBRARIES)
 AC_SUBST(GNU_OBJC_CFLAGS)
 AC_SUBST(LIB_SRC_EXTRA_INSTALLABLES)
 AC_SUBST(GNUSTEP_SYSTEM_LIBRARIES)
 AC_SUBST(GNU_OBJC_CFLAGS)
 AC_SUBST(LIB_SRC_EXTRA_INSTALLABLES)
+AC_SUBST(OTHER_FILES)
 
 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.])
@@ -2534,7 +2663,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.
 
@@ -2566,11 +2695,6 @@ AH_BOTTOM([
 #define HAVE_MOUSE
 #endif
 
 #define HAVE_MOUSE
 #endif
 
-/* Sadly for now, GNUstep dump does not work.  */
-#ifdef NS_IMPL_GNUSTEP
-#define CANNOT_DUMP
-#endif
-
 /* 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 if you use the convention
    that & in the full name stands for the login id.  */
 /* Turned on June 1996 supposing nobody will mind it.  */
@@ -2622,12 +2746,11 @@ AH_BOTTOM([
    side does this in s/darwin.h and we cannot
    parallel this exactly since GNUstep is multi-OS. */
 #ifdef HAVE_NS
    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
 # 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,
+/* 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 */
 SYSTEM_PURESIZE_EXTRA seems like the least likely to cause problems.  */
 #  define SYSTEM_PURESIZE_EXTRA 30000
 # endif /* NS_IMPL_GNUSTEP */
@@ -2754,9 +2877,6 @@ typedef unsigned size_t;
 #define HAVE_X11R6_XIM
 #endif
 
 #define HAVE_X11R6_XIM
 #endif
 
-/* Should we enable expensive run-time checking of data types?  */
-#undef ENABLE_CHECKING
-
 #if defined __GNUC__ && (__GNUC__ > 2 \
                          || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5))
 #define NO_RETURN      __attribute__ ((__noreturn__))
 #if defined __GNUC__ && (__GNUC__ > 2 \
                          || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5))
 #define NO_RETURN      __attribute__ ((__noreturn__))
@@ -2846,7 +2966,7 @@ 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 -lotf?                                   ${HAVE_LIBOTF}"
 echo "  Does Emacs use -lxft?                                   ${HAVE_XFT}"
 
-echo "  Does Emacs use X toolkit scroll bars?                   ${USE_TOOLKIT_SCROLL_BARS}"
+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