dnl Boston, MA 02110-1301, USA.
AC_PREREQ(2.61)dnl
-AC_INIT(src/lisp.h)
+AC_INIT(emacs, 23.0.50)
AC_CONFIG_HEADER(src/config.h:src/config.in)
+AC_CONFIG_SRCDIR(src/lisp.h)
dnl Support for --program-prefix, --program-suffix and
dnl --program-transform-name options
EMACS_ARG_N([xaw3d],[don't use Xaw3d])
EMACS_ARG_N([xim],[don't use X11 XIM])
EMACS_ARG_N([carbon],[don't use Carbon GUI on Mac OS X])
+EMACS_ARG_Y([dbus],[use D-Bus])
AC_ARG_ENABLE(carbon-app,
-[[ --enable-carbon-app[=DIR] [DIR=/Application]
- specify install directory for Emacs.app on Mac OS X]],
+[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_ENABLE(asserts,
-[ --enable-asserts compile code with asserts enabled],
+[AS_HELP_STRING([--enable-asserts], [compile code with asserts enabled])],
USE_XASSERTS=$enableval,
USE_XASSERTS=no)
AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
+[AS_HELP_STRING([--enable-maintainer-mode],
+ [enable make rules and dependencies not useful (and sometimes
+ confusing) to the casual installer])],
USE_MAINTAINER_MODE=$enableval,
USE_MAINTAINER_MODE=no)
if test $USE_MAINTAINER_MODE = yes; then
AC_SUBST(MAINT)
AC_ARG_ENABLE(locallisppath,
-[ --enable-locallisppath=PATH
- directories Emacs should search for lisp files
- specific to this site],
+[AS_HELP_STRING([--enable-locallisppath=PATH],
+ [directories Emacs should search for lisp files specific
+ to this site])],
if test "${enableval}" = "no"; then
locallisppath=
elif test "${enableval}" != "yes"; then
esac
;;
+ ## FreeBSD kernel + glibc based userland
+ *-*-kfreebsd*gnu* )
+ opsys=gnu-kfreebsd
+ case "${canonical}" in
+ alpha*-*-kfreebsd*) machine=alpha ;;
+ ia64-*-kfreebsd*) machine=ia64 ;;
+ sparc64-*-kfreebsd*) machine=sparc ;;
+ powerpc-*-kfreebsd*) machine=macppc ;;
+ i[3456]86-*-kfreebsd*) machine=intel386 ;;
+ amd64-*-kfreebsd*|x86_64-*-kfreebsd*) machine=amdx86-64 ;;
+ esac
+ ;;
+
## NetBSD ports
*-*-netbsd* )
opsys=netbsd
machine=amdx86-64 opsys=gnu-linux
;;
- ## Tensilica Xtensa Linux-based GNU system
+ ## Tensilica Xtensa Linux-based GNU system
xtensa-*-linux-gnu* )
machine=xtensa opsys=gnu-linux
;;
## Need makeinfo >= 4.6 (?) to build the manuals.
AC_PATH_PROG(MAKEINFO, makeinfo, no)
-dnl By this stage, configure has already checked for egrep and set EGREP,
+dnl By this stage, configure has already checked for egrep and set EGREP,
dnl or exited with an error if no egrep was found.
if test "$MAKEINFO" != "no" && \
- test x"`$MAKEINFO --version 2> /dev/null | $EGREP 'texinfo[[^0-9]]*([[5-9]]|4\.[[6-9]])'`" = x; then
- MAKEINFO=no
+ test x"`$MAKEINFO --version 2> /dev/null | $EGREP 'texinfo[[^0-9]]*([[1-4]][[0-9]]+|[[5-9]]|4\.[[6-9]]|4\.[[1-5]][[0-9]]+)'`" = x; then
+ MAKEINFO=no
fi
if test "$MAKEINFO" = "no"; then
AC_SYS_LARGEFILE
-### The standard library on x86-64 GNU/Linux distributions can
+### 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* )
no ) USE_X_TOOLKIT=none ;;
dnl If user did not say whether to use a toolkit, make this decision later:
dnl use the toolkit if we have gtk, or X11R5 or newer.
- * )
+ * )
if test x"$with_gtk" = xyes; then
USE_X_TOOLKIT=none
else
if test "$window_system" = none && test "X$with_x" != "Xno"; then
AC_CHECK_PROG(HAVE_XSERVER, X, true, false)
if test "$HAVE_XSERVER" = true ||
- test -n "$DISPLAY" ||
+ test -n "$DISPLAY" ||
test "`echo /usr/lib/libX11.*`" != "/usr/lib/libX11.*"; then
AC_MSG_ERROR([You seem to be running X, but no X development libraries
were found. You should install the relevant development files for X
fi
fi
-if test "${window_system}" = "x11"; then
- AC_MSG_CHECKING(X11 version 5)
- AC_CACHE_VAL(emacs_cv_x11_version_5,
- [AC_TRY_LINK([#include <X11/Xlib.h>],
-[#if XlibSpecificationRelease < 5
-fail;
-#endif
-], emacs_cv_x11_version_5=yes, emacs_cv_x11_version_5=no)])
- if test $emacs_cv_x11_version_5 = yes; then
- AC_MSG_RESULT(5 or newer)
- HAVE_X11R5=yes
- AC_DEFINE(HAVE_X11R5, 1,
- [Define to 1 if you have the X11R5 or newer version of Xlib.])
- else
- HAVE_X11R5=no
- AC_MSG_RESULT(before 5)
- fi
-fi
### Use -lrsvg-2 if available, unless `--with-rsvg=no' is specified.
HAVE_RSVG=no
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}]);
fi
- GLIB_REQUIRED=2.4
- GTK_REQUIRED=2.4
+ GLIB_REQUIRED=2.6
+ GTK_REQUIRED=2.6
GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
dnl Check if --with-pkg-config-prog has been given.
AC_CHECK_LIB(pthread, pthread_self, HAVE_GTK_AND_PTHREAD=yes)
fi
if test "$HAVE_GTK_AND_PTHREAD" = yes; then
- GTK_LIBS="$GTK_LIBS -lpthread"
+ case "${canonical}" in
+ *-hpux*) ;;
+ *) GTK_LIBS="$GTK_LIBS -lpthread" ;;
+ esac
AC_DEFINE(HAVE_GTK_AND_PTHREAD, 1,
[Define to 1 if you have GTK and pthread (-lpthread).])
fi
fi
fi
+dnl D-Bus has been tested under GNU/Linux only. Must be adapted for
+dnl other platforms. Support for higher D-Bus versions but 1.0 is
+dnl also not configured.
+HAVE_DBUS=no
+if test "${with_dbus}" = "yes"; then
+ PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0, HAVE_DBUS=yes, HAVE_DBUS=no)
+ if test "$HAVE_DBUS" = yes; then
+ AC_DEFINE(HAVE_DBUS, 1, [Define to 1 if using D-Bus.])
+ fi
+fi
+
### Link with -lXft if available to work around a bug.
HAVE_XFT=maybe
if test "${HAVE_GTK}" = "yes"; then
dnl Older compilers (eg sunos4 cc) choke on it.
HAVE_XAW3D=no
if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
- if test x"${HAVE_X11R5}" != xyes; then
- USE_X_TOOLKIT=none
- else
- if test "$with_xaw3d" != no; then
- AC_MSG_CHECKING(for xaw3d)
- AC_CACHE_VAL(emacs_cv_xaw3d,
- [AC_TRY_LINK([
+ if test "$with_xaw3d" != no; then
+ AC_MSG_CHECKING(for xaw3d)
+ AC_CACHE_VAL(emacs_cv_xaw3d,
+ [AC_TRY_LINK([
#include <X11/Intrinsic.h>
#include <X11/Xaw3d/Simple.h>],
- [],
- emacs_cv_xaw3d=yes,
- emacs_cv_xaw3d=no)])
- else
- emacs_cv_xaw3d=no
- fi
- if test $emacs_cv_xaw3d = yes; then
+ [],
+ emacs_cv_xaw3d=yes,
+ emacs_cv_xaw3d=no)])
+ else
+ emacs_cv_xaw3d=no
+ fi
+ if test $emacs_cv_xaw3d = yes; then
+ AC_MSG_RESULT([yes; using Lucid toolkit])
+ USE_X_TOOLKIT=LUCID
+ HAVE_XAW3D=yes
+ AC_DEFINE(HAVE_XAW3D, 1,
+ [Define to 1 if you have the Xaw3d library (-lXaw3d).])
+ else
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(for libXaw)
+ AC_CACHE_VAL(emacs_cv_xaw,
+ [AC_TRY_LINK([
+#include <X11/Intrinsic.h>
+#include <X11/Xaw/Simple.h>],
+ [],
+ emacs_cv_xaw=yes,
+ emacs_cv_xaw=no)])
+ if test $emacs_cv_xaw = yes; then
AC_MSG_RESULT([yes; using Lucid toolkit])
USE_X_TOOLKIT=LUCID
- HAVE_XAW3D=yes
- AC_DEFINE(HAVE_XAW3D, 1,
- [Define to 1 if you have the Xaw3d library (-lXaw3d).])
+ elif test x"${USE_X_TOOLKIT}" = xLUCID; then
+ AC_MSG_ERROR([Lucid toolkit requires X11/Xaw include files])
else
- AC_MSG_RESULT(no)
- AC_MSG_CHECKING(for libXaw)
- AC_CACHE_VAL(emacs_cv_xaw,
- [AC_TRY_LINK([
-#include <X11/Intrinsic.h>
-#include <X11/Xaw/Simple.h>],
- [],
- emacs_cv_xaw=yes,
- emacs_cv_xaw=no)])
- if test $emacs_cv_xaw = yes; then
- AC_MSG_RESULT([yes; using Lucid toolkit])
- USE_X_TOOLKIT=LUCID
- elif test x"${USE_X_TOOLKIT}" = xLUCID; then
- AC_MSG_ERROR([Lucid toolkit requires X11/Xaw include files])
- else
- AC_MSG_RESULT([no; do not use toolkit by default])
- USE_X_TOOLKIT=none
- fi
+ AC_MSG_RESULT([no; do not use toolkit by default])
+ USE_X_TOOLKIT=none
fi
fi
fi
AC_FUNC_ALLOCA
+dnl src/alloca.c has been removed. Could also check if $ALLOCA is set?
+dnl FIXME is there an autoconf test that does the right thing, without
+dnl needing to call A_M_E afterwards?
+if test x"$ac_cv_func_alloca_works" != xyes; then
+ AC_MSG_ERROR( [a system implementation of alloca is required] )
+fi
+
# fmod, logb, and frexp are found in -lm on most systems.
# On HPUX 9.01, -lm does not contain logb, so check for sqrt.
AC_CHECK_LIB(m, sqrt)
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 res_init setsid \
+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 \
__fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \
# than to expect to find it in ncurses.
AC_CHECK_LIB(ncurses, tparm)
+# Do we have res_init, for detecting changes in /etc/resolv.conf?
+
+resolv=no
+AC_TRY_LINK([#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>],
+ [return res_init();],
+ have_res_init=yes, have_res_init=no)
+if test "$have_res_init" = no; then
+ OLIBS="$LIBS"
+ LIBS="$LIBS -lresolv"
+ AC_MSG_CHECKING(for res_init with -lresolv)
+ AC_TRY_LINK([#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>],
+ [return res_init();],
+ have_res_init=yes, have_res_init=no)
+ AC_MSG_RESULT($have_res_init)
+ if test "$have_res_init" = yes ; then
+ resolv=yes
+ fi
+ LIBS="$OLIBS"
+fi
+
+if test "$have_res_init" = yes; then
+ AC_DEFINE(HAVE_RES_INIT, 1, [Define to 1 if res_init is available.])
+fi
+
# Do we need the Hesiod library to provide the support routines?
if test "$with_hesiod" = yes ; then
# Don't set $LIBS here -- see comments above.
- resolv=no
AC_CHECK_FUNC(res_send, , [AC_CHECK_FUNC(__res_send, ,
[AC_CHECK_LIB(resolv, res_send, resolv=yes,
[AC_CHECK_LIB(resolv, __res_send, resolv=yes)])])])
if test "$resolv" = yes ; then
RESOLVLIB=-lresolv
- AC_DEFINE(HAVE_LIBRESOLV, 1,
- [Define to 1 if you have the resolv library (-lresolv).])
else
RESOLVLIB=
fi
:, $RESOLVLIB)])
fi
+# Do we need libresolv (due to res_init or Hesiod)?
+if test "$resolv" = yes ; then
+ AC_DEFINE(HAVE_LIBRESOLV, 1,
+ [Define to 1 if you have the resolv library (-lresolv).])
+fi
+
# These tell us which Kerberos-related libraries to use.
if test "${with_kerberos+set}" = set; then
AC_CHECK_LIB(com_err, com_err)
#ifdef HAVE_X11R6
#define HAVE_X_I18N
-#elif defined HAVE_X11R5 && !defined X11R5_INHIBIT_I18N
+#elif !defined X11R5_INHIBIT_I18N
#define HAVE_X_I18N
#endif
fi
+if test "$HAVE_CARBON" = "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
+fi
+
+if test "$HAVE_DBUS" = yes && test "${opsys}" != "gnu-linux"; then
+ echo "D-Bus integration has been tested for GNU/Linux only."
+ echo
+fi
+
# Remove any trailing slashes in these variables.
[test "${prefix}" != NONE &&
CPP_NEED_TRADITIONAL=yes)
AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \
- man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in \
- lisp/Makefile lispref/Makefile lispintro/Makefile leim/Makefile, [
+ doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile \
+ doc/lispref/Makefile src/Makefile.c:src/Makefile.in \
+ lwlib/Makefile lisp/Makefile leim/Makefile, [
### Make the necessary directories, if they don't exist.
for dir in etc lisp ; do