X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/5d4245a68cc8c00faf6704bee76821331ee0ccd4..dcbf2cd2382c853834eb0f380334602a07ad7bf0:/configure.in diff --git a/configure.in b/configure.in index f2ce21bbe6..48006e89b2 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, 2000 Free Software Foundation, Inc. dnl dnl This file is part of GNU Emacs. dnl @@ -35,15 +35,19 @@ 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], +[ --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 @@ -78,6 +82,19 @@ 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 @@ -168,10 +185,14 @@ case "${canonical}" in 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 ;; @@ -185,7 +206,7 @@ case "${canonical}" in mipsel-*-openbsd*) machine=pmax ;; ns32k-*-openbsd*) machine=ns32000 ;; sparc-*-openbsd*) machine=sparc ;; - vax-*-netbsd*) machine=vax ;; + vax-*-openbsd*) machine=vax ;; esac ;; @@ -235,12 +256,27 @@ case "${canonical}" in # 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]*) + NON_GNU_CPP='cc -E -std0' ;; + 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 @@ -618,6 +654,11 @@ case "${canonical}" in 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 @@ -743,12 +784,18 @@ case "${canonical}" in ;; mips-sgi-irix6.5 ) machine=iris4d opsys=irix6-5 - NON_GNU_CPP=/lib/cpp - NON_GCC_TEST_OPTIONS="-n32 -G0" + # 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]* ) @@ -784,11 +831,11 @@ case "${canonical}" in ;; ## 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 @@ -977,6 +1024,11 @@ case "${canonical}" in RANLIB="ar -ts" ;; + ## UXP/V + f301-fujitsu-uxpv4.1) + machine=f301 opsys=uxpv + ;; + * ) unported=yes ;; @@ -1018,10 +1070,6 @@ if test x"${opsys}" = x; then esac fi -if test "x$RANLIB" = x; then - RANLIB=ranlib -fi - changequote([, ])dnl if test $unported = yes; then @@ -1096,12 +1144,20 @@ AC_PROG_LN_S 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 +# 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 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) AC_HEADER_STDC AC_HEADER_TIME AC_DECL_SYS_SIGLIST @@ -1129,6 +1185,14 @@ fi 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 ], [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 @@ -1146,12 +1210,46 @@ if test $emacs_cv_struct_timeval = yes; then AC_DEFINE(HAVE_TIMEVAL) fi +AC_CACHE_CHECK(for struct exception, emacs_cv_struct_exception, +AC_TRY_COMPILE([#include ], +[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 ], [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 @@ -1196,7 +1294,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 @@ -1231,7 +1330,7 @@ HAVE_MENUS=no case ${HAVE_X11} in yes ) HAVE_MENUS=yes ;; esac - + if test "${opsys}" = "hpux9"; then case "${x_libraries}" in *X11R4* ) @@ -1318,8 +1417,12 @@ configure___ system_malloc=no #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 @@ -1408,9 +1511,6 @@ if test x"${REL_ALLOC}" = x; then 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 @@ -1599,6 +1699,126 @@ Motif version prior to 2.1. 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, + 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 @@ -1619,16 +1839,50 @@ 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 strftime) +utimes setrlimit setpgid getcwd shutdown strftime getaddrinfo \ +__fpending getloadavg mblen mbrlen strsignal setitimer ualarm) + +AC_FUNC_MKTIME +if test "$ac_cv_func_working_mktime" = no; then + AC_DEFINE(BROKEN_MKTIME) +fi + +AC_SYS_LARGEFILE +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. @@ -1639,13 +1893,14 @@ 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(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 @@ -1669,9 +1924,6 @@ 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 () { @@ -1755,6 +2007,16 @@ 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 + +AC_FUNC_VFORK + # Set up the CFLAGS for real compilation, so we can substitute it. CFLAGS="$REAL_CFLAGS" @@ -1798,7 +2060,6 @@ AC_SUBST(CFLAGS) AC_SUBST(X_TOOLKIT_TYPE) AC_SUBST(machfile) AC_SUBST(opsysfile) -AC_SUBST(RANLIB) AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}") AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}") @@ -1830,9 +2091,6 @@ fi 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 " @@ -1858,6 +2116,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. @@ -1894,8 +2159,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