Correct buggy dispatch logic.
[bpt/emacs.git] / configure.in
index 0c4ab12..2e3aa63 100644 (file)
@@ -24,7 +24,7 @@ dnl  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 dnl  Boston, MA 02110-1301, USA.
 
 AC_PREREQ(2.61)dnl
-AC_INIT(emacs, 23.0.50)
+AC_INIT(emacs, 23.0.60)
 AC_CONFIG_HEADER(src/config.h:src/config.in)
 AC_CONFIG_SRCDIR(src/lisp.h)
 
@@ -99,6 +99,11 @@ fi
 
 OPTION_DEFAULT_ON([sound],[don't compile with sound support])
 
+OPTION_DEFAULT_ON([sync-input],[Process async input synchronously])
+if test "$with_sync_input" = yes; then
+   AC_DEFINE(SYNC_INPUT, 1, [Process async input synchronously.])
+fi
+
 dnl FIXME currently it is not the last.
 dnl This should be the last --with option, because --with-x is
 dnl added later on when we find the path of X, and it's best to
@@ -143,6 +148,11 @@ OPTION_DEFAULT_OFF([carbon],[use Carbon GUI on Mac OS X.  This is unsupported!])
 OPTION_DEFAULT_ON([gpm],[don't use -lgpm for mouse support on a GNU/Linux console])
 OPTION_DEFAULT_ON([dbus],[don't compile with D-Bus support])
 
+## For the times when you want to build Emacs but don't have
+## a suitable makeinfo, and can live without the manuals.
+dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html
+OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manuals])
+
 dnl Can remove these in Emacs 24.
 AC_ARG_WITH([gtk],,
   AC_MSG_ERROR([--with-gtk has been removed.  Use --with-x-toolkit to
@@ -764,7 +774,7 @@ case "${machine}" in
 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 | hpux10-20 | aix3-1 | aix3-2-5 | aix3-2 | aix4-1 | nextstep | ux4800 | uxpds | uxpv )
+     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."
@@ -846,8 +856,7 @@ then
 fi
 
 dnl checks for Unix variants
-AC_AIX
-AC_GNU_SOURCE
+AC_USE_SYSTEM_EXTENSIONS
 
 ### Use -Wno-pointer-sign if the compiler supports it
 AC_MSG_CHECKING([whether gcc understands -Wno-pointer-sign])
@@ -887,10 +896,22 @@ if test "$MAKEINFO" != "no" && \
    MAKEINFO=no
 fi
 
-if test "$MAKEINFO" = "no"; then
-  AC_MSG_ERROR( [makeinfo >= 4.6 is required] )
-fi
+if test "$MAKEINFO" = "no" && test "x${with_makeinfo}" != "xno"; then
+
+   if test -e $srcdir/info/emacs; then
+      gotinfo="seems"
+   else
+      gotinfo="does NOT seem"
+   fi
 
+  AC_MSG_ERROR( [You do not seem to have makeinfo >= 4.6.
+You will not be able to build the Emacs manuals.
+In Emacs releases, they are prebuilt, so this might not be a problem.
+Your source tree $gotinfo to have manuals in the `info' directory.
+Either install a suitable version of makeinfo, or re-run configure
+with the `--without-makeinfo' option.] )
+
+fi
 
 dnl Add our options to ac_link now, after it is set up.
 
@@ -1335,6 +1356,16 @@ else
   window_system=x11
 fi
 
+## Workaround for bug in autoconf <= 2.62.
+## http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01551.html
+## No need to do anything special for these standard directories.
+## This is an experiment, take it out if it causes problems.
+if test -n "${x_libraries}" && test x"${x_libraries}" != xNONE; then
+   
+   x_libraries=`echo :${x_libraries}: | sed -e 's|:/usr/lib64:|:|g' -e 's|:/lib64:|:|g' -e 's|^:||' -e 's|:$||'`
+
+fi
+
 if test "${x_libraries}" != NONE; then
   if test -n "${x_libraries}"; then
     LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
@@ -1665,7 +1696,7 @@ if test x"$pkg_check_gtk" = xyes; then
     fi
   else
     HAVE_GTK=yes
-    AC_DEFINE(HAVE_GTK, 1, [Define to 1 if using GTK.])
+    AC_DEFINE(USE_GTK, 1, [Define to 1 if using GTK.])
     USE_X_TOOLKIT=none
     if $PKG_CONFIG --atleast-version=2.10 gtk+-2.0; then
       :
@@ -1949,25 +1980,21 @@ either XPointer or XPointer*.])dnl
   CFLAGS=$late_CFLAGS
 fi
 
-#### For font-backend
-if test "${USE_FONT_BACKEND}" != "no"; then
+### Start of font-backend section.
+if test "${HAVE_X11}" != "yes"; then
+  USE_FONT_BACKEND=no
+fi
 
-AC_DEFINE(USE_FONT_BACKEND, 1,
-          [Define to 1 if we should use font-backend.])
+if test "${USE_FONT_BACKEND}" = "yes"; then
+  AC_DEFINE(USE_FONT_BACKEND, 1, [Define to 1 if we should use font-backend.])
 
-### Use -lXft if available, unless `--with-freetype=no' nor `--with-xft=no'.
-HAVE_XFT=maybe
-if test "${HAVE_X11}" = "yes"; then
+  ## Use -lXft if available, unless `--with-freetype=no' nor `--with-xft=no'.
+  HAVE_XFT=maybe
   if test "x${with_freetype}" = "xno"; then
     with_xft="no";
   fi
   if test "x${with_xft}" != "xno"; then
 
-    dnl Check if --with-pkg-config-prog has been given.
-    if test "X${with_pkg_config_prog}" != X; then
-      PKG_CONFIG="${with_pkg_config_prog}"
-    fi
-
     PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no)
     if test "$HAVE_XFT" != no; then
       OLD_CPPFLAGS="$CPPFLAGS"
@@ -1987,82 +2014,68 @@ if test "${HAVE_X11}" = "yes"; then
         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)
+    if test "${HAVE_FREETYPE}" = "yes"; then
+      PKG_CHECK_MODULES(FONTCONFIG, fontconfig, HAVE_FC=yes, HAVE_FC=no)
+      if test "${HAVE_FC}" = "no"; then
+        dnl Without fontconfig, we can't use freetype at the moment.
+        HAVE_FREETYPE=no
       fi
     fi
   fi
-fi
-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
-  dnl Check if --with-pkg-config-prog has been given.
-  if test "X${with_pkg_config_prog}" != X; then
-    PKG_CONFIG="${with_pkg_config_prog}"
-  fi
-
-  PKG_CHECK_MODULES(FREETYPE, freetype2, HAVE_FREETYPE=yes, HAVE_FREETYPE=no)
+  
+  HAVE_LIBOTF=no
   if test "${HAVE_FREETYPE}" = "yes"; then
-    PKG_CHECK_MODULES(FONTCONFIG, fontconfig, HAVE_FC=yes, HAVE_FC=no)
-    if test "${HAVE_FC}" = "no"; then
-      dnl Witout fontconfig, we can't use freetype at the moment.
-      HAVE_FREETYPE=no
+    AC_DEFINE(HAVE_FREETYPE, 1,
+              [Define to 1 if using the freetype and fontconfig libraries.])
+    if test "${with_libotf}" != "no"; then
+      PKG_CHECK_MODULES(LIBOTF, libotf, HAVE_LIBOTF=yes, 
+                        HAVE_LIBOTF=no)
+      if test "$HAVE_LIBOTF" = "yes"; then
+        AC_DEFINE(HAVE_LIBOTF, 1, [Define to 1 if using libotf.])
+      fi
     fi
+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
-
-HAVE_LIBOTF=no
-if test "${HAVE_FREETYPE}" = "yes"; then
-  AC_DEFINE(HAVE_FREETYPE, 1,
-            [Define to 1 if you have freetype and fontconfig libraries.])
-  if test "${with_libotf}" != "no"; then
-    dnl Check if --with-pkg-config-prog has been given.
-    if test "X${with_pkg_config_prog}" != X; then
-      PKG_CONFIG="${with_pkg_config_prog}"
-    fi
-    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 you have libotf library.])
+  
+  HAVE_M17N_FLT=no
+  if test "${with_m17n_flt}" != "no"; then
+    PKG_CHECK_MODULES(M17N_FLT, m17n-flt, HAVE_M17N_FLT=yes, HAVE_M17N_FLT=no)
+    if test "$HAVE_M17N_FLT" = "yes"; then
+      AC_DEFINE(HAVE_M17N_FLT, 1, [Define to 1 if using libm17n-flt.])
     fi
   fi
-fi
-
-HAVE_M17N_FLT=no
-if test "${with_m17n_flt}" != "no"; then
-  dnl Check if --with-pkg-config-prog has been given.
-  if test "X${with_pkg_config_prog}" != X; then
-    PKG_CONFIG="${with_pkg_config_prog}"
-  fi
-  dnl Checks for libraries.
-  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 you have m17n-flt library.])
-  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
-#### End for font-backend
+  
+  AC_SUBST(FREETYPE_CFLAGS)
+  AC_SUBST(FREETYPE_LIBS)
+  AC_SUBST(FONTCONFIG_CFLAGS)
+  AC_SUBST(FONTCONFIG_LIBS)
+  AC_SUBST(LIBOTF_CFLAGS)
+  AC_SUBST(LIBOTF_LIBS)
+  AC_SUBST(M17N_FLT_CFLAGS)
+  AC_SUBST(M17N_FLT_LIBS)
+  
+fi                              # "${USE_FONT_BACKEND}" = "yes"
+### End of font-backend section.
 
 ### Use -lXpm if available, unless `--with-xpm=no'.
 HAVE_XPM=no
@@ -2217,6 +2230,7 @@ AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to
 ### Use Mac OS X Carbon API to implement GUI.
 if test "${HAVE_CARBON}" = "yes"; then
   AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.])
+  AC_CHECK_HEADERS(AvailabilityMacros.h)
   ## Specify the install directory
   carbon_appdir=
   if test "${carbon_appdir_x}" != ""; then
@@ -2655,6 +2669,11 @@ 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.])
+  if test "${USE_X_TOOLKIT}" == "LUCID"; then
+    AC_DEFINE(USE_LUCID, 1, [Define to 1 if using the Lucid X toolkit.])
+  elif test "${USE_X_TOOLKIT}" == "MOTIF"; then
+    AC_DEFINE(USE_MOTIF, 1, [Define to 1 if using the Motif X toolkit.])
+  fi
 fi
 if test "${HAVE_X11}" = "yes" ; then
   AC_DEFINE(HAVE_X11, 1,
@@ -3019,9 +3038,10 @@ echo
 if test $USE_XASSERTS = yes; then
    echo "  Compiling with asserts turned on."
    CPPFLAGS="$CPPFLAGS -DXASSERTS=1"
-   echo
 fi
 
+echo
+
 if test "$USE_X_TOOLKIT" = GTK; then
   case "$canonical" in
   *cygwin*)
@@ -3122,11 +3142,6 @@ echo creating src/Makefile
   sed -e '1,/start of cpp stuff/d'\
       -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
       < Makefile.c > junk.c
-  if test -f ${srcdir}/admin/unidata/UnicodeData.txt; then
-    echo creating ${srcdir}/admin/unidata/Makefile
-    cp ${srcdir}/admin/unidata/Makefile.in ${srcdir}/admin/unidata/Makefile
-    CPPFLAGS="$CPPFLAGS -DHAVE_UNIDATA"
-  fi
   $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
       sed -e 's/^ /    /' -e '/^#/d' -e '/^[   \f]*$/d' > junk2.c
   cat junk1.c junk2.c > Makefile.new