X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/6239880d207f9990beb43708e8504bd435b873cf..19a86a032e8476153e01183c6462a9f89dd5ed9b:/configure.in?ds=sidebyside diff --git a/configure.in b/configure.in index be10351978..b58e0e7fd2 100644 --- a/configure.in +++ b/configure.in @@ -3,7 +3,7 @@ dnl To rebuild the `configure' script from this, execute the command 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 @@ -35,10 +35,14 @@ 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)]) @@ -78,6 +82,18 @@ Currently, \`yes', \`athena' and \`lucid' are synonyms.]) 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 @@ -89,7 +105,7 @@ case "${srcdir}" in ## 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" @@ -163,11 +179,12 @@ case "${canonical}" in *-*-netbsd* ) opsys=netbsd case "${canonical}" in - alpha-*-netbsd*) machine=alpha ;; + 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 ;; @@ -179,13 +196,13 @@ case "${canonical}" in *-*-openbsd* ) opsys=openbsd case "${canonical}" in - alpha-*-openbsd*) machine=alpha ;; + 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-*-netbsd*) machine=vax ;; + vax-*-openbsd*) machine=vax ;; esac ;; @@ -212,6 +229,7 @@ case "${canonical}" in *-*-bsdi2.0* ) opsys=bsdos2 ;; *-*-bsdi2* ) opsys=bsdos2-1 ;; *-*-bsdi3* ) opsys=bsdos3 ;; + *-*-bsdi4* ) opsys=bsdos4 ;; esac ;; @@ -229,17 +247,26 @@ case "${canonical}" in ;; ## 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 @@ -320,7 +347,8 @@ case "${canonical}" in ## 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.*). + ## 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 ;; @@ -336,6 +364,13 @@ case "${canonical}" in 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 @@ -451,7 +486,7 @@ case "${canonical}" in *.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 ;; @@ -469,7 +504,7 @@ case "${canonical}" in hppa*-hp-hpux9* ) machine=hp800 opsys=hpux9 ;; - hppa*-hp-hpux10* ) + hppa*-hp-hpux1[0-9]* ) machine=hp800 opsys=hpux10 ;; @@ -482,7 +517,7 @@ case "${canonical}" in *.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* ) @@ -669,6 +704,11 @@ case "${canonical}" in 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 @@ -727,9 +767,19 @@ case "${canonical}" in 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 -G0 -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]* ) @@ -765,7 +815,7 @@ case "${canonical}" in ;; ## Suns - sparc-*-linux-gnu* ) + sparc-*-linux-gnu* | sparc64-*-linux-gnu* ) machine=sparc opsys=gnu-linux ;; @@ -819,7 +869,7 @@ case "${canonical}" in RANLIB="ar -ts" ;; *-sunos5* | *-solaris* ) - opsys=sol2-4 + opsys=sol2-5 NON_GNU_CPP=/usr/ccs/lib/cpp ;; * ) opsys=bsd4-2 ;; @@ -951,6 +1001,18 @@ case "${canonical}" in 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 ;; @@ -1074,14 +1136,19 @@ AC_PROG_YACC 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 #include @@ -1095,14 +1162,15 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME #ifdef HAVE_UTIME_H #include #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 #include @@ -1113,15 +1181,22 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME #include #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 ], [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 @@ -1169,7 +1244,8 @@ else 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 @@ -1204,7 +1280,7 @@ HAVE_MENUS=no case ${HAVE_X11} in yes ) HAVE_MENUS=yes ;; esac - + if test "${opsys}" = "hpux9"; then case "${x_libraries}" in *X11R4* ) @@ -1356,11 +1432,14 @@ 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_MSG_CHECKING(whether __after_morecore_hook exists) +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], - [AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no) - doug_lea_malloc=no]) + 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=" @@ -1403,7 +1482,7 @@ AC_CHECK_LIB(Xbsd, main, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd") 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"} @@ -1471,27 +1550,36 @@ fi if test "${window_system}" = "x11"; then AC_MSG_CHECKING(X11 version 6) + AC_CACHE_VAL(emacs_cv_x11_version_6, AC_TRY_LINK([#include ], [#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 ], [#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. @@ -1499,14 +1587,20 @@ dnl Older compilers (eg sunos4 cc) choke on it. 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 #include ], [], - [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 @@ -1516,15 +1610,19 @@ X_TOOLKIT_TYPE=$USE_X_TOOLKIT 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 ], [#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. @@ -1539,27 +1637,143 @@ dnl tranle@intellicorp.com says libXmu.a can need XtMalloc in libXt.a to link. fi if test "${USE_X_TOOLKIT}" = "MOTIF"; then - AC_MSG_CHECKING(for Motif version 2.1) + AC_CACHE_CHECK(for Motif version 2.1, emacs_cv_motif_version_2_1, AC_TRY_COMPILE([#include ], [#if XmVERSION > 2 || (XmVERSION == 2 && XmREVISION >= 1) int x = 5; #else Motif version prior to 2.1. #endif], - [AC_MSG_RESULT(yes) - HAVE_MOTIF_2_1=yes - AC_DEFINE(HAVE_MOTIF_2_1)], - [AC_MSG_RESULT(no) - HAVE_MOTIF_2_1=no]) + 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}" + 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, DGifOpenFileName, 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 ], [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 @@ -1568,16 +1782,35 @@ 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 shutdown) +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. @@ -1587,15 +1820,16 @@ AC_CHECK_LIB(ncurses, tparm) # 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(krb, krb_get_cred,, - AC_CHECK_LIB(krb4, krb_get_cred)) - AC_CHECK_LIB(des, des_cbc_encrypt,, - AC_CHECK_LIB(des425, des_cbc_encrypt)) + 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 - AC_CHECK_LIB(krb5, krb5_init_context) - AC_CHECK_LIB(crypto, mit_des_cbc_encrypt) - AC_CHECK_LIB(com_err, com_err) if test "${with_kerberos5+set}" = set; then AC_CHECK_HEADERS(krb5.h) @@ -1610,13 +1844,14 @@ if test "${with_kerberos+set}" = set; then 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 -#if STDC_HEADERS -# include -#endif extern char **environ; unset_TZ () { @@ -1658,7 +1893,8 @@ if test $emacs_cv_localtime_cache = yes; then 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 @@ -1676,9 +1912,11 @@ AC_TRY_LINK([ 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 @@ -1697,6 +1935,14 @@ if test -f /usr/lpp/X11/bin/smt.exp; 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 + # Set up the CFLAGS for real compilation, so we can substitute it. CFLAGS="$REAL_CFLAGS" @@ -1800,6 +2046,13 @@ else 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. @@ -1815,7 +2068,7 @@ AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \ 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 @@ -1836,8 +2089,8 @@ sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/ *$//' \ `" 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