*** empty log message ***
[bpt/emacs.git] / configure.in
index e6b5ea3..0cb19a4 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    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
@@ -22,7 +22,7 @@ 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_INIT(emacs, 23.0.90)
 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([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
@@ -162,18 +162,19 @@ variable to specify a compiler.])],,)
 
 AC_ARG_WITH([pkg-config-prog],dnl
 [AS_HELP_STRING([--with-pkg-config-prog=PATH],
-                  [Path to pkg-config for finding GTK and librsvg])])
+                  [path to pkg-config for finding GTK and librsvg])])
 if test "X${with_pkg_config_prog}" != X; then
    if test "${with_pkg_config_prog}" != yes; then
       PKG_CONFIG="${with_pkg_config_prog}"
    fi
 fi
 
-AC_ARG_ENABLE(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],
@@ -335,6 +336,7 @@ dnl see the `changequote' comment above.
       arm-*-netbsd*)   machine=arm ;;
       x86_64-*-netbsd*)        machine=amdx86-64 ;;
       hppa-*-netbsd*)  machine=hp800 ;;
+      m68k-*-netbsd*)  machine=m68k ;;
     esac
   ;;
 
@@ -349,6 +351,7 @@ dnl see the `changequote' comment above.
       sparc*-*-openbsd*)       machine=sparc ;;
       vax-*-openbsd*)          machine=vax ;;
       x86_64-*-openbsd*)       machine=amdx86-64 ;;
+      hppa-*-openbsd*)         machine=hp800 ;;
     esac
   ;;
 
@@ -442,8 +445,9 @@ dnl see the `changequote' comment above.
   ;;
 
   *-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 ;;
@@ -471,11 +475,16 @@ dnl see the `changequote' comment above.
                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
                ;;
+      *-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
@@ -526,7 +535,8 @@ dnl see the `changequote' comment above.
   ;;
 
   ## 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
   ;;
 
@@ -540,6 +550,11 @@ dnl see the `changequote' comment above.
     machine=xtensa opsys=gnu-linux
     ;;
 
+  ## SuperH Linux-based GNU system
+  sh[34]*-*-linux-gnu* )
+    machine=sh3 opsys=gnu-linux
+  ;;
+
   * )
     unported=yes
   ;;
@@ -890,9 +905,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.
+### 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* )
-    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
@@ -1223,21 +1240,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
-  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
-     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
-  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;])],
@@ -1471,7 +1491,7 @@ fi
 
 ### 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
     RSVG_REQUIRED=2.0.0
     RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
@@ -1805,10 +1825,12 @@ either XPointer or XPointer*.])dnl
 fi
 
 ### Start of font-backend section.
+PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.2.0, HAVE_FC=yes, HAVE_FC=no)
+test "${HAVE_FC}" = "no" && with_freetype=no
 
 ## Use -lXft if available, unless `--with-freetype=no' nor `--with-xft=no'.
 HAVE_XFT=maybe
-if test "x${with_freetype}" = "xno"; then
+if test "x${with_freetype}" = "xno" || test "x${with_x}" = "xno"; then
   with_xft="no";
 fi
 if test "x${with_xft}" != "xno"; then
@@ -1848,16 +1870,11 @@ 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
+  FONTCONFIG_CFLAGS=
+  FONTCONFIG_LIBS=
+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
-    fi
-  fi
 fi
 
 HAVE_LIBOTF=no
@@ -1869,6 +1886,13 @@ if test "${HAVE_FREETYPE}" = "yes"; then
                       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?
@@ -1876,10 +1900,12 @@ 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.])
+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
 
@@ -2052,9 +2078,6 @@ if test "${HAVE_NS}" = "yes"; then
     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.])
     GNU_OBJC_CFLAGS="-fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE"
@@ -2467,6 +2490,8 @@ 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)
 
@@ -2532,7 +2557,7 @@ fi
 
 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.
 
@@ -2603,6 +2628,14 @@ AH_BOTTOM([
 #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
@@ -2615,17 +2648,14 @@ AH_BOTTOM([
 #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 */
 
-/* `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.  */
-
-#define subprocesses
-
 /* SIGTYPE is the macro we actually use.  */
 #ifndef SIGTYPE
 #define SIGTYPE RETSIGTYPE
@@ -2839,7 +2869,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 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