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)
lispdir='${datadir}/emacs/${version}/lisp'
locallisppath='${datadir}/emacs/${version}/site-lisp:'\
-'${datadir}/emacs/site-lisp:${datadir}/emacs/${version}/leim'
-lisppath='${locallisppath}:${lispdir}'
+'${datadir}/emacs/site-lisp'
+lisppath='${locallisppath}:${lispdir}:${datadir}/emacs/${version}/leim'
etcdir='${datadir}/emacs/${version}/etc'
archlibdir='${libexecdir}/emacs/${version}/${configuration}'
docdir='${datadir}/emacs/${version}/etc'
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
;;
case "${canonical}" in
alpha*-*-openbsd*) machine=alpha ;;
i386-*-openbsd*) machine=intel386 ;;
+ x86_64-*-openbsd*) machine=amdx86-64 ;;
m68k-*-openbsd*) machine=hp9000s300 ;;
mipsel-*-openbsd*) machine=pmax ;;
ns32k-*-openbsd*) machine=ns32000 ;;
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
machine=nh6000 opsys=powerunix
NON_GNU_CPP="cc -Xo -E -P"
;;
- ## SR2001/SR2201 running HI-UX/MPP
- hppa1.1-hitachi-hiuxmpp* )
- machine=sr2k opsys=hiuxmpp
- ;;
- hppa1.1-hitachi-hiuxwe2* )
- machine=sr2k opsys=hiuxwe2
- ;;
## Honeywell XPS100
xps*-honeywell-sysv* )
machine=xps100 opsys=usg5-2
esac
;;
- ## HP 9000 series 700 and 800, running HP/UX
- hppa*-hp-hpux7* )
- machine=hp800 opsys=hpux
- ;;
- hppa*-hp-hpux8* )
- machine=hp800 opsys=hpux8
- ;;
- hppa*-hp-hpux9shr* )
- machine=hp800 opsys=hpux9shr
- ;;
- hppa*-hp-hpux9* )
- machine=hp800 opsys=hpux9
- ;;
- hppa*-hp-hpux10.2* )
- machine=hp800 opsys=hpux10-20
- ;;
- hppa*-hp-hpux10* )
- machine=hp800 opsys=hpux10
- ;;
- hppa*-hp-hpux1[1-9]* )
- machine=hp800 opsys=hpux11
- CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS"
- ;;
-
hppa*-*-linux-gnu* )
machine=hp800 opsys=gnu-linux
;;
- ## HP 9000 series 700 and 800, running HP/UX
- hppa*-hp-hpux* )
- ## Cross-compilation? Nah!
- case "`uname -r`" in
- ## Someone's system reports A.B8.05 for this.
- ## I wonder what other possibilities there are.
- *.B8.* ) machine=hp800 opsys=hpux8 ;;
- *.08.* ) machine=hp800 opsys=hpux8 ;;
- *.09.* ) machine=hp800 opsys=hpux9 ;;
- *) machine=hp800 opsys=hpux10 ;;
- esac
- ;;
hppa*-*-nextstep* )
machine=hp800 opsys=nextstep
;;
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 ;;
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
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
window_system=x11
fi
-if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then
- LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
- LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
+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"`
+ LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
+ fi
x_default_search_path=""
- for x_library in `echo ${x_libraries} | sed -e "s/:/ /g"`; do
+ x_search_path=${x_libraries}
+ if test -z "${x_search_path}"; then
+ x_search_path=/usr/lib
+ fi
+ for x_library in `echo ${x_search_path}: | \
+ sed -e "s/:/ /g" -e p -e "s:/lib[[^ /]]* :/share :g"`; do
x_search_path="\
${x_library}/X11/%L/%T/%N%C%S:\
${x_library}/X11/%l/%T/%N%C%S:\
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_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
+ 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.