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 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Emacs.
dnl
'${datadir}/emacs/site-lisp:${datadir}/emacs/${version}/leim'
lisppath='${locallisppath}:${lispdir}'
etcdir='${datadir}/emacs/${version}/etc'
-lockdir='${sharedstatedir}/emacs/lock'
archlibdir='${libexecdir}/emacs/${version}/${configuration}'
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],
+[if test "${with_kerberos5+set}" = set; then
+ if test "${with_kerberos+set}" != set; then
+ with_kerberos=yes
+ AC_DEFINE(KERBEROS)
+ fi
+fi
+AC_DEFINE(KERBEROS5)])
AC_ARG_WITH(hesiod,
[ --with-hesiod support Hesiod to get the POP server host],
[AC_DEFINE(HESIOD)])
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])
#### Make srcdir absolute, if it isn't already. It's important to
#### avoid running the path through pwd unnecessary, since pwd can
## We may be able to use the $PWD environment variable to make this
## absolute. But sometimes PWD is inaccurate.
## Make sure CDPATH doesn't affect cd (in case PWD is relative).
- CDPATH=
+ unset CDPATH
if test "${PWD}" != "" && test "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`" ;
then
srcdir="$PWD"
*-*-netbsd* )
opsys=netbsd
case "${canonical}" in
+ alpha*-*-netbsd*) machine=alpha ;;
i[3456]86-*-netbsd*) machine=intel386 ;;
m68k-*-netbsd*)
# This is somewhat bogus.
machine=hp9000s300 ;;
+ powerpc-apple-netbsd*) machine=macppc ;;
mips-*-netbsd*) machine=pmax ;;
ns32k-*-netbsd*) machine=ns32000 ;;
sparc-*-netbsd*) machine=sparc ;;
esac
;;
+ ## OpenBSD ports
+ *-*-openbsd* )
+ 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 ;;
+ esac
+ ;;
+
## Acorn RISCiX:
arm-acorn-riscix1.1* )
machine=acorn opsys=riscix1-1
machine=acorn opsys=riscix12
;;
+ ## BSDI ports
+ *-*-bsdi* )
+ opsys=bsdi
+ case "${canonical}" in
+ i[345]86-*-bsdi*) machine=intel386 ;;
+ sparc-*-bsdi*) machine=sparc ;;
+ powerpc-*-bsdi*) machine=powerpc ;;
+ esac
+ case "${canonical}" in
+ *-*-bsd386* | *-*-bsdi1* ) opsys=bsd386 ;;
+ *-*-bsdi2.0* ) opsys=bsdos2 ;;
+ *-*-bsdi2* ) opsys=bsdos2-1 ;;
+ *-*-bsdi3* ) opsys=bsdos3 ;;
+ *-*-bsdi4* ) opsys=bsdos4 ;;
+ esac
+ ;;
+
## Alliant machines
## Strictly speaking, we need the version of the alliant operating
## system to choose the right machine file, but currently the
;;
## Alpha (DEC) machines.
- alpha-dec-osf* )
+ alpha*-dec-osf* )
machine=alpha opsys=osf1
# 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
;;
- alpha-*-linux-gnu* )
+ 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
;;
## Data General AViiON Machines
+ ## DG changed naming conventions with the release of 5.4.4.10, they
+ ## dropped the initial 5.4 but left the intervening R. Because of the
+ ## R this shouldn't conflict with older versions of the OS (which I
+ ## think were named like dgux4.*). In addition, DG new AViiONs series
+ ## uses either Motorola M88k or Intel Pentium CPUs.
+ m88k-dg-dguxR4.* | m88k-dg-dgux4* )
+ machine=aviion opsys=dgux4
+ ;;
m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
## This name is dgux5-4-3 instead of dgux5-4r3
## to avoid a file name conflict on MSDOS.
machine=aviion opsys=dgux
;;
+ ## Data General AViiON Intel (x86) Machines
+ ## Exists from 5.4.3 (current i586-dg-dguxR4.11)
+ ## Ehud Karni, 1998-may-30, ehud@unix.simonwiesel.co.il
+ i[345]86-dg-dguxR4* )
+ machine=aviion-intel opsys=dgux4
+ ;;
+
## DECstations
mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
machine=pmax opsys=bsd4-2
*.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
*.08.* ) machine=hp9000s300 opsys=hpux8 ;;
*.09.* ) machine=hp9000s300 opsys=hpux9 ;;
- *.10.* ) machine=hp9000s300 opsys=hpux9shr ;;
+ *.1[0-9].* ) machine=hp9000s300 opsys=hpux9shr ;;
*) machine=hp9000s300 opsys=hpux ;;
esac
;;
hppa*-hp-hpux9* )
machine=hp800 opsys=hpux9
;;
- hppa*-hp-hpux10* )
+ hppa*-hp-hpux1[0-9]* )
machine=hp800 opsys=hpux10
;;
*.B8.* ) machine=hp800 opsys=hpux8 ;;
*.08.* ) machine=hp800 opsys=hpux8 ;;
*.09.* ) machine=hp800 opsys=hpux9 ;;
- *) machine=hp800 opsys=hpux ;;
+ *) machine=hp800 opsys=hpux10 ;;
esac
;;
hppa*-*-nextstep* )
machine=tower32v3 opsys=usg5-3
;;
+ ## NEC EWS4800
+ mips-nec-sysv4*)
+ machine=ews4800 opsys=ux4800
+ ;;
+
## Nixdorf Targon 31
m68*-nixdorf-sysv* )
machine=targon31 opsys=usg5-2-2
machine=plexus opsys=usg5-2
;;
+ ## PowerPC reference platform
+ powerpcle-*-solaris2* )
+ machine=prep
+ opsys=sol2-5
+ ;;
+
## Pyramid machines
## I don't really have any idea what sort of processor the Pyramid has,
## so I'm assuming it is its own architecture.
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="-n32 -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"
NON_GCC_TEST_OPTIONS=-32
;;
mips-sgi-irix5.[01]* )
mips-sony-bsd* | mips-sony-newsos4* | mips-sony-news4*)
machine=news-risc opsys=bsd4-3
;;
+ mips-sony-newsos6* )
+ machine=news-r6 opsys=newsos6
+ ;;
mips-sony-news* )
machine=news-risc opsys=newsos5
;;
;;
## Suns
- sparc-*-linux-gnu* )
+ sparc-*-linux-gnu* | sparc64-*-linux-gnu* )
machine=sparc opsys=gnu-linux
;;
m68* ) machine=sun3 ;;
i[3456]86-sun-sunos[34]* ) machine=sun386 ;;
i[3456]86-*-* ) machine=intel386 ;;
+ powerpcle* ) machine=powerpcle ;;
powerpc* | rs6000* ) machine=ibmrs6000 ;;
sparc* ) machine=sparc ;;
* ) unported=yes ;;
RANLIB="ar -ts"
;;
*-sunos5* | *-solaris* )
- opsys=sol2-4
+ opsys=sol2-5
NON_GNU_CPP=/usr/ccs/lib/cpp
;;
* ) opsys=bsd4-2 ;;
# /lib/cpp does not accept it.
OVERRIDE_CPPFLAGS=" "
;;
- *-bsd386* | *-bsdi1* ) opsys=bsd386 ;;
- *-bsdi2.0* ) opsys=bsdos2 ;;
- *-bsdi2* ) opsys=bsdos2-1 ;;
+ *-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
*-386bsd* ) opsys=386bsd ;;
*-freebsd* ) opsys=freebsd ;;
*-nextstep* ) opsys=nextstep ;;
esac
;;
- ## Linux/68k-based GNU system
+ ## m68k Linux-based GNU system
m68k-*-linux-gnu* )
machine=m68k opsys=gnu-linux
;;
+ ## Mips Linux-based GNU system
+ mips-*-linux-gnu* )
+ machine=mips opsys=gnu-linux
+ ;;
+
+ ## UXP/DS
+ sparc-fujitsu-sysv4* )
+ machine=sparc opsys=uxpds
+ NON_GNU_CPP=/usr/ccs/lib/cpp
+ RANLIB="ar -ts"
+ ;;
+
+ ## UXP/V
+ f301-fujitsu-uxpv4.1)
+ machine=f301 opsys=uxpv
+ ;;
+
* )
unported=yes
;;
*-sysv2 | *-sysvr2 ) opsys=usg5-2 ;;
*-sysv2.2 | *-sysvr2.2 ) opsys=usg5-2-2 ;;
*-sysv3* | *-sysvr3* ) opsys=usg5-3 ;;
+ *-sysv4.2uw* ) opsys=unixware ;;
*-sysv4.1* | *-sysvr4.1* )
NON_GNU_CPP=/usr/lib/cpp
opsys=usg5-4 ;;
dnl checks for Unix variants
AC_AIX
+# Sound support for GNU/Linux and the free BSDs.
+AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h)
+
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)
+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)
AC_HEADER_STDC
AC_HEADER_TIME
AC_DECL_SYS_SIGLIST
dnl Some systems have utime.h but don't declare the struct anyplace.
-AC_MSG_CHECKING(for struct utimbuf)
+AC_CACHE_CHECK(for struct utimbuf, emacs_cv_struct_utimbuf,
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
#ifdef HAVE_UTIME_H
#include <utime.h>
#endif], [static struct utimbuf x; x.actime = x.modtime;],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_STRUCT_UTIMBUF)],
- AC_MSG_RESULT(no))
+ emacs_cv_struct_utimbuf=yes, emacs_cv_struct_utimbuf=no))
+if test $emacs_cv_struct_utimbuf = yes; then
+ AC_DEFINE(HAVE_STRUCT_UTIMBUF)
+fi
dnl checks for typedefs
AC_TYPE_SIGNAL
-AC_MSG_CHECKING(for struct timeval)
+AC_CACHE_CHECK(for struct timeval, emacs_cv_struct_timeval,
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
#include <time.h>
#endif
#endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
- [AC_MSG_RESULT(yes)
- HAVE_TIMEVAL=yes
- AC_DEFINE(HAVE_TIMEVAL)],
- [AC_MSG_RESULT(no)
- HAVE_TIMEVAL=no])
+ emacs_cv_struct_timeval=yes, emacs_cv_struct_timeval=no))
+HAVE_TIMEVAL=$emacs_cv_struct_timeval
+if test $emacs_cv_struct_timeval = yes; then
+ AC_DEFINE(HAVE_TIMEVAL)
+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
AC_C_CONST
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"`
+ x_default_search_path=""
+ for x_library in `echo ${x_libraries} | sed -e "s/:/ /g"`; do
+ x_search_path="${x_library}/X11/%L/%T/%N%C%S:\
+${x_library}/X11/%L/%T/%N%C%S:${x_libary}/X11/%l/%T/%N%C%S:\
+${x_library}/X11/%T/%N%C%S:${x_library}/X11/%L/%T/%N%S:\
+${x_library}/X11/%l/%T/%N%S:${x_library}/X11/%T/%N%S"
+ if test x"${x_default_search_path}" = x; then
+ x_default_search_path=${x_search_path}
+ else
+ x_default_search_path="${x_search_path}:${x_default_search_path}"
+ fi
+ done
fi
if test "${x_includes}" != NONE && test -n "${x_includes}"; then
C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"`
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* )
# Do the opsystem or machine files prohibit the use of the GNU malloc?
# Assume not, until told otherwise.
GNU_MALLOC=yes
+doug_lea_malloc=yes
+AC_CHECK_FUNC(malloc_get_state, ,doug_lea_malloc=no)
+AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
+AC_CACHE_CHECK(whether __after_morecore_hook exists,
+ emacs_cv_var___after_morecore_hook,
+AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
+ emacs_cv_var___after_morecore_hook=yes,
+ emacs_cv_var___after_morecore_hook=no))
+if test $emacs_cv_var___after_morecore_hook = no; then
+ doug_lea_malloc=no
+fi
if test "${system_malloc}" = "yes"; then
GNU_MALLOC=no
GNU_MALLOC_reason="
- (The GNU allocators don't work with this system configuration.)"
+ (The GNU allocators don't work with this system configuration.)"
+fi
+if test "$doug_lea_malloc" = "yes" ; then
+ if test "$GNU_MALLOC" = yes ; then
+ GNU_MALLOC_reason="
+ (Using Doug Lea's new malloc from the GNU C Library.)"
+ fi
+ AC_DEFINE(DOUG_LEA_MALLOC)
fi
if test x"${REL_ALLOC}" = x; then
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"}
if test "${window_system}" = "x11"; then
AC_MSG_CHECKING(X11 version 6)
+ AC_CACHE_VAL(emacs_cv_x11_version_6,
AC_TRY_LINK([#include <X11/Xlib.h>],
[#if XlibSpecificationRelease < 6
fail;
#endif
-], [AC_MSG_RESULT(6 or newer)
- AC_DEFINE(HAVE_X11R6)],
- [AC_MSG_RESULT(before 6)])
+], emacs_cv_x11_version_6=yes, emacs_cv_x11_version_6=no))
+ if test $emacs_cv_x11_version_6 = yes; then
+ AC_MSG_RESULT(6 or newer)
+ AC_DEFINE(HAVE_X11R6)
+ else
+ AC_MSG_RESULT(before 6)
+ 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
-], [AC_MSG_RESULT(5 or newer)
+], 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)],
- [
+ AC_DEFINE(HAVE_X11R5)
+ else
HAVE_X11R5=no
- AC_MSG_RESULT(before 5)])
+ AC_MSG_RESULT(before 5)
+ fi
fi
dnl Do not put whitespace before the #include statements below.
if test x"${USE_X_TOOLKIT}" = xmaybe; then
if test x"${HAVE_X11R5}" = xyes; then
AC_MSG_CHECKING(X11 version 5 with Xaw)
+ AC_CACHE_VAL(emacs_cv_x11_version_5_with_xaw,
AC_TRY_LINK([
#include <X11/Intrinsic.h>
#include <X11/Xaw/Simple.h>],
[],
- [AC_MSG_RESULT(5 or newer, with Xaw; use toolkit by default)
- USE_X_TOOLKIT=LUCID],
- [AC_MSG_RESULT(before 5 or no Xaw; do not use toolkit by default)
- USE_X_TOOLKIT=none])
+ emacs_cv_x11_version_5_with_xaw=yes,
+ emacs_cv_x11_version_5_with_xaw=no))
+ if test $emacs_cv_x11_version_5_with_xaw = yes; then
+ AC_MSG_RESULT([5 or newer, with Xaw; use toolkit by default])
+ USE_X_TOOLKIT=LUCID
+ else
+ AC_MSG_RESULT(before 5 or no Xaw; do not use toolkit by default)
+ USE_X_TOOLKIT=none
+ fi
else
USE_X_TOOLKIT=none
fi
if test "${USE_X_TOOLKIT}" != "none"; then
AC_MSG_CHECKING(X11 toolkit version)
+ AC_CACHE_VAL(emacs_cv_x11_toolkit_version_6,
AC_TRY_LINK([#include <X11/Intrinsic.h>],
[#if XtSpecificationRelease < 6
fail;
#endif
-], [AC_MSG_RESULT(6 or newer)
- HAVE_X11XTR6=yes
- AC_DEFINE(HAVE_X11XTR6)],
- [AC_MSG_RESULT(before 6)
- HAVE_X11XTR6=no])
+], emacs_cv_x11_toolkit_version_6=yes, emacs_cv_x11_toolkit_version_6=no))
+ HAVE_X11XTR6=$emacs_cv_x11_toolkit_version_6
+ if test $emacs_cv_x11_toolkit_version_6 = yes; then
+ AC_MSG_RESULT(6 or newer)
+ AC_DEFINE(HAVE_X11XTR6)
+ else
+ AC_MSG_RESULT(before 6)
+ fi
dnl If using toolkit, check whether libXmu.a exists.
dnl tranle@intellicorp.com says libXmu.a can need XtMalloc in libXt.a to link.
LIBS="$OLDLIBS"
fi
+if test "${USE_X_TOOLKIT}" = "MOTIF"; then
+ AC_CACHE_CHECK(for Motif version 2.1, emacs_cv_motif_version_2_1,
+ AC_TRY_COMPILE([#include <Xm/Xm.h>],
+ [#if XmVERSION > 2 || (XmVERSION == 2 && XmREVISION >= 1)
+int x = 5;
+#else
+Motif version prior to 2.1.
+#endif],
+ emacs_cv_motif_version_2_1=yes, emacs_cv_motif_version_2_1=no))
+ 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)
+ 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
+
+### 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))
+ 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,
+ AC_CHECK_LIB(tiff, TIFFGetVersion, HAVE_TIFF=yes, , -lX11 -lm))
+ 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
+
# If netdb.h doesn't declare h_errno, we must declare it by hand.
-AC_MSG_CHECKING(whether netdb declares h_errno)
+AC_CACHE_CHECK(whether netdb declares h_errno,
+ emacs_cv_netdb_declares_h_errno,
AC_TRY_LINK([#include <netdb.h>],
[return h_errno;],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_H_ERRNO)],
- [AC_MSG_RESULT(no)])
+ emacs_cv_netdb_declares_h_errno=yes, emacs_cv_netdb_declares_h_errno=no))
+if test $emacs_cv_netdb_declares_h_errno = yes; then
+ AC_DEFINE(HAVE_H_ERRNO)
+fi
AC_FUNC_ALLOCA
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 \
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)
+utimes setrlimit setpgid getcwd shutdown strftime getaddrinfo \
+__fpending ftello getloadavg mblen mbrlen strsignal setitimer ualarm)
# 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(krb, krb_get_cred)
- AC_CHECK_LIB(des, des_cbc_encrypt)
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(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_CHECK_HEADERS(krb5.h)
+ else
+ AC_CHECK_HEADERS(des.h,,
+ AC_CHECK_HEADERS(kerberosIV/des.h,,
+ AC_CHECK_HEADERS(kerberos/des.h)))
+ AC_CHECK_HEADERS(krb.h,,
+ AC_CHECK_HEADERS(kerberosIV/krb.h,,
+ AC_CHECK_HEADERS(kerberos/krb.h)))
+ fi
+ AC_CHECK_HEADERS(com_err.h)
fi
+# Solaris requires -lintl if you want strerror (which calls dgettext)
+# to return localized messages.
+AC_CHECK_LIB(intl, dgettext)
+
AC_MSG_CHECKING(whether localtime caches TZ)
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_MSG_CHECKING(whether gettimeofday can't accept two arguments)
+AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
+ emacs_cv_gettimeofday_two_arguments,
AC_TRY_LINK([
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
struct timezone dummy;
gettimeofday (&time, &dummy);
],
- [AC_MSG_RESULT(no)],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)])
+ 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
ok_so_far=yes
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
+
# Set up the CFLAGS for real compilation, so we can substitute it.
CFLAGS="$REAL_CFLAGS"
AC_SUBST(lispdir)
AC_SUBST(locallisppath)
AC_SUBST(lisppath)
+AC_SUBST(x_default_search_path)
AC_SUBST(etcdir)
-AC_SUBST(lockdir)
AC_SUBST(archlibdir)
AC_SUBST(docdir)
AC_SUBST(bitmapdir)
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.
changequote([, ])dnl
AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \
- man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in, [
+ man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in \
+ leim/Makefile, [
### Make the necessary directories, if they don't exist.
-for dir in cpp etc lisp ; do
+for dir in etc lisp ; do
test -d ${dir} || mkdir ${dir}
done
`"
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
echo source $top_srcdir/src/.gdbinit > src/.gdbinit
fi
+# This is how we know whether to re-run configure in certain cases.
+touch src/config.stamp
+
], [CPP="$CPP" CPPFLAGS="$CPPFLAGS"])