dnl autoconf
dnl in the directory containing this script.
dnl
-dnl Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
+dnl Copyright (C) 1994, 1995, 1996, 1999, 2000 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Emacs.
dnl
docdir='${datadir}/emacs/${version}/etc'
AC_ARG_WITH(gcc,
-[ --with-gcc use GCC to compile Emacs])
+[ --without-gcc don't use GCC to compile Emacs if GCC is found])
AC_ARG_WITH(pop,
-[ --with-pop support POP for mail retrieval],
-[AC_DEFINE(MAIL_USE_POP)])
+[ --without-pop don't support POP mail retrieval with movemail],
+[if test "$withval" = yes; then
+ AC_DEFINE(MAIL_USE_POP)
+else :
+fi],
+AC_DEFINE(MAIL_USE_POP))
AC_ARG_WITH(kerberos,
[ --with-kerberos support Kerberos-authenticated POP],
[AC_DEFINE(KERBEROS)])
AC_ARG_WITH(kerberos5,
-[ --with-kerberos5 support Kerberos version 5 authenticated POP],
+[ --with-kerberos5 support Kerberos version 5 authenticated POP],
[if test "${with_kerberos5+set}" = set; then
if test "${with_kerberos+set}" != set; then
with_kerberos=yes
esac
with_x_toolkit=$val
])
+AC_ARG_WITH(xpm,
+[ --with-xpm use -lXpm for displaying XPM images])
+AC_ARG_WITH(jpeg,
+[ --with-jpeg use -ljpeg for displaying JPEG images])
+AC_ARG_WITH(tiff,
+[ --with-tiff use -ltiff for displaying TIFF images])
+AC_ARG_WITH(gif,
+[ --with-gif use -lungif for displaying GIF images])
+AC_ARG_WITH(png,
+[ --with-png use -lpng for displaying PNG images])
+AC_ARG_WITH(toolkit-scroll-bars,
+[ --without-toolkit-scroll-bars
+ don't use Motif or Xaw3d scroll bars])
+AC_ARG_WITH(xim,
+[ --without-xim don't use X11 XIM])
#### Make srcdir absolute, if it isn't already. It's important to
#### avoid running the path through pwd unnecessary, since pwd can
m68k-*-netbsd*)
# This is somewhat bogus.
machine=hp9000s300 ;;
+ powerpc-apple-netbsd*) machine=macppc ;;
mips-*-netbsd*) machine=pmax ;;
+ mipsel-*-netbsd*) machine=pmax ;;
ns32k-*-netbsd*) machine=ns32000 ;;
+ powerpc-*-netbsd*) machine=macppc ;;
sparc-*-netbsd*) machine=sparc ;;
vax-*-netbsd*) machine=vax ;;
+ arm-*-netbsd*) machine=arm ;;
esac
;;
mipsel-*-openbsd*) machine=pmax ;;
ns32k-*-openbsd*) machine=ns32000 ;;
sparc-*-openbsd*) machine=sparc ;;
- vax-*-netbsd*) machine=vax ;;
+ vax-*-openbsd*) machine=vax ;;
esac
;;
# This is needed to find X11R6.1 libraries for certain tests.
NON_GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
+ case "${canonical}" in
+ # This is necessary on 5.0 to avoid mangling src/Makefile.
+ # Separated out in case it causes problems on earlier versions.
+ alpha*-dec-osf[5-9]*)
+ opsys=osf5-0
+ NON_GNU_CPP='cpp' ;;
+ esac
;;
alpha*-*-linux-gnu* )
machine=alpha opsys=gnu-linux
;;
+ arm*-*-linux-gnu* )
+ machine=arm opsys=gnu-linux
+ ;;
+
+ ppc-*-linux | \
+ powerpc-*-linux* )
+ machine=powerpc opsys=gnu-linux
+ ;;
+
## Altos 3068
m68*-altos-sysv* )
machine=altos opsys=usg5-2
machine=ns16000 opsys=umax
;;
- ## The GEC 93 - apparently, this port isn't really finished yet.
+ ## The GEC 63 - apparently, this port isn't really finished yet.
+ # I'm sure we finished off the last of the machines, though. -- fx
## Gould Power Node and NP1
pn-gould-bsd4.2* )
NON_GNU_CPP="/usr/ccs/lib/cpp" # cc -E tokenizes macro expansion.
;;
+ ## Macintosh PowerPC
+ powerpc*-*-linux-gnu* )
+ machine=macppc opsys=gnu-linux
+ ;;
+
## Masscomp machines
m68*-masscomp-rtu* )
machine=masscomp opsys=rtu
mips-sgi-irix4* )
machine=iris4d opsys=irix4-0
;;
+ mips-sgi-irix6.5 )
+ machine=iris4d opsys=irix6-5
+ # Without defining _LANGUAGE_C, things get masked out in the headers
+ # so that, for instance, grepping for `free' in stdlib.h fails and
+ # AC_HEADER_STD_C fails. (MIPSPro 7.2.1.2m compilers, Irix 6.5.3m).
+ NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
+ NON_GCC_TEST_OPTIONS="-D_LANGUAGE_C"
+ ;;
mips-sgi-irix6* )
machine=iris4d opsys=irix6-0
- NON_GNU_CPP=/lib/cpp
+ # It's not clear whether -D_LANGUAGE_C is necessary as it is for 6.5,
+ # but presumably it does no harm.
+ NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
+ # -32 probably isn't necessary in later v.6s -- anyone know which?
NON_GCC_TEST_OPTIONS=-32
;;
mips-sgi-irix5.[01]* )
;;
## Suns
- sparc-*-linux-gnu* )
+ sparc-*-linux-gnu* | sparc64-*-linux-gnu* )
machine=sparc opsys=gnu-linux
;;
- *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \
+ *-auspex-sunos* | *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \
| i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
| rs6000-*-solaris2*)
case "${canonical}" in
machine=wicat opsys=usg5-2
;;
+ ## IA-64
+ ia64*-*-linux* )
+ machine=ia64 opsys=gnu-linux
+ ;;
+
## Intel 386 machines where we don't care about the manufacturer
i[3456]86-*-* )
machine=intel386
case "${canonical}" in
+ *-lynxos* ) opsys=lynxos ;;
*-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
*-isc2.2* ) opsys=isc2-2 ;;
*-isc4.0* ) opsys=isc4-0 ;;
RANLIB="ar -ts"
;;
+ ## UXP/V
+ f301-fujitsu-uxpv4.1)
+ machine=f301 opsys=uxpv
+ ;;
+
* )
unported=yes
;;
esac
fi
-if test "x$RANLIB" = x; then
- RANLIB=ranlib
-fi
-
changequote([, ])dnl
if test $unported = yes; then
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_YACC
+if test "x$RANLIB" = x; then
+ AC_PROG_RANLIB
+fi
dnl checks for Unix variants
AC_AIX
+#### Extract some information from the operating system and machine files.
+
+AC_CHECKING([the machine- and system-dependent files to find out
+ - which libraries the lib-src programs will want, and
+ - whether the GNU malloc routines are usable])
+
+### First figure out CFLAGS (which we use for running the compiler here)
+### and REAL_CFLAGS (which we use for real compilation).
+### The two are the same except on a few systems, where they are made
+### different to work around various lossages. For example,
+### GCC 2.5 on GNU/Linux needs them to be different because it treats -g
+### as implying static linking.
+
+### If the CFLAGS env var is specified, we use that value
+### instead of the default.
+
+### It's not important that this name contain the PID; you can't run
+### two configures in the same directory and have anything work
+### anyway.
+tempcname="conftest.c"
+
+echo '
+#include "'${srcdir}'/src/'${opsysfile}'"
+#include "'${srcdir}'/src/'${machfile}'"
+#ifndef LIBS_MACHINE
+#define LIBS_MACHINE
+#endif
+#ifndef LIBS_SYSTEM
+#define LIBS_SYSTEM
+#endif
+#ifndef C_SWITCH_SYSTEM
+#define C_SWITCH_SYSTEM
+#endif
+#ifndef C_SWITCH_MACHINE
+#define C_SWITCH_MACHINE
+#endif
+configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
+configure___ c_switch_system=C_SWITCH_SYSTEM
+configure___ c_switch_machine=C_SWITCH_MACHINE
+
+#ifndef LIB_X11_LIB
+#define LIB_X11_LIB -lX11
+#endif
+
+#ifndef LIBX11_MACHINE
+#define LIBX11_MACHINE
+#endif
+
+#ifndef LIBX11_SYSTEM
+#define LIBX11_SYSTEM
+#endif
+configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
+
+#ifdef UNEXEC
+configure___ unexec=UNEXEC
+#else
+configure___ unexec=unexec.o
+#endif
+
+#ifdef SYSTEM_MALLOC
+configure___ system_malloc=yes
+#else
+configure___ system_malloc=no
+#endif
+
+#ifndef C_DEBUG_SWITCH
+#define C_DEBUG_SWITCH -g
+#endif
+
+#ifndef C_OPTIMIZE_SWITCH
+#ifdef __GNUC__
+#define C_OPTIMIZE_SWITCH -O2
+#else
+#define C_OPTIMIZE_SWITCH -O
+#endif
+#endif
+
+#ifndef LD_SWITCH_MACHINE
+#define LD_SWITCH_MACHINE
+#endif
+
+#ifndef LD_SWITCH_SYSTEM
+#define LD_SWITCH_SYSTEM
+#endif
+
+#ifndef LD_SWITCH_X_SITE_AUX
+#define LD_SWITCH_X_SITE_AUX
+#endif
+
+configure___ ld_switch_system=LD_SWITCH_SYSTEM
+configure___ ld_switch_machine=LD_SWITCH_MACHINE
+
+#ifdef THIS_IS_CONFIGURE
+
+/* Get the CFLAGS for tests in configure. */
+#ifdef __GNUC__
+configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
+#else
+configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
+#endif
+
+#else /* not THIS_IS_CONFIGURE */
+
+/* Get the CFLAGS for real compilation. */
+#ifdef __GNUC__
+configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
+#else
+configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
+#endif
+
+#endif /* not THIS_IS_CONFIGURE */
+' > ${tempcname}
+
+# The value of CPP is a quoted variable reference, so we need to do this
+# to get its actual value...
+CPP=`eval "echo $CPP"`
+changequote(, )dnl
+eval `${CPP} -Isrc ${tempcname} \
+ | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
+if test "x$SPECIFIED_CFLAGS" = x; then
+ eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \
+ | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
+else
+ REAL_CFLAGS="$CFLAGS"
+fi
+changequote([, ])dnl
+rm ${tempcname}
+
+ac_link="$ac_link $ld_switch_machine $ld_switch_system"
+
+### Make sure subsequent tests use flags consistent with the build flags.
+
+if test x"${OVERRIDE_CPPFLAGS}" != x; then
+ CPPFLAGS="${OVERRIDE_CPPFLAGS}"
+else
+ CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS"
+fi
+
+dnl Do this early because it can frob feature test macros for Unix-98 &c.
+AC_SYS_LARGEFILE
+
+# Sound support for GNU/Linux and the free BSDs.
+AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h soundcard.h)
+# Emulation library used on NetBSD.
+AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=)
+AC_SUBST(LIBSOUND)
+
dnl checks for header files
-AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h linux/version.h sys/systeminfo.h termios.h limits.h string.h)
+AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \
+ linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
+ termcap.h stdio_ext.h fcntl.h term.h)
AC_HEADER_STDC
AC_HEADER_TIME
AC_DECL_SYS_SIGLIST
+AC_HEADER_SYS_WAIT
dnl Some systems have utime.h but don't declare the struct anyplace.
AC_CACHE_CHECK(for struct utimbuf, emacs_cv_struct_utimbuf,
dnl checks for typedefs
AC_TYPE_SIGNAL
+dnl Check for speed_t typedef.
+AC_CACHE_CHECK(for speed_t, emacs_cv_speed_t,
+AC_TRY_COMPILE([#include <termios.h>], [speed_t x = 1;],
+ emacs_cv_speed_t=yes))
+if test $emacs_cv_speed_t = yes; then
+ AC_DEFINE(HAVE_SPEED_T)
+fi
+
AC_CACHE_CHECK(for struct timeval, emacs_cv_struct_timeval,
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
AC_DEFINE(HAVE_TIMEVAL)
fi
+AC_CACHE_CHECK(for struct exception, emacs_cv_struct_exception,
+AC_TRY_COMPILE([#include <math.h>],
+[static struct exception x; x.arg1 = x.arg2 = x.retval; x.name = ""; x.type = 1;],
+ emacs_cv_struct_exception=yes, emacs_cv_struct_exception=no))
+HAVE_EXCEPTION=$emacs_cv_struct_exception
+if test $emacs_cv_struct_exception != yes; then
+ AC_DEFINE(NO_MATHERR)
+fi
+
dnl checks for structure members
AC_STRUCT_TM
AC_STRUCT_TIMEZONE
+AC_CACHE_CHECK(for tm_gmtoff in struct tm, emacs_cv_tm_gmtoff,
+AC_TRY_LINK([#include <time.h>], [struct tm t; t.tm_gmtoff = 0],
+ emacs_cv_tm_gmtoff=yes,
+ emacs_cv_tm_gmtoff=no))
+if test $emacs_cv_tm_gmtoff = yes; then
+ AC_DEFINE(HAVE_TM_GMTOFF)
+fi
dnl checks for compiler characteristics
+
+dnl Testing __STDC__ to determine prototype support isn't good enough.
+dnl DEC C, for instance, doesn't define it with default options, and
+dnl is used on 64-bit systems (OSF Alphas). Similarly for volatile
+dnl and void *.
+AC_C_PROTOTYPES
+AC_C_VOLATILE
AC_C_CONST
+dnl This isn't useful because we can't turn on use of `inline' unless
+dnl the compiler groks `extern inline'.
+dnl AC_C_INLINE
+AC_CACHE_CHECK([for void * support], emacs_cv_void_star,
+ [AC_TRY_COMPILE(, [void * foo;],
+ emacs_cv_void_star=yes, emacs_cv_void_star=no)])
+if test $emacs_cv_void_star = yes; then
+ AC_DEFINE(POINTER_TYPE, void)
+else
+ AC_DEFINE(POINTER_TYPE, char)
+fi
dnl check for Make feature
AC_PROG_MAKE_SET
for bmd in `echo ${x_includes} | sed -e "s/:/ /g"`; do
if test -d "${bmd}/X11/bitmaps"; then
bmd_acc="${bmd_acc}:${bmd}/X11/bitmaps"
- elif test -d "${bmd}/bitmaps"; then
+ fi
+ if test -d "${bmd}/bitmaps"; then
bmd_acc="${bmd_acc}:${bmd}/bitmaps"
fi
done
case ${HAVE_X11} in
yes ) HAVE_MENUS=yes ;;
esac
-
+
if test "${opsys}" = "hpux9"; then
case "${x_libraries}" in
*X11R4* )
esac
fi
-#### Extract some information from the operating system and machine files.
-
-AC_CHECKING([the machine- and system-dependent files to find out
- - which libraries the lib-src programs will want, and
- - whether the GNU malloc routines are usable])
-
-### First figure out CFLAGS (which we use for running the compiler here)
-### and REAL_CFLAGS (which we use for real compilation).
-### The two are the same except on a few systems, where they are made
-### different to work around various lossages. For example,
-### GCC 2.5 on GNU/Linux needs them to be different because it treats -g
-### as implying static linking.
-
-### If the CFLAGS env var is specified, we use that value
-### instead of the default.
-
-### It's not important that this name contain the PID; you can't run
-### two configures in the same directory and have anything work
-### anyway.
-tempcname="conftest.c"
-
-echo '
-#include "'${srcdir}'/src/'${opsysfile}'"
-#include "'${srcdir}'/src/'${machfile}'"
-#ifndef LIBS_MACHINE
-#define LIBS_MACHINE
-#endif
-#ifndef LIBS_SYSTEM
-#define LIBS_SYSTEM
-#endif
-#ifndef C_SWITCH_SYSTEM
-#define C_SWITCH_SYSTEM
-#endif
-#ifndef C_SWITCH_MACHINE
-#define C_SWITCH_MACHINE
-#endif
-configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
-configure___ c_switch_system=C_SWITCH_SYSTEM
-configure___ c_switch_machine=C_SWITCH_MACHINE
-
-#ifndef LIB_X11_LIB
-#define LIB_X11_LIB -lX11
-#endif
-
-#ifndef LIBX11_MACHINE
-#define LIBX11_MACHINE
-#endif
-
-#ifndef LIBX11_SYSTEM
-#define LIBX11_SYSTEM
-#endif
-configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
-
-#ifdef UNEXEC
-configure___ unexec=UNEXEC
-#else
-configure___ unexec=unexec.o
-#endif
-
-#ifdef SYSTEM_MALLOC
-configure___ system_malloc=yes
-#else
-configure___ system_malloc=no
-#endif
-
-#ifndef C_DEBUG_SWITCH
-#define C_DEBUG_SWITCH -g
-#endif
-
-#ifndef C_OPTIMIZE_SWITCH
-#define C_OPTIMIZE_SWITCH -O
-#endif
-
-#ifndef LD_SWITCH_MACHINE
-#define LD_SWITCH_MACHINE
-#endif
-
-#ifndef LD_SWITCH_SYSTEM
-#define LD_SWITCH_SYSTEM
-#endif
-
-#ifndef LD_SWITCH_X_SITE_AUX
-#define LD_SWITCH_X_SITE_AUX
-#endif
-
-configure___ ld_switch_system=LD_SWITCH_SYSTEM
-configure___ ld_switch_machine=LD_SWITCH_MACHINE
-
-#ifdef THIS_IS_CONFIGURE
-
-/* Get the CFLAGS for tests in configure. */
-#ifdef __GNUC__
-configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
-#else
-configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
-#endif
-
-#else /* not THIS_IS_CONFIGURE */
-
-/* Get the CFLAGS for real compilation. */
-#ifdef __GNUC__
-configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
-#else
-configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
-#endif
-
-#endif /* not THIS_IS_CONFIGURE */
-' > ${tempcname}
-
-# The value of CPP is a quoted variable reference, so we need to do this
-# to get its actual value...
-CPP=`eval "echo $CPP"`
-changequote(, )dnl
-eval `${CPP} -Isrc ${tempcname} \
- | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
-if test "x$SPECIFIED_CFLAGS" = x; then
- eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \
- | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
-else
- REAL_CFLAGS="$CFLAGS"
-fi
-changequote([, ])dnl
-rm ${tempcname}
-
-ac_link="$ac_link $ld_switch_machine $ld_switch_system"
-
### Compute the unexec source name from the object name.
UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
REL_ALLOC=${GNU_MALLOC}
fi
-LISP_FLOAT_TYPE=yes
-
-
-#### Add the libraries to LIBS and check for some functions.
-
-if test x"${OVERRIDE_CPPFLAGS}" != x; then
- CPPFLAGS="${OVERRIDE_CPPFLAGS}"
-else
- CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS"
-fi
-
LIBS="$libsrc_libs $LIBS"
dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks,
AC_CHECK_LIB(pthreads, cma_open)
-AC_MSG_CHECKING(for XFree86)
+AC_MSG_CHECKING(for XFree86 in /usr/X386)
if test -d /usr/X386/include; then
HAVE_XFREE386=yes
: ${C_SWITCH_X_SITE="-I/usr/X386/include"}
# Change CFLAGS temporarily so that C_SWITCH_X_SITE gets used
# for the tests that follow. We set it back to REAL_CFLAGS later on.
+REAL_CPPFLAGS="$CPPFLAGS"
+
if test "${HAVE_X11}" = "yes"; then
DEFS="$C_SWITCH_X_SITE $DEFS"
LDFLAGS="$LDFLAGS $LD_SWITCH_X_SITE"
LIBS="$LIBX $LIBS"
CFLAGS="$C_SWITCH_X_SITE $CFLAGS"
+ CPPFLAGS="$C_SWITCH_X_SITE $CPPFLAGS"
# On Solaris, arrange for LD_RUN_PATH to point to the X libraries for tests.
# This is handled by LD_SWITCH_X_SITE_AUX during the real build,
HAVE_MOTIF_2_1=$emacs_cv_motif_version_2_1
if test $emacs_cv_motif_version_2_1 = yes; then
AC_DEFINE(HAVE_MOTIF_2_1)
+ AC_CHECK_LIB(Xp, XpCreateContext, HAVE_LIBXP=yes, , -lXext)
+ if test ${HAVE_LIBXP} = yes; then
+ AC_DEFINE(HAVE_LIBXP)
+ fi
+ fi
+fi
+
+### Is -lXaw3d available?
+HAVE_XAW3D=no
+if test "${HAVE_X11}" = "yes"; then
+ if test "${USE_X_TOOLKIT}" != "none"; then
+ old_c_flags="${CFLAGS}"
+ CFLAGS="${LD_SWITCH_X_SITE}"
+ AC_CHECK_HEADER(X11/Xaw3d/Scrollbar.h,
+ AC_CHECK_LIB(Xaw3d, XawScrollbarSetThumb, HAVE_XAW3D=yes, , -lX11))
+ CFLAGS="${old_c_flags}"
+
+ if test "${HAVE_XAW3D}" = "yes"; then
+ AC_DEFINE(HAVE_XAW3D)
+ fi
+ fi
+fi
+
+dnl Use toolkit scroll bars if configured for X toolkit and either
+dnl using Motif or Xaw3d is available, and unless
+dnl --with-toolkit-scroll-bars=no was specified.
+
+USE_TOOLKIT_SCROLL_BARS=no
+if test "${with_toolkit_scroll_bars}" != "no"; then
+ if test "${USE_X_TOOLKIT}" != "none"; then
+ if test "${USE_X_TOOLKIT}" = "MOTIF"; then
+ AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
+ HAVE_XAW3D=no
+ USE_TOOLKIT_SCROLL_BARS=yes
+ elif test "${HAVE_XAW3D}" = "yes"; then
+ AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
+ USE_TOOLKIT_SCROLL_BARS=yes
+ fi
+ fi
+fi
+
+dnl Don't use X11 input methods if user specifies he doesn't want it
+dnl with `--with-xim=no'.
+
+if test "${with_xim}" != "no"; then
+ AC_DEFINE(USE_XIM)
+fi
+
+### Use -lXpm if available, unless `--with-xpm=no'.
+HAVE_XPM=no
+if test "${HAVE_X11}" = "yes"; then
+ if test "${with_xpm}" != "no"; then
+ old_c_flags="${CFLAGS}"
+ CFLAGS="${LD_SWITCH_X_SITE}"
+ AC_CHECK_HEADER(X11/xpm.h,
+ AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, HAVE_XPM=yes, , -lX11))
+ if test "${HAVE_XPM}" = "yes"; then
+ AC_EGREP_CPP(no_return_alloc_pixels,
+ [#include "X11/xpm.h"
+#ifndef XpmReturnAllocPixels
+no_return_alloc_pixels
+#endif
+ ], HAVE_XPM=no, HAVE_XPM=yes)
+ fi
+ CFLAGS="${old_c_flags}"
+ fi
+
+ if test "${HAVE_XPM}" = "yes"; then
+ AC_DEFINE(HAVE_XPM)
+ fi
+fi
+
+### Use -ljpeg if available, unless `--with-jpeg=no'.
+HAVE_JPEG=no
+if test "${HAVE_X11}" = "yes"; then
+ if test "${with_jpeg}" != "no"; then
+ old_c_flags="${CFLAGS}"
+ CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
+ dnl Checking for jpeglib.h can lose becsue of a redefinition of
+ dnl HAVE_STDLIB_H.
+ AC_CHECK_HEADER(jerror.h,
+ AC_CHECK_LIB(jpeg, jpeg_destroy_compress, HAVE_JPEG=yes, , -lX11))
+ CFLAGS="${old_c_flags}"
+ fi
+
+ if test "${HAVE_JPEG}" = "yes"; then
+ AC_DEFINE(HAVE_JPEG)
+ fi
+fi
+
+### Use -lpng if available, unless `--with-png=no'.
+HAVE_PNG=no
+if test "${HAVE_X11}" = "yes"; then
+ if test "${with_png}" != "no"; then
+ old_c_flags="${CFLAGS}"
+ CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
+ AC_CHECK_HEADER(png.h,
+ AC_CHECK_LIB(png, png_set_expand, HAVE_PNG=yes, , -lX11 -lz -lm))
+ CFLAGS="${old_c_flags}"
+ fi
+
+ if test "${HAVE_PNG}" = "yes"; then
+ AC_DEFINE(HAVE_PNG)
+ fi
+fi
+
+### Use -ltiff if available, unless `--with-tiff=no'.
+HAVE_TIFF=no
+if test "${HAVE_X11}" = "yes"; then
+ if test "${with_tiff}" != "no"; then
+ old_c_flags="${CFLAGS}"
+ CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
+ AC_CHECK_HEADER(tiffio.h,
+ tifflibs="-lX11 -lz -lm"
+ # At least one tiff package requires the jpeg library.
+ if test "${HAVE_JPEG}" = yes; then tifflibs="-ljpeg $tifflibs"; fi
+ AC_CHECK_LIB(tiff, TIFFGetVersion, HAVE_TIFF=yes, , $tifflibs))
+ CFLAGS="${old_c_flags}"
+ fi
+
+ if test "${HAVE_TIFF}" = "yes"; then
+ AC_DEFINE(HAVE_TIFF)
+ fi
+fi
+
+### Use -lgif if available, unless `--with-gif=no'.
+HAVE_GIF=no
+if test "${HAVE_X11}" = "yes"; then
+ if test "${with_gif}" != "no"; then
+ old_c_flags="${CFLAGS}"
+ CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
+ AC_CHECK_HEADER(gif_lib.h,
+ AC_CHECK_LIB(ungif, DGifOpen, HAVE_GIF=yes, , -lX11))
+ CFLAGS="${old_c_flags}"
+ fi
+
+ if test "${HAVE_GIF}" = "yes"; then
+ AC_DEFINE(HAVE_GIF)
fi
fi
AC_CHECK_LIB(m, sqrt)
# Check for mail-locking functions in a "mail" library
-AC_CHECK_LIB(mail, maillock,
- AC_DEFINE(HAVE_LIBMAIL)
- AC_CHECK_FUNCS(touchlock)
- AC_CHECK_HEADERS(maillock.h))
+AC_CHECK_LIB(mail, maillock)
+dnl Debian, at least:
+dnl AC_CHECK_LIB(lockfile, maillock, [AC_DEFINE(HAVE_LIBMAIL)])
+AC_CHECK_LIB(lockfile, maillock)
+# If we have the shared liblockfile, assume we must use it for mail
+# locking (e.g. Debian). If we couldn't link against liblockfile
+# (no liblockfile.a installed), ensure that we don't need to.
+if test "$ac_cv_lib_lockfile_maillock" = no; then
+ dnl This works for files generally, not just executables.
+ dnl Should we look elsewhere for it? Maybe examine /etc/ld.so.conf?
+ AC_CHECK_PROG(liblockfile, liblockfile.so, yes, no,
+ /usr/lib:/lib:/usr/local/lib:$LD_LIBRARY_PATH)
+ if test $ac_cv_prog_liblockfile = yes; then
+ AC_MSG_ERROR([Shared liblockfile found but can't link against it.
+This probably means that movemail could lose mail.
+There may be a \`development' package to install containing liblockfile.])
+ else AC_DEFINE(LIBMAIL, -llockfile)
+ fi
+ else :
+fi
+AC_CHECK_FUNCS(touchlock)
+AC_CHECK_HEADERS(maillock.h)
-AC_CHECK_FUNCS(gettimeofday gethostname getdomainname dup2 \
+AC_CHECK_FUNCS(gethostname getdomainname dup2 \
rename closedir mkdir rmdir sysinfo \
random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \
strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
-utimes setrlimit setpgid getcwd shutdown strftime)
+utimes setrlimit setpgid getcwd getwd shutdown strftime getaddrinfo \
+__fpending mblen mbrlen strsignal setitimer ualarm)
+
+AC_FUNC_MKTIME
+if test "$ac_cv_func_working_mktime" = no; then
+ AC_DEFINE(BROKEN_MKTIME)
+fi
+
+AC_FUNC_GETLOADAVG
+
+AC_CHECK_FUNCS(ftello)
+
+# UNIX98 PTYs. AC_SYS_LARGEFILE should have defined _XOPEN_SOURCE
+# if we need it.
+AC_CHECK_FUNCS(grantpt)
+
+# PTY-related GNU extensions.
+AC_CHECK_FUNCS(getpt)
# Check this now, so that we will NOT find the above functions in ncurses.
# That is because we have not set up to link ncurses in lib-src.
# These tell us which Kerberos-related libraries to use.
if test "${with_kerberos+set}" = set; 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
- AC_CHECK_LIB(des, des_cbc_encrypt,,
- AC_CHECK_LIB(des425, des_cbc_encrypt))
- AC_CHECK_LIB(krb, krb_get_cred,,
- AC_CHECK_LIB(krb4, krb_get_cred))
+ 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_CACHE_VAL(emacs_cv_localtime_cache,
[if test x$ac_cv_func_tzset = xyes; then
AC_TRY_RUN([#include <time.h>
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
extern char **environ;
unset_TZ ()
{
fi
if test "x$HAVE_TIMEVAL" = xyes; then
-AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
- emacs_cv_gettimeofday_two_arguments,
-AC_TRY_LINK([
+ AC_CHECK_FUNCS(gettimeofday)
+ AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
+ emacs_cv_gettimeofday_two_arguments,
+ AC_TRY_COMPILE([
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
#else
#include <time.h>
#endif
-#endif
- ],
- [
- struct timeval time;
- struct timezone dummy;
- gettimeofday (&time, &dummy);
-],
- emacs_cv_gettimeofday_two_arguments=yes,
- emacs_cv_gettimeofday_two_arguments=no))
+#endif],
+ [struct timeval time;
+ gettimeofday (&time, 0);],
+ emacs_cv_gettimeofday_two_arguments=yes,
+ emacs_cv_gettimeofday_two_arguments=no))
if test $emacs_cv_gettimeofday_two_arguments = no; then
AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)
fi
fi
+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
AC_DEFINE(HAVE_AIX_SMT_EXP)
fi
+AC_MSG_CHECKING(whether system supports dynamic ptys)
+if test -d /dev/pts && ls -d /dev/ptmx > /dev/null 2>&1 ; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_DEV_PTMX)
+else
+ AC_MSG_RESULT(no)
+fi
+
+AC_FUNC_VFORK
+
+# Fixme: This should be replaced when we have autoconf 2.14.
+AC_SIZE_T
+
# Set up the CFLAGS for real compilation, so we can substitute it.
CFLAGS="$REAL_CFLAGS"
+CPPFLAGS="$REAL_CPPFLAGS"
changequote(, )dnl
#### Find out which version of Emacs this is.
AC_SUBST(X_TOOLKIT_TYPE)
AC_SUBST(machfile)
AC_SUBST(opsysfile)
-AC_SUBST(RANLIB)
+AC_SUBST(GETLOADAVG_LIBS)
AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}")
AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}")
if test "${REL_ALLOC}" = "yes" ; then
AC_DEFINE(REL_ALLOC)
fi
-if test "${LISP_FLOAT_TYPE}" = "yes" ; then
- AC_DEFINE(LISP_FLOAT_TYPE)
-fi
#### Report on what we decided to do.
echo "
echo " Where do we find X Windows libraries? Standard dirs"
fi
+echo " Does Emacs use -lXaw3d? ${HAVE_XAW3D}"
+echo " Does Emacs use -lXpm? ${HAVE_XPM}"
+echo " Does Emacs use -ljpeg? ${HAVE_JPEG}"
+echo " Does Emacs use -ltiff? ${HAVE_TIFF}"
+echo " Does Emacs use -lungif? ${HAVE_GIF}"
+echo " Does Emacs use -lpng? ${HAVE_PNG}"
+echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}"
echo
# Remove any trailing slashes in these variables.
AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \
man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in \
- leim/Makefile, [
+ lisp/Makefile leim/Makefile, [
### Make the necessary directories, if they don't exist.
for dir in etc lisp ; do
`"
changequote([, ])dnl
-echo creating src/paths.h
-make paths-force
+echo creating src/epaths.h
+make epaths-force
echo creating lib-src/Makefile
( cd lib-src