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 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.93)
AC_CONFIG_HEADER(src/config.h:src/config.in)
AC_CONFIG_SRCDIR(src/lisp.h)
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
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])
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],
arm-*-netbsd*) machine=arm ;;
x86_64-*-netbsd*) machine=amdx86-64 ;;
hppa-*-netbsd*) machine=hp800 ;;
+ m68k-*-netbsd*) machine=m68k ;;
esac
;;
sparc*-*-openbsd*) machine=sparc ;;
vax-*-openbsd*) machine=vax ;;
x86_64-*-openbsd*) machine=amdx86-64 ;;
+ hppa-*-openbsd*) machine=hp800 ;;
esac
;;
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
;;
;;
*-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 ;;
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
;;
## 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=xtensa opsys=gnu-linux
;;
+ ## SuperH Linux-based GNU system
+ sh[34]*-*-linux-gnu* )
+ machine=sh3 opsys=gnu-linux
+ ;;
+
* )
unported=yes
;;
### 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
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;])],
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
### 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_REQUIRED=2.11.0
RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
PKG_CHECK_MODULES(RSVG, $RSVG_MODULE, :, :)
[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
- 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 If gdk_display_open exists, assume all others are there also.
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
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"; 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
- 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)
- 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
-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
-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
+### End of font-backend (under X11) section.
AC_SUBST(FREETYPE_CFLAGS)
AC_SUBST(FREETYPE_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
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"
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)
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.
#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
#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
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