X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/edfda78355c5528eee489fa8a7f9c73bf8e734f2..820c1f5036091d13efecc971b8e01005e07f1504:/configure.in diff --git a/configure.in b/configure.in index 92d617c0b3..35310ccfa2 100644 --- a/configure.in +++ b/configure.in @@ -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 . AC_PREREQ(2.61) -AC_INIT(emacs, 23.0.60) +AC_INIT(emacs, 23.0.94) 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]) -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]) -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 @@ -91,13 +91,13 @@ if test "${with_kerberos5}" = yes; then 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]) -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 @@ -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([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]) @@ -141,7 +140,6 @@ 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_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]) @@ -154,37 +152,34 @@ 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 -specify a toolkit.]),,) + [AC_MSG_ERROR([--with-gtk has been removed. Use --with-x-toolkit to +specify a toolkit.])],,) 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], - [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(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 -AC_ARG_ENABLE(ns-app, -[[ --enable-ns-app[=DIR] [DIR=/Applications] - specify install directory for Emacs.app under NS]], -[ ns_appdir_x=${enableval}]) - -AC_ARG_ENABLE(cocoa-experimental-ctrl-g, -[ --enable-cocoa-experimental-ctrl-g enable experimental improved ctrl-g recognition], - EN_COCOA_EXPERIMENTAL_CTRL_G=yes, - EN_COCOA_EXPERIMENTAL_CTRL_G=no) +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])], @@ -294,7 +289,7 @@ machine='' opsys='' unported=no case "${canonical}" in ## FreeBSD ports - *-*-*freebsd* ) + *-*-freebsd* ) opsys=freebsd case "${canonical}" in alpha*-*-freebsd*) machine=alpha ;; @@ -304,7 +299,7 @@ case "${canonical}" in sparc64-*-freebsd*) machine=sparc ;; powerpc-*-freebsd*) machine=macppc ;; i[3456]86-*-freebsd*) machine=intel386 ;; - amd64-*-freebsd*|x86_64-*-*freebsd*) machine=amdx86-64 ;; + amd64-*-freebsd*|x86_64-*-freebsd*) machine=amdx86-64 ;; esac ;; @@ -340,6 +335,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 ;; @@ -354,6 +350,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 ;; @@ -421,7 +418,7 @@ dnl see the `changequote' comment above. 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 ;; @@ -447,8 +444,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 ;; @@ -476,11 +474,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 @@ -531,7 +534,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 ;; @@ -545,6 +549,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 ;; @@ -895,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. +### 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 @@ -1214,66 +1225,56 @@ else 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 - fi -fi -if test "${HAVE_CARBON}" = yes; then - window_system=mac -fi - HAVE_NS=no -COCOA=no -GNUSTEP=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 - COCOA=yes - elif test -f /etc/GNUstep/GNUstep.conf; then - GNUSTEP=yes - GNUSTEP_SYSTEM_HEADERS="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_HEADERS)" - GNUSTEP_SYSTEM_LIBRARIES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_LIBRARIES)" + 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) -fi -if test "${window_system}" = x11 && test "${HAVE_NS}" = yes; then - if test "${with_ns+set}" != set \ - && test "${ns_appdir_x+set}" != set; then - HAVE_NS=no - fi -fi - -if test "${window_system}" = mac && test "${HAVE_NS}" = yes; then - if test "${with_ns+set}" != set \ - && test "${ns_appdir_x+set}" != set; then - HAVE_NS=no - else - HAVE_CARBON=no + 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 ], + [NSInteger i;])], + ns_have_nsinteger=yes, + ns_have_nsinteger=no) + if test $ns_have_nsinteger = no; then + NS_HAVE_NSINTEGER=no fi fi 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 + if test "${EN_NS_SELF_CONTAINED}" = yes; then + prefix=${ns_appresdir} + fi fi CFLAGS="$tmp_CFLAGS" CPPFLAGS="$tmp_CPPFLAGS" @@ -1295,7 +1296,7 @@ dnl use the toolkit if we have gtk, or X11R5 or newer. * ) USE_X_TOOLKIT=maybe ;; esac ;; - nextstep | mac | none ) + nextstep | none ) HAVE_X_WINDOWS=no HAVE_X11=no USE_X_TOOLKIT=none @@ -1488,9 +1489,9 @@ fi ### 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 - RSVG_REQUIRED=2.0.0 + RSVG_REQUIRED=2.11.0 RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED" PKG_CHECK_MODULES(RSVG, $RSVG_MODULE, :, :) @@ -1570,15 +1571,28 @@ if test "${HAVE_GTK}" = "yes"; then [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 ]) + 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 ]) + 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 @@ -1764,9 +1778,6 @@ 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_CARBON}" = "yes"; then - AC_DEFINE(USE_TOOLKIT_SCROLL_BARS) - USE_TOOLKIT_SCROLL_BARS=yes elif test "${HAVE_NS}" = "yes"; then AC_DEFINE(USE_TOOLKIT_SCROLL_BARS) USE_TOOLKIT_SCROLL_BARS=yes @@ -1824,84 +1835,99 @@ either XPointer or XPointer*.])dnl 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) @@ -1912,8 +1938,6 @@ AC_SUBST(LIBOTF_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 @@ -2064,40 +2088,20 @@ 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 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 - fi - # We also have mouse menus. - HAVE_MENUS=yes -fi ### 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.]) - ## Specify the install directory - ns_appdir= - if test "${ns_appdir_x}" != ""; then - case ${ns_appdir_x} in - y | ye | yes) ns_appdir=/Applications ;; - * ) ns_appdir=${ns_appdir_x} ;; - esac - fi - if test "${COCOA}" = "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= + 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 "${GNUSTEP}" = "yes"; then + 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 @@ -2169,7 +2173,7 @@ 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 \ -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 \ @@ -2241,7 +2245,7 @@ if test "$have_res_init" = yes; then 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, @@ -2264,20 +2268,22 @@ if test "$resolv" = yes ; then 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) - 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 - 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 ])]) else AC_CHECK_HEADERS(des.h,, [AC_CHECK_HEADERS(kerberosIV/des.h,, @@ -2497,8 +2503,15 @@ AC_SUBST(X_TOOLKIT_TYPE) 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.]) @@ -2562,7 +2575,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. @@ -2589,46 +2602,16 @@ along with GNU Emacs. If not, see . */ AH_BOTTOM([ /* If we're using X11/Carbon/GNUstep, define some consequences. */ -#if defined HAVE_X_WINDOWS || defined(HAVE_CARBON) || defined(HAVE_NS) +#if defined(HAVE_X_WINDOWS) || defined(HAVE_NS) #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 - -/* Sadly for now, GNUstep dump does not work. */ -#ifdef NS_IMPL_GNUSTEP -#define CANNOT_DUMP -#endif - -/* PENDING: These are used for the Carbon port only. */ -#undef MAC_OS -#undef MAC_OSX - -/* 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 -/* 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. */ @@ -2658,50 +2641,34 @@ 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 /* 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, following the Carbon port, and we cannot + side does this in s/darwin.h and we cannot parallel this exactly since GNUstep is multi-OS. */ #ifdef HAVE_NS -# ifdef C_SWITCH_SYSTEM -# undef C_SWITCH_SYSTEM -# endif +#define OTHER_FILES ns-app # ifdef NS_IMPL_GNUSTEP /* See also .m.o rule in Makefile.in */ -# define C_SWITCH_X_SYSTEM -MMD -MP -D_REENTRANT -fPIC -fno-strict-aliasing -# define LD_SWITCH_SITE -lgnustep-gui -lgnustep-base -lobjc $(CONFIG_SYSTEM_LIBS) -lpthread -# define GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE -# define OTHER_FILES ns-app -# else /* COCOA */ -# define C_SWITCH_X_SYSTEM -# define GNU_OBJC_CFLAGS -# endif /* COCOA */ +/* 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 */ - - -/* 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 - /* SIGTYPE is the macro we actually use. */ #ifndef SIGTYPE #define SIGTYPE RETSIGTYPE @@ -2915,7 +2882,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 @@ -2935,12 +2902,18 @@ if test "$USE_X_TOOLKIT" = GTK; then esac fi - -if test "$HAVE_CARBON" = "yes"; then +if test "$HAVE_NS" = "yes"; then 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