dnl autoconf
dnl in the directory containing this script.
dnl
-dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001
+dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002
dnl Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Emacs.
dnl Free Software Foundation, Inc., 59 Temple Place - Suite 330,
dnl Boston, MA 02111-1307, USA.
-AC_PREREQ(2.8)dnl
+AC_PREREQ(2.51)dnl
AC_INIT(src/lisp.h)
AC_CONFIG_HEADER(src/config.h:src/config.in)
+dnl Support for --program-prefix, --program-suffix and
+dnl --program-transform-name options
+AC_ARG_PROGRAM
+
lispdir='${datadir}/emacs/${version}/lisp'
locallisppath='${datadir}/emacs/${version}/site-lisp:'\
'${datadir}/emacs/site-lisp:${datadir}/emacs/${version}/leim'
[ --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])
+ don't use Motif or Xaw3d scroll bars])
AC_ARG_WITH(xim,
-[ --without-xim don't use X11 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 unnecessarily, since pwd can
. )
## We may be able to use the $PWD environment variable to make this
## absolute. But sometimes PWD is inaccurate.
- if test ".${PWD}" != "." && test ".`(cd ${PWD} ; sh -c pwd)`" = ".${PWD}" ;
+ ## Note: we used to use ${PWD} at the end instead of `pwd`,
+ ## but that tested only for a well-formed and valid PWD,
+ ## it did not object when PWD was well-formed and valid but just wrong.
+ if test ".${PWD}" != "." && test ".`(cd ${PWD} ; sh -c pwd)`" = ".`pwd`" ;
then
srcdir="$PWD"
else
AC_CANONICAL_HOST
canonical=$host
-configuration=$host_alias
+configuration=${host_alias-$host}
changequote(, )dnl
machine='' opsys='' unported=no
case "${canonical}" in
+ ## FreeBSD ports
+ *-*-freebsd* )
+ opsys=freebsd
+ case "${canonical}" in
+ alpha*-*-freebsd*) machine=alpha ;;
+ i[3456]86-*-freebsd*) machine=intel386 ;;
+ esac
+ ;;
+
## NetBSD ports
*-*-netbsd* )
opsys=netbsd
*-*-bsdi2.0* ) opsys=bsdos2 ;;
*-*-bsdi2* ) opsys=bsdos2-1 ;;
*-*-bsdi3* ) opsys=bsdos3 ;;
- *-*-bsdi4* ) opsys=bsdos4 ;;
+ *-*-bsdi[45]* ) opsys=bsdos4 ;;
esac
;;
## operating system.
;;
+ ## Compaq Nonstop
+ mips-compaq-nonstopux* )
+ machine=nonstopux opsys=nonstopux
+ ;;
+
## Convex
*-convex-bsd* | *-convex-convexos* )
machine=convex opsys=bsd4-3
hppa1.1-hitachi-hiuxmpp* )
machine=sr2k opsys=hiuxmpp
;;
+ hppa1.1-hitachi-hiuxwe2* )
+ machine=sr2k opsys=hiuxwe2
+ ;;
## Honeywell XPS100
xps*-honeywell-sysv* )
machine=xps100 opsys=usg5-2
hppa*-hp-hpux9* )
machine=hp800 opsys=hpux9
;;
- hppa*-hp-hpux1[0-9]* )
+ hppa*-hp-hpux10* )
machine=hp800 opsys=hpux10
;;
+ hppa*-hp-hpux1[1-9]* )
+ machine=hp800 opsys=hpux11
+ ;;
+
+ hppa*-*-linux-gnu* )
+ machine=hp800 opsys=gnu-linux
+ ;;
## HP 9000 series 700 and 800, running HP/UX
hppa*-hp-hpux* )
i370-ibm-aix*)
machine=ibm370aix opsys=usg5-3
;;
+ s390-*-linux-gnu)
+ machine=ibms390 opsys=gnu-linux
+ ;;
rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1* )
machine=ibmrs6000 opsys=aix3-1
;;
;;
*-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
*-386bsd* ) opsys=386bsd ;;
- *-freebsd* ) opsys=freebsd ;;
*-nextstep* ) opsys=nextstep ;;
## Otherwise, we'll fall through to the generic opsys code at the bottom.
esac
case ${with_gcc} in
"yes" ) CC="gcc" GCC=yes ;;
"no" ) : ${CC=cc} ;;
- * ) AC_PROG_CC
+ * )
esac
+AC_PROG_CC
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
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 stdlib.h \
- termcap.h stdio_ext.h fcntl.h term.h strings.h)
+ termcap.h stdio_ext.h fcntl.h term.h strings.h coff.h)
AC_HEADER_STDC
AC_HEADER_TIME
AC_DECL_SYS_SIGLIST
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))
+ emacs_cv_speed_t=yes, emacs_cv_speed_t=no))
if test $emacs_cv_speed_t = yes; then
AC_DEFINE(HAVE_SPEED_T)
fi
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],
+[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))
+ emacs_cv_var___after_morecore_hook=no)])
if test $emacs_cv_var___after_morecore_hook = no; then
doug_lea_malloc=no
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 <X11/Xlib.h>],
+ [AC_TRY_LINK([#include <X11/Xlib.h>],
[#if XlibSpecificationRelease < 6
fail;
#endif
-], emacs_cv_x11_version_6=yes, emacs_cv_x11_version_6=no))
+], 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)
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>],
+ [AC_TRY_LINK([#include <X11/Xlib.h>],
[#if XlibSpecificationRelease < 5
fail;
#endif
-], emacs_cv_x11_version_5=yes, emacs_cv_x11_version_5=no))
+], 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
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([
+ [AC_TRY_LINK([
#include <X11/Intrinsic.h>
#include <X11/Xaw/Simple.h>],
[],
emacs_cv_x11_version_5_with_xaw=yes,
- emacs_cv_x11_version_5_with_xaw=no))
+ 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
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>],
+ [AC_TRY_LINK([#include <X11/Intrinsic.h>],
[#if XtSpecificationRelease < 6
fail;
#endif
-], emacs_cv_x11_toolkit_version_6=yes, emacs_cv_x11_toolkit_version_6=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)
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>],
+ [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))
+ 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
HAVE_LIBXP=no
AC_CHECK_HEADER(X11/xpm.h,
AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, HAVE_XPM=yes, , -lX11))
if test "${HAVE_XPM}" = "yes"; then
- AC_MSG_CHECKING(for XpmReturnAllocPixels preprocessor define)
- AC_EGREP_CPP(no_return_alloc_pixels,
- [#include "X11/xpm.h"
+ AC_MSG_CHECKING(for XpmReturnAllocPixels preprocessor define)
+ 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
- if test "${HAVE_XPM}" = "yes"; then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
+ ], HAVE_XPM=no, HAVE_XPM=yes)
+
+ if test "${HAVE_XPM}" = "yes"; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
fi
fi
if test "${HAVE_JPEG}" = "yes"; then
AC_DEFINE(HAVE_JPEG)
+ AC_EGREP_CPP(
+changequote({, })dnl avoid leadingspace on the next line
+{version= *(6[2-9]|[7-9][0-9])},
+changequote([, ])dnl
+ [#include <jpeglib.h>
+ version=JPEG_LIB_VERSION
+],
+ AC_DEFINE(HAVE_JPEG),
+ [AC_MSG_WARN([libjpeg found, but not version 6b or later])
+ HAVE_JPEG=no])
fi
fi
if test "${HAVE_X11}" = "yes"; then
if test "${with_gif}" != "no"; then
AC_CHECK_HEADER(gif_lib.h,
- AC_CHECK_LIB(ungif, DGifOpen, HAVE_GIF=yes))
+# EGifPutExtensionLast only exists from version libungif-4.1.0b1.
+# Earlier versions can crash Emacs.
+ AC_CHECK_LIB(ungif, EGifPutExtensionLast, HAVE_GIF=yes))
fi
if test "${HAVE_GIF}" = "yes"; then
# If netdb.h doesn't declare h_errno, we must declare it by hand.
AC_CACHE_CHECK(whether netdb declares h_errno,
emacs_cv_netdb_declares_h_errno,
-AC_TRY_LINK([#include <netdb.h>],
+[AC_TRY_LINK([#include <netdb.h>],
[return h_errno;],
- emacs_cv_netdb_declares_h_errno=yes, emacs_cv_netdb_declares_h_errno=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_CHECK_FUNCS(touchlock)
AC_CHECK_HEADERS(maillock.h)
-AC_CHECK_FUNCS(gethostname getdomainname dup2 \
+AC_CHECK_FUNCS(gethostname getdomainname getpeername 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 getwd shutdown strftime getaddrinfo \
-__fpending mblen mbrlen strsignal setitimer ualarm index rindex \
+__fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \
gai_strerror mkstemp)
AC_FUNC_MKTIME
# than to expect to find it in ncurses.
AC_CHECK_LIB(ncurses, tparm)
+# 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)
+ else
+ RESOLVLIB=
+ fi
+ AC_CHECK_FUNC(hes_getmailhost, , [AC_CHECK_LIB(hesiod, hes_getmailhost,
+ AC_DEFINE(HAVE_LIBHESIOD), :, $RESOLVLIB)])
+fi
+
# 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_HEADERS(krb5.h)
else
AC_CHECK_HEADERS(des.h,,
- AC_CHECK_HEADERS(kerberosIV/des.h,,
- AC_CHECK_HEADERS(kerberos/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)))
+ [AC_CHECK_HEADERS(kerberosIV/krb.h,,
+ [AC_CHECK_HEADERS(kerberos/krb.h)])])
fi
AC_CHECK_HEADERS(com_err.h)
fi
AC_CHECK_FUNCS(gettimeofday)
AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
emacs_cv_gettimeofday_two_arguments,
- AC_TRY_COMPILE([
+ [AC_TRY_COMPILE([
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
[struct timeval time;
gettimeofday (&time, 0);],
emacs_cv_gettimeofday_two_arguments=yes,
- emacs_cv_gettimeofday_two_arguments=no))
+ emacs_cv_gettimeofday_two_arguments=no)])
if test $emacs_cv_gettimeofday_two_arguments = no; then
AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)
fi
AC_MSG_RESULT(no)
fi
-AC_FUNC_VFORK
+AC_FUNC_FORK
# Fixme: This should be replaced when we have autoconf 2.14.
AC_SIZE_T
AC_DEFINE(REL_ALLOC)
fi
+AC_CHECK_HEADERS(nlist.h, [AC_DEFINE(NLIST_STRUCT, 1,
+ [Define if you have <nlist.h>.])])
+
#### Report on what we decided to do.
echo "
Configured for \`${canonical}'.
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 leim/Makefile, [
+ lisp/Makefile lispref/Makefile lispintro/Makefile leim/Makefile, [
### Make the necessary directories, if they don't exist.
for dir in etc lisp ; do
changequote([, ])dnl
echo creating src/epaths.h
-make epaths-force
+${MAKE-make} epaths-force
# As of 2000-11-19, newest development versions of GNU cpp preprocess
# `..' to `. .' unless invoked with -traditional
sed -e '/start of cpp stuff/q' \
< Makefile.c > junk1.c
sed -e '1,/start of cpp stuff/d'\
- -e 's@/\*\*/#\(.*\)$@/* \1 */@' \
+ -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
< Makefile.c > junk.c
- $CPP $undefs -I. -I$top_srcdir/src $CPPFLAGS junk.c | \
+ $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
sed -e 's/^ / /' -e '/^#/d' -e '/^[ \f]*$/d' > junk2.c
cat junk1.c junk2.c > Makefile.new
rm -f junk.c junk1.c junk2.c
sed -e '/start of cpp stuff/q' \
< Makefile.c > junk1.c
sed -e '1,/start of cpp stuff/d'\
- -e 's@/\*\*/#\(.*\)$@/* \1 */@' \
+ -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
< Makefile.c > junk.c
- $CPP $undefs -I. -I$top_srcdir/src $CPPFLAGS junk.c | \
+ $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
sed -e 's/^ / /' -e '/^#/d' -e '/^[ \f]*$/d' > junk2.c
cat junk1.c junk2.c > Makefile.new
rm -f junk.c junk1.c junk2.c
mv -f Makefile.new Makefile
)
-if test ! -f src/.gdbinit && test -f $top_srcdir/src/.gdbinit; then
+if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then
echo creating src/.gdbinit
- echo source $top_srcdir/src/.gdbinit > src/.gdbinit
+ echo source $srcdir/src/.gdbinit > src/.gdbinit
fi
# This is how we know whether to re-run configure in certain cases.