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)
[ --with-gif use -lungif for displaying GIF images])
AC_ARG_WITH(png,
[ --with-png use -lpng for displaying PNG images])
+AC_ARG_WITH(freetype,
+[ --with-freetype use -lfreetype for local fonts support])
+AC_ARG_WITH(xft,
+[ --with-xft use -lXft for anti aliased fonts])
AC_ARG_WITH(gtk,
[ --with-gtk use GTK (same as --with-x-toolkit=gtk)])
AC_ARG_WITH(pkg-config-prog,
specify install directory for Emacs.app on Mac OS X]],
[ carbon_appdir_x=${enableval}])
+AC_ARG_ENABLE(font-backend,
+[ --enable-font-backend compile code of font-backend support],
+ USE_FONT_BACKEND=$enableval,
+ USE_FONT_BACKEND=no)
+
AC_ARG_ENABLE(asserts,
[ --enable-asserts compile code with asserts enabled],
USE_XASSERTS=$enableval,
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
;;
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
;;
+ ## Tensilica Xtensa Linux-based GNU system
+ xtensa-*-linux-gnu* )
+ machine=xtensa opsys=gnu-linux
+ ;;
+
* )
unported=yes
;;
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
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
CFLAGS=$late_CFLAGS
fi
+### For 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
+ 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"
+ 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
+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)
+ 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
+ fi
+ fi
+fi
+if test "${HAVE_FREETYPE}" = "yes"; then
+ AC_DEFINE(HAVE_FREETYPE, 1,
+ [Define to 1 if you have freetype and fontconfig libraries.])
+ AC_CHECK_PROG(HAVE_LIBOTF, libotf-config, yes, no)
+ if test "${HAVE_LIBOTF}" = "yes"; then
+ AC_DEFINE(HAVE_LIBOTF, 1,
+ [Define to 1 if you have libotf library.])
+ LIBOTF_CFLAGS=`libotf-config --cflags`
+ LIBOTF_LIBS=`libotf-config --libs`
+ 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)
+
+fi
+
### Use -lXpm if available, unless `--with-xpm=no'.
HAVE_XPM=no
if test "${HAVE_X11}" = "yes"; then
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, 2001, 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.
sed -e '1,/start of cpp stuff/d'\
-e 's,/\*\*/#\(.*\)$,/* \1 */,' \
< Makefile.c > junk.c
+ if test -f ${srcdir}/admin/unidata/UnicodeData.txt; then
+ 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