dnl autoconf
dnl in the directory containing this script.
dnl
-dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
dnl Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Emacs.
dnl Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
dnl Boston, MA 02110-1301, USA.
-AC_PREREQ(2.54)dnl
+AC_PREREQ(2.61)dnl
AC_INIT(src/lisp.h)
AC_CONFIG_HEADER(src/config.h:src/config.in)
AH_TEMPLATE(MAIL_USE_POP, [Define to support POP mail retrieval.])dnl
AC_ARG_WITH(kerberos,
[ --with-kerberos support Kerberos-authenticated POP],
-[AC_DEFINE(KERBEROS)])
+[if test "$withval" = yes; then
+ AC_DEFINE(KERBEROS)
+fi])
AH_TEMPLATE(KERBEROS,
[Define to support Kerberos-authenticated POP mail retrieval.])dnl
AC_ARG_WITH(kerberos5,
with_kerberos=yes
AC_DEFINE(KERBEROS)
fi
-fi
-AC_DEFINE(KERBEROS5, 1, [Define to use Kerberos 5 instead of Kerberos 4.])])
+ AC_DEFINE(KERBEROS5, 1, [Define to use Kerberos 5 instead of Kerberos 4.])
+fi])
AC_ARG_WITH(hesiod,
[ --with-hesiod support Hesiod to get the POP server host],
-[AC_DEFINE(HESIOD, 1, [Define to support using a Hesiod database to find the POP server.])])
+[if test "$withval" = yes; then
+ AC_DEFINE(HESIOD, 1, [Define to support using a Hesiod database to find the POP server.])
+fi])
AC_ARG_WITH(sound,
[ --without-sound don't compile with sound support])
opsys=freebsd
case "${canonical}" in
alpha*-*-freebsd*) machine=alpha ;;
+ ia64-*-freebsd*) machine=ia64 ;;
+ sparc64-*-freebsd*) machine=sparc ;;
+ powerpc-*-freebsd*) machine=macppc ;;
i[3456]86-*-freebsd*) machine=intel386 ;;
amd64-*-freebsd*|x86_64-*-freebsd*) machine=amdx86-64 ;;
esac
m68k-*-netbsd*)
# This is somewhat bogus.
machine=hp9000s300 ;;
- powerpc-apple-netbsd*) machine=macppc ;;
mips-*-netbsd*) machine=pmax ;;
mipsel-*-netbsd*) machine=pmax ;;
mipseb-*-netbsd*) machine=pmax ;;
sparc*-*-netbsd*) machine=sparc ;;
vax-*-netbsd*) machine=vax ;;
arm-*-netbsd*) machine=arm ;;
+ x86_64-*-netbsd*) machine=amdx86-64 ;;
+ hppa-*-netbsd*) machine=hp800 ;;
+ shle-*-netbsd*) machine=sh3el ;;
esac
;;
opsys=openbsd
case "${canonical}" in
alpha*-*-openbsd*) machine=alpha ;;
- i386-*-openbsd*) machine=intel386 ;;
- m68k-*-openbsd*) machine=hp9000s300 ;;
- mipsel-*-openbsd*) machine=pmax ;;
- ns32k-*-openbsd*) machine=ns32000 ;;
- sparc-*-openbsd*) machine=sparc ;;
- vax-*-openbsd*) machine=vax ;;
+ arm-*-openbsd*) machine=arm ;;
+ hppa-*-openbsd*) machine=hp9000s300 ;;
+ i386-*-openbsd*) machine=intel386 ;;
+ m68k-*-openbsd*) machine=hp9000s300 ;;
+ m88k-*-openbsd*) machine=aviion ;;
+ mips64-*-openbsd*) machine=mips64 ;;
+ powerpc-*-openbsd*) machine=macppc ;;
+ sh-*-openbsd*) machine=sh3el ;;
+ sparc*-*-openbsd*) machine=sparc ;;
+ vax-*-openbsd*) machine=vax ;;
+ x86_64-*-openbsd*) machine=amdx86-64 ;;
esac
;;
machine=apollo opsys=bsd4-3
;;
+ ## Apple Darwin / Mac OS X
+ *-apple-darwin* )
+ case "${canonical}" in
+ i[3456]86-* ) machine=intel386 ;;
+ powerpc-* ) machine=powermac ;;
+ * ) unported=yes ;;
+ esac
+ opsys=darwin
+ # Define CPP as follows to make autoconf work correctly.
+ CPP="${CC-cc} -E -no-cpp-precomp"
+ # Use fink packages if available.
+ if test -d /sw/include && test -d /sw/lib; then
+ GCC_TEST_OPTIONS="-I/sw/include -L/sw/lib"
+ CPP="${CPP} ${GCC_TEST_OPTIONS}"
+ NON_GCC_TEST_OPTIONS=${GCC_TEST_OPTIONS}
+ fi
+ ;;
+
## AT&T 3b2, 3b5, 3b15, 3b20
we32k-att-sysv* )
machine=att3b opsys=usg5-2-2
rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* )
machine=ibmrs6000 opsys=aix4-2
;;
+ rs6000-ibm-aix4.3* | powerpc-ibm-aix4.3* )
+ machine=ibmrs6000 opsys=aix4-2
+ ;;
rs6000-ibm-aix5* | powerpc-ibm-aix5* )
machine=ibmrs6000 opsys=aix4-2
;;
m68* ) machine=sun3 ;;
i[3456]86-sun-sunos[34]* ) machine=sun386 ;;
i[3456]86-*-* ) machine=intel386 ;;
+ amd64-*-*|x86_64-*-*) machine=amdx86-64 ;;
powerpcle* ) machine=powerpcle ;;
powerpc* | rs6000* ) machine=ibmrs6000 ;;
sparc* ) machine=sparc ;;
;;
*-sunos5* | *-solaris* )
opsys=sol2-6
- NON_GNU_CPP=/usr/ccs/lib/cpp
+ if [ "x$CC" = x/opt/SUNWspro/bin/cc ]; then
+ ## -Xs prevents spurious whitespace.
+ NON_GNU_CPP="/opt/SUNWspro/bin/cc -E -Xs"
+ else
+ NON_GNU_CPP=/usr/ccs/lib/cpp
+ fi
;;
* ) opsys=bsd4-2 ;;
esac
machine=f301 opsys=uxpv
;;
- ## Darwin / Mac OS X
- powerpc-apple-darwin* )
- machine=powermac opsys=darwin
- # Define CPP as follows to make autoconf work correctly.
- CPP="${CC-cc} -E -no-cpp-precomp"
- # Use fink packages if available.
- if test -d /sw/include && test -d /sw/lib; then
- GCC_TEST_OPTIONS="-I/sw/include -L/sw/lib"
- CPP="${CPP} ${GCC_TEST_OPTIONS}"
- NON_GCC_TEST_OPTIONS=${GCC_TEST_OPTIONS}
- fi
- ;;
-
## AMD x86-64 Linux-based GNU system
x86_64-*-linux-gnu* )
machine=amdx86-64 opsys=gnu-linux
;;
+ ## Tensilica Xtensa Linux-based GNU system
+ xtensa-*-linux-gnu* )
+ machine=xtensa opsys=gnu-linux
+ ;;
+
* )
unported=yes
;;
AC_SYS_LARGEFILE
+### The standard library on x86-64 GNU/Linux distributions can
+### be located in either /usr/lib64 or /usr/lib.
+case "${canonical}" in
+ x86_64-*-linux-gnu* )
+ if test -d /usr/lib64; then
+ AC_DEFINE(HAVE_X86_64_LIB64_DIR, 1,
+ [Define to 1 if the file /usr/lib64 exists.])
+fi
+esac
+
dnl This function defintion taken from Gnome 2.0
dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
succeeded=yes
AC_MSG_CHECKING($1_CFLAGS)
- $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"|sed -e 's,///*,/,g'`
AC_MSG_RESULT($$1_CFLAGS)
AC_MSG_CHECKING($1_LIBS)
- $1_LIBS=`$PKG_CONFIG --libs "$2"`
+ $1_LIBS=`$PKG_CONFIG --libs "$2"|sed -e 's,///*,/,g'`
AC_MSG_RESULT($$1_LIBS)
else
AC_MSG_RESULT(no)
fi
PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
if test $HAVE_ALSA = yes; then
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
+ CFLAGS="$ALSA_CFLAGS $CFLAGS"
+ LDFLAGS="$ALSA_LIBS $LDFLAGS"
+ AC_TRY_COMPILE([#include <asoundlib.h>], [snd_lib_error_set_handler (0);],
+ emacs_alsa_normal=yes,
+ emacs_alsa_normal=no)
+ if test "$emacs_alsa_normal" != yes; then
+ AC_TRY_COMPILE([#include <alsa/asoundlib.h>],
+ [snd_lib_error_set_handler (0);],
+ emacs_alsa_subdir=yes,
+ emacs_alsa_subdir=no)
+ if test "$emacs_alsa_subdir" != yes; then
+ AC_MSG_ERROR([pkg-config found alsa, but it does not compile. See config.log for error messages.])
+ fi
+ ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
+ fi
+
+ CFLAGS="$SAVE_CFLAGS"
+ LDFLAGS="$SAVE_LDFLAGS"
LIBSOUND="$LIBSOUND $ALSA_LIBS"
CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.])
+ AC_SUBST()
fi
AC_SUBST(CFLAGS_SOUND)
fi
if test "${window_system}" = x11 && test "${HAVE_CARBON}" = yes; then
if test "${with_carbon+set}" != set \
&& test "${carbon_appdir_x+set}" != set; then
- HAVE_CARBON=no
+ for var in with_x with_x_toolkit with_gtk 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
fi
HAVE_GTK=no
+if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then
+ USE_X_TOOLKIT=none
+fi
if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then
if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then
AC_MSG_ERROR([Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}]);
C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$GTK_LIBS $LIBS"
+ dnl Try to compile a simple GTK program.
+ GTK_COMPILES=no
+ AC_CHECK_FUNCS(gtk_main, GTK_COMPILES=yes)
+ if test "${GTK_COMPILES}" != "yes"; then
+ AC_MSG_ERROR([Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?]);
+ fi
+
HAVE_GTK=yes
AC_DEFINE(HAVE_GTK, 1, [Define to 1 if using GTK.])
USE_X_TOOLKIT=none
fi
fi
+### Link with -lXft if available to work around a bug.
+HAVE_XFT=maybe
+if test "${HAVE_GTK}" = "yes"; 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_CFLAGS="$CPPFLAGS"
+ OLD_CPPFLAGS="$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
+ CFLAGS="$OLD_CPPFLAGS"
+ CFLAGS="$OLD_CFLAGS"
+ LIBS="$OLD_LIBS"
+ fi
+ fi
+fi
+
dnl Do not put whitespace before the #include statements below.
dnl Older compilers (eg sunos4 cc) choke on it.
if test x"${USE_X_TOOLKIT}" = xmaybe; then
fi
# We also have mouse menus.
HAVE_MENUS=yes
-
- tmp_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -framework Carbon"
- AC_CHECK_FUNC(CancelMenuTracking, have_cmt=yes, have_cmt=no)
- if test "$have_cmt" = yes; then
- AC_DEFINE(HAVE_CANCELMENUTRACKING, 1,
- [Define to 1 if CancelMenuTracking is available (Mac OSX).])
- fi
- CFLAGS="$tmp_CFLAGS"
fi
### Use session management (-lSM -lICE) if available
utimes 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 bzero \
+gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \
memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign)
AC_CHECK_HEADERS(sys/un.h)
fi
fi
-# This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
-AC_STRUCT_TIMEZONE
-
-dnl Note that AC_STRUCT_TIMEZONE doesn't do what you might expect.
-if test "$ac_cv_func_gettimeofday" = yes; then
- AC_CACHE_CHECK([for struct timezone], emacs_cv_struct_timezone,
- [AC_TRY_COMPILE([#include <sys/time.h>],
- [struct timezone tz;],
- dnl It may be that we can't call gettimeofday with a non-null pointer,
- dnl even though we have struct timezone (e.g. HPUX). In that case
- dnl we'll lie about struct timezone.
- [AC_TRY_RUN([
-#ifdef TIME_WITH_SYS_TIME
-#include <sys/time.h>
-#include <time.h>
-#else
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#else
-#include <time.h>
-#endif
-#endif
-main () {
- struct timeval time;
- struct timezone dummy;
- exit (gettimeofday (&time, &dummy));
-}],
- emacs_cv_struct_timezone=yes,
- emacs_cv_struct_timezone=no, emacs_cv_struct_timezone=yes)],
- emacs_cv_struct_timezone=no)])
-fi
-
ok_so_far=yes
AC_CHECK_FUNC(socket, , ok_so_far=no)
if test $ok_so_far = yes; then
fi
AH_TOP([/* GNU Emacs site configuration template file.
- Copyright (C) 1988, 1993, 1994, 1999, 2000, 2002, 2004, 2005, 2006
+ Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GNU Emacs.
echo
fi
+if test "$USE_X_TOOLKIT" = GTK; then
+ case "$canonical" in
+ *cygwin*)
+ echo "There are known problems with Emacs and Gtk+ on cygwin, so you
+ will probably get a crash on startup. If this happens, please use another
+ toolkit for Emacs. See etc/PROBLEMS for more information."
+ ;;
+ esac
+fi
+
# Remove any trailing slashes in these variables.