X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/6a22cdf4bfc7a17ff6e6b0023feb23ffcc056f65..f7c5994deb832886c5bf808494335a0cb29ae84b:/configure.in diff --git a/configure.in b/configure.in index 2c1734563d..9ceb2fc291 100644 --- a/configure.in +++ b/configure.in @@ -38,6 +38,25 @@ lisppath='${locallisppath}:${lispdir}' etcdir='${datadir}/emacs/${version}/etc' archlibdir='${libexecdir}/emacs/${version}/${configuration}' docdir='${datadir}/emacs/${version}/etc' +gamedir=yes + +AC_ARG_WITH(game-dir, +[ --with-game-dir use a shared game directory if possible], + [if test "$withval" = yes; then + gamedir="${localstatedir}/games/emacs" + else + if test "$withval" = no; then + gamedir=no + else + gamedir="$withval" + fi + fi +]) + +gameuser=games +AC_ARG_WITH(game-user, +[ --with-game-user use specified user for game directory], + [gameuser="$withval"]) AC_ARG_WITH(gcc, [ --without-gcc don't use GCC to compile Emacs if GCC is found]) @@ -48,9 +67,12 @@ AC_ARG_WITH(pop, else : fi], AC_DEFINE(MAIL_USE_POP)) +AH_TEMPLATE(MAIL_USE_POP, [Define to support POP mail retrieval.])dnl AC_ARG_WITH(kerberos, [ --with-kerberos support Kerberos-authenticated POP], [AC_DEFINE(KERBEROS)]) +AH_TEMPLATE(KERBEROS, + [Define to support Kerberos-authenticated POP mail retrieval.])dnl AC_ARG_WITH(kerberos5, [ --with-kerberos5 support Kerberos version 5 authenticated POP], [if test "${with_kerberos5+set}" = set; then @@ -59,10 +81,14 @@ AC_ARG_WITH(kerberos5, AC_DEFINE(KERBEROS) fi fi -AC_DEFINE(KERBEROS5)]) +AC_DEFINE(KERBEROS5, 1, [Define to use Kerberos 5 instead of Kerberos 4.])]) AC_ARG_WITH(hesiod, [ --with-hesiod support Hesiod to get the POP server host], -[AC_DEFINE(HESIOD)]) +[AC_DEFINE(HESIOD, 1, [Define to support using a Hesiod database to find the POP server.])]) + +AC_ARG_WITH(sound, +[ --without-sound don't compile with sound support]) + dnl This should be the last --with option, because --with-x is dnl added later on when we find the path of X, and it's best to dnl keep them together visually. @@ -605,6 +631,9 @@ case "${canonical}" in rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* ) machine=ibmrs6000 opsys=aix4-2 ;; + rs6000-ibm-aix5.1* | powerpc-ibm-aix5.1* ) + machine=ibmrs6000 opsys=aix4-2 + ;; rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0* ) machine=ibmrs6000 opsys=aix4 ;; @@ -1345,11 +1374,13 @@ 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) +if test "${with_sound}" != "no"; then + # 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) +fi dnl checks for header files AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \ @@ -1377,7 +1408,7 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME #endif], [static struct utimbuf x; x.actime = x.modtime;], emacs_cv_struct_utimbuf=yes, emacs_cv_struct_utimbuf=no)) if test $emacs_cv_struct_utimbuf = yes; then - AC_DEFINE(HAVE_STRUCT_UTIMBUF) + AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1, [Define to 1 if `struct utimbuf' is declared by .]) fi dnl checks for typedefs @@ -1388,7 +1419,7 @@ AC_CACHE_CHECK(for speed_t, emacs_cv_speed_t, AC_TRY_COMPILE([#include ], [speed_t x = 1;], emacs_cv_speed_t=yes, emacs_cv_speed_t=no)) if test $emacs_cv_speed_t = yes; then - AC_DEFINE(HAVE_SPEED_T) + AC_DEFINE(HAVE_SPEED_T, 1, [Define to 1 if `speed_t' is declared by .]) fi AC_CACHE_CHECK(for struct timeval, emacs_cv_struct_timeval, @@ -1405,7 +1436,7 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME 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) + AC_DEFINE(HAVE_TIMEVAL, 1, [Define to 1 if `struct timeval' is declared by .]) fi AC_CACHE_CHECK(for struct exception, emacs_cv_struct_exception, @@ -1414,19 +1445,16 @@ AC_TRY_COMPILE([#include ], 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) + AC_DEFINE(NO_MATHERR, 1, [Define to 1 if you don't have struct exception in math.h.]) 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 +AC_CHECK_MEMBER(struct tm.tm_gmtoff, + [AC_DEFINE(HAVE_TM_GMTOFF, 1, + [Define to 1 if `tm_gmtoff' is member of `struct tm'.])],, + [#include ]) dnl checks for compiler characteristics @@ -1448,6 +1476,9 @@ if test $emacs_cv_void_star = yes; then else AC_DEFINE(POINTER_TYPE, char) fi +AH_TEMPLATE(POINTER_TYPE, + [Define as `void' if your compiler accepts `void *'; otherwise + define as `char'.])dnl dnl check for Make feature AC_PROG_MAKE_SET @@ -1455,6 +1486,26 @@ AC_PROG_MAKE_SET dnl checks for operating system services AC_SYS_LONG_FILE_NAMES +if test "$gamedir" = no; then : +else + AC_MSG_CHECKING([for access to game group "$gameuser"]) + rm -f conf$$chown.file + touch conf$$chown.file + dnl If we can't chown a file to group games, then the users + dnl can't share scores. + if chown "$gameuser" conf$$chown.file 1>/dev/null 2>&1; then + AC_MSG_RESULT([yes]) + if test "$gamedir" = "yes"; then + gamedir="${localstatedir}/games/emacs" + fi + eval tgamedir=\"$gamedir\" + AC_DEFINE_UNQUOTED(HAVE_SHARED_GAME_DIR, "$tgamedir", + [Define to the name of the shared game directory.]) + else + AC_MSG_RESULT([no]) + gamedir=no + fi +fi #### Choose a window system. AC_PATH_X @@ -1575,7 +1626,8 @@ if test "$doug_lea_malloc" = "yes" ; then GNU_MALLOC_reason=" (Using Doug Lea's new malloc from the GNU C Library.)" fi - AC_DEFINE(DOUG_LEA_MALLOC) + AC_DEFINE(DOUG_LEA_MALLOC, 1, + [Define to 1 if you are using the GNU C Library.]) fi if test x"${REL_ALLOC}" = x; then @@ -1679,7 +1731,7 @@ if test "${HAVE_X11}" = "yes"; then emacs_xkb=yes, emacs_xkb=no) AC_MSG_RESULT($emacs_xkb) if test $emacs_xkb = yes; then - AC_DEFINE(HAVE_XKBGETKEYBOARD) + AC_DEFINE(HAVE_XKBGETKEYBOARD, 1, [Define to 1 if you have the XkbGetKeyboard function.]) fi AC_CHECK_FUNCS(XrmSetDatabase XScreenResourceString \ @@ -1696,7 +1748,8 @@ fail; ], 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) + AC_DEFINE(HAVE_X11R6, 1, + [Define to 1 if you have the X11R6 or newer version of Xlib.]) else AC_MSG_RESULT(before 6) fi @@ -1713,7 +1766,8 @@ fail; 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, 1, + [Define to 1 if you have the X11R5 or newer version of Xlib.]) else HAVE_X11R5=no AC_MSG_RESULT(before 5) @@ -1757,7 +1811,8 @@ fail; 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) + AC_DEFINE(HAVE_X11XTR6, 1, + [Define to 1 if you have the X11R6 or newer version of Xt.]) else AC_MSG_RESULT(before 6) fi @@ -1793,10 +1848,12 @@ 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 HAVE_LIBXP=no - AC_DEFINE(HAVE_MOTIF_2_1) + AC_DEFINE(HAVE_MOTIF_2_1, 1, + [Define to 1 if you have Motif 2.1 or newer.]) AC_CHECK_LIB(Xp, XpCreateContext, HAVE_LIBXP=yes) if test ${HAVE_LIBXP} = yes; then - AC_DEFINE(HAVE_LIBXP) + AC_DEFINE(HAVE_LIBXP, 1, + [Define to 1 if you have the Xp library (-lXp).]) fi fi fi @@ -1808,7 +1865,8 @@ if test "${HAVE_X11}" = "yes"; then AC_CHECK_HEADER(X11/Xaw3d/Scrollbar.h, AC_CHECK_LIB(Xaw3d, XawScrollbarSetThumb, HAVE_XAW3D=yes)) if test "${HAVE_XAW3D}" = "yes"; then - AC_DEFINE(HAVE_XAW3D) + AC_DEFINE(HAVE_XAW3D, 1, + [Define to 1 if you have the Xaw3d library (-lXaw3d).]) fi fi fi @@ -1817,6 +1875,8 @@ 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. +AH_TEMPLATE(USE_TOOLKIT_SCROLL_BARS, + [Define to 1 if we should use toolkit scroll bars.])dnl USE_TOOLKIT_SCROLL_BARS=no if test "${with_toolkit_scroll_bars}" != "no"; then if test "${USE_X_TOOLKIT}" != "none"; then @@ -1835,7 +1895,8 @@ 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) + AC_DEFINE(USE_XIM, 1, + [Define to 1 if we should use XIM, if it is available.]) fi ### Use -lXpm if available, unless `--with-xpm=no'. @@ -1862,7 +1923,7 @@ no_return_alloc_pixels fi if test "${HAVE_XPM}" = "yes"; then - AC_DEFINE(HAVE_XPM) + AC_DEFINE(HAVE_XPM, 1, [Define to 1 if you have the Xpm libary (-lXpm).]) fi fi @@ -1876,6 +1937,7 @@ if test "${HAVE_X11}" = "yes"; then AC_CHECK_LIB(jpeg, jpeg_destroy_compress, HAVE_JPEG=yes)) fi + AH_TEMPLATE(HAVE_JPEG, [Define to 1 if you have the jpeg library (-ljpeg).])dnl if test "${HAVE_JPEG}" = "yes"; then AC_DEFINE(HAVE_JPEG) AC_EGREP_CPP( @@ -1900,7 +1962,7 @@ if test "${HAVE_X11}" = "yes"; then fi if test "${HAVE_PNG}" = "yes"; then - AC_DEFINE(HAVE_PNG) + AC_DEFINE(HAVE_PNG, 1, [Define to 1 if you have the png library (-lpng).]) fi fi @@ -1916,7 +1978,7 @@ if test "${HAVE_X11}" = "yes"; then fi if test "${HAVE_TIFF}" = "yes"; then - AC_DEFINE(HAVE_TIFF) + AC_DEFINE(HAVE_TIFF, 1, [Define to 1 if you have the tiff library (-ltiff).]) fi fi @@ -1931,10 +1993,25 @@ if test "${HAVE_X11}" = "yes"; then fi if test "${HAVE_GIF}" = "yes"; then - AC_DEFINE(HAVE_GIF) + AC_DEFINE(HAVE_GIF, 1, [Define to 1 if you have the ungif library (-lungif).]) fi fi +### Use session management (-lSM -lICE) if available +HAVE_X_SM=no +if test "${HAVE_X11}" = "yes"; then + AC_CHECK_HEADER(X11/SM/SMlib.h, + AC_CHECK_LIB(SM, SmcOpenConnection, HAVE_X_SM=yes, -lICE)) + + if test "${HAVE_X_SM}" = "yes"; then + AC_DEFINE(HAVE_X_SM, 1, [Define to 1 if you have the SM library (-lSM).]) + case "$LIBS" in + *-lSM*) ;; + *) LIBS="-lSM -lICE $LIBS" ;; + esac + fi +fi + # 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, @@ -1942,7 +2019,7 @@ AC_CACHE_CHECK(whether netdb declares h_errno, [return h_errno;], 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) + AC_DEFINE(HAVE_H_ERRNO, 1, [Define to 1 if netdb.h declares h_errno.]) fi AC_FUNC_ALLOCA @@ -1968,24 +2045,27 @@ if test "$ac_cv_lib_lockfile_maillock" = no; 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) + else AC_DEFINE(LIBMAIL, -llockfile, [Define to -llockfile if it is usable.]) fi else : fi AC_CHECK_FUNCS(touchlock) AC_CHECK_HEADERS(maillock.h) -AC_CHECK_FUNCS(gethostname getdomainname getpeername 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 getwd shutdown strftime getaddrinfo \ __fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \ -gai_strerror mkstemp) +sendto recvfrom getsockopt setsockopt getsockname getpeername \ +gai_strerror mkstemp getline getdelim) + +AC_CHECK_HEADERS(sys/un.h) AC_FUNC_MKTIME if test "$ac_cv_func_working_mktime" = no; then - AC_DEFINE(BROKEN_MKTIME) + AC_DEFINE(BROKEN_MKTIME, 1, [Define to 1 if the mktime function is broken.]) fi AC_FUNC_GETLOADAVG @@ -2013,12 +2093,15 @@ if test "$with_hesiod" = yes ; then [AC_CHECK_LIB(resolv, __res_send, resolv=yes)])])]) if test "$resolv" = yes ; then RESOLVLIB=-lresolv - AC_DEFINE(HAVE_LIBRESOLV) + AC_DEFINE(HAVE_LIBRESOLV, 1, + [Define to 1 if you have the resolv library (-lresolv).]) else RESOLVLIB= fi AC_CHECK_FUNC(hes_getmailhost, , [AC_CHECK_LIB(hesiod, hes_getmailhost, - AC_DEFINE(HAVE_LIBHESIOD), :, $RESOLVLIB)]) + AC_DEFINE(HAVE_LIBHESIOD, 1, + [Define to 1 if you have the hesiod library (-lhesiod).]), + :, $RESOLVLIB)]) fi # These tell us which Kerberos-related libraries to use. @@ -2092,14 +2175,16 @@ else fi])dnl AC_MSG_RESULT($emacs_cv_localtime_cache) if test $emacs_cv_localtime_cache = yes; then - AC_DEFINE(LOCALTIME_CACHE) + AC_DEFINE(LOCALTIME_CACHE, 1, + [Define to 1 if localtime caches TZ.]) fi if test "x$HAVE_TIMEVAL" = xyes; then AC_CHECK_FUNCS(gettimeofday) - AC_CACHE_CHECK(whether gettimeofday can accept two arguments, - emacs_cv_gettimeofday_two_arguments, - [AC_TRY_COMPILE([ + if test $ac_cv_func_gettimeofday = yes; then + AC_CACHE_CHECK(whether gettimeofday can accept two arguments, + emacs_cv_gettimeofday_two_arguments, + [AC_TRY_COMPILE([ #ifdef TIME_WITH_SYS_TIME #include #include @@ -2110,12 +2195,14 @@ if test "x$HAVE_TIMEVAL" = xyes; then #include #endif #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) + [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, 1, + [Define to 1 if gettimeofday accepts only one argument.]) + fi fi fi @@ -2157,17 +2244,19 @@ if test $ok_so_far = yes; then AC_CHECK_HEADER(arpa/inet.h, , ok_so_far=no) fi if test $ok_so_far = yes; then - AC_DEFINE(HAVE_INET_SOCKETS) + AC_DEFINE(HAVE_INET_SOCKETS, 1, + [Define to 1 if you have inet sockets.]) fi if test -f /usr/lpp/X11/bin/smt.exp; then - AC_DEFINE(HAVE_AIX_SMT_EXP) + AC_DEFINE(HAVE_AIX_SMT_EXP, 1, + [Define to 1 if the file /usr/lpp/X11/bin/smt.exp exists.]) 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) + AC_DEFINE(HAVE_DEV_PTMX, 1, [Define to 1 if dynamic ptys are supported.]) else AC_MSG_RESULT(no) fi @@ -2212,6 +2301,8 @@ AC_SUBST(etcdir) AC_SUBST(archlibdir) AC_SUBST(docdir) AC_SUBST(bitmapdir) +AC_SUBST(gamedir) +AC_SUBST(gameuser) AC_SUBST(c_switch_system) AC_SUBST(c_switch_machine) AC_SUBST(LD_SWITCH_X_SITE) @@ -2223,39 +2314,288 @@ AC_SUBST(machfile) AC_SUBST(opsysfile) AC_SUBST(GETLOADAVG_LIBS) -AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}") -AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}") -AC_DEFINE_UNQUOTED(config_machfile, "${machfile}") -AC_DEFINE_UNQUOTED(config_opsysfile, "${opsysfile}") -AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE}) -AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, ${LD_SWITCH_X_SITE_AUX}) -AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, ${C_SWITCH_X_SITE}) -AC_DEFINE_UNQUOTED(UNEXEC_SRC, ${UNEXEC_SRC}) +AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}", + [Define to the canonical Emacs configuration name.]) +AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}", + [Define to the options passed to configure.]) +AC_DEFINE_UNQUOTED(config_machfile, "${machfile}", + [Define to the used machine dependent file.]) +AC_DEFINE_UNQUOTED(config_opsysfile, "${opsysfile}", + [Define to the used os dependent file.]) +AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE}, +[Define LD_SWITCH_X_SITE to contain any special flags your loader + may need to deal with X Windows. For instance, if you've defined + HAVE_X_WINDOWS above and your X libraries aren't in a place that + your loader can find on its own, you might want to add "-L/..." or + something similar.]) +AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, ${LD_SWITCH_X_SITE_AUX}, + [Define LD_SWITCH_X_SITE_AUX with an -R option + in case it's needed (for Solaris, for example).]) +AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, ${C_SWITCH_X_SITE}, +[Define C_SWITCH_X_SITE to contain any special flags your compiler + may need to deal with X Windows. For instance, if you've defined + HAVE_X_WINDOWS above and your X include files aren't in a place + that your compiler can find on its own, you might want to add + "-I/..." or something similar.]) +AC_DEFINE_UNQUOTED(UNEXEC_SRC, ${UNEXEC_SRC}, + [Define to the unexec source file name.]) if test "${HAVE_X_WINDOWS}" = "yes" ; then - AC_DEFINE(HAVE_X_WINDOWS) + AC_DEFINE(HAVE_X_WINDOWS, 1, + [Define to 1 if you want to use the X window system.]) fi if test "${USE_X_TOOLKIT}" != "none" ; then - AC_DEFINE(USE_X_TOOLKIT) + AC_DEFINE(USE_X_TOOLKIT, 1, [Define to 1 if using an X toolkit.]) fi if test "${HAVE_X11}" = "yes" ; then - AC_DEFINE(HAVE_X11) + AC_DEFINE(HAVE_X11, 1, + [Define to 1 if you want to use version 11 of X windows. + Otherwise, Emacs expects to use version 10.]) fi if test "${HAVE_XFREE386}" = "yes" ; then - AC_DEFINE(HAVE_XFREE386) + AC_DEFINE(HAVE_XFREE386, 1, [Define to 1 if you're using XFree386.]) fi if test "${HAVE_MENUS}" = "yes" ; then - AC_DEFINE(HAVE_MENUS) + AC_DEFINE(HAVE_MENUS, 1, + [Define to 1 if you have mouse menus. + (This is automatic if you use X, but the option to specify it remains.) + It is also defined with other window systems that support xmenu.c.]) fi if test "${GNU_MALLOC}" = "yes" ; then - AC_DEFINE(GNU_MALLOC) + AC_DEFINE(GNU_MALLOC, 1, + [Define to 1 if you want to use the GNU memory allocator.]) fi if test "${REL_ALLOC}" = "yes" ; then - AC_DEFINE(REL_ALLOC) + AC_DEFINE(REL_ALLOC, 1, + [Define REL_ALLOC if you want to use the relocating allocator for + buffer space.]) fi AC_CHECK_HEADERS(nlist.h, [AC_DEFINE(NLIST_STRUCT, 1, - [Define if you have .])]) + [Define to 1 if you have .])]) + +AH_TOP([/* GNU Emacs site configuration template file. -*- C -*- + Copyright (C) 1988, 1993, 1994, 1999, 2000 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + + +/* No code in Emacs #includes config.h twice, but some of the code + intended to work with other packages as well (like gmalloc.c) + think they can include it as many times as they like. */ +#ifndef EMACS_CONFIG_H +#define EMACS_CONFIG_H +])dnl + +AH_BOTTOM([ +/* If we're using any sort of window system, define some consequences. */ +#ifdef HAVE_X_WINDOWS +#define HAVE_WINDOW_SYSTEM +#define MULTI_KBOARD +#define HAVE_MOUSE +#endif + +/* Define USER_FULL_NAME to return a string + that is the user's full name. + It can assume that the variable `pw' + points to the password file entry for this user. + + At some sites, the pw_gecos field contains + the user's full name. If neither this nor any other + field contains the right thing, use pw_name, + giving the user's login name, since that is better than nothing. */ +#define USER_FULL_NAME pw->pw_gecos + +/* Define AMPERSAND_FULL_NAME if you use the convention + that & in the full name stands for the login id. */ +/* Turned on June 1996 supposing nobody will mind it. */ +#define AMPERSAND_FULL_NAME + +/* Define HAVE_SOUND if we have sound support. We know it works + and compiles only on the specified platforms. For others, + it probably doesn't make sense to try. */ + +#if defined __FreeBSD__ || defined __NetBSD__ || defined __linux__ +#ifdef HAVE_MACHINE_SOUNDCARD_H +#define HAVE_SOUND 1 +#endif +#ifdef HAVE_SYS_SOUNDCARD_H +#define HAVE_SOUND 1 +#endif +#ifdef HAVE_SOUNDCARD_H +#define HAVE_SOUND 1 +#endif +#endif /* __FreeBSD__ || __NetBSD__ || __linux__ */ + +/* If using GNU, then support inline function declarations. */ +/* Don't try to switch on inline handling as detected by AC_C_INLINE + generally, because even if non-gcc compilers accept `inline', they + may reject `extern inline'. */ +#ifdef __GNUC__ +#define INLINE __inline__ +#else +#define INLINE +#endif + +/* Include the os and machine dependent files. */ +#include config_opsysfile +#include config_machfile + +/* Load in the conversion definitions if this system + needs them and the source file being compiled has not + said to inhibit this. There should be no need for you + to alter these lines. */ + +#ifdef SHORTNAMES +#ifndef NO_SHORTNAMES +#include "../shortnames/remap.h" +#endif /* not NO_SHORTNAMES */ +#endif /* SHORTNAMES */ + +/* If no remapping takes place, static variables cannot be dumped as + pure, so don't worry about the `static' keyword. */ +#ifdef NO_REMAP +#undef static +#endif + +/* Define `subprocesses' should be defined if you want to + have code for asynchronous subprocesses + (as used in M-x compile and M-x shell). + These do not work for some USG systems yet; + for the ones where they work, the s/SYSTEM.h file defines this flag. */ + +#ifndef VMS +#ifndef USG +/* #define subprocesses */ +#endif +#endif + +/* SIGTYPE is the macro we actually use. */ +#ifndef SIGTYPE +#define SIGTYPE RETSIGTYPE +#endif + +#ifdef emacs /* Don't do this for lib-src. */ +/* Tell regex.c to use a type compatible with Emacs. */ +#define RE_TRANSLATE_TYPE Lisp_Object +#define RE_TRANSLATE(TBL, C) CHAR_TABLE_TRANSLATE (TBL, C) +#define RE_TRANSLATE_P(TBL) (XFASTINT (TBL) != 0) +#endif + +/* Avoid link-time collision with system mktime if we will use our own. */ +#if ! HAVE_MKTIME || BROKEN_MKTIME +#define mktime emacs_mktime +#endif + +/* The rest of the code currently tests the CPP symbol BSTRING. + Override any claims made by the system-description files. + Note that on some SCO version it is possible to have bcopy and not bcmp. */ +#undef BSTRING +#if defined (HAVE_BCOPY) && defined (HAVE_BCMP) +#define BSTRING +#endif + +/* Some of the files of Emacs which are intended for use with other + programs assume that if you have a config.h file, you must declare + the type of getenv. + + This declaration shouldn't appear when alloca.s or Makefile.in + includes config.h. */ +#ifndef NOT_C_CODE +extern char *getenv (); +#endif + +#endif /* EMACS_CONFIG_H */ + +/* These default definitions are good for almost all machines. + The exceptions override them in m/MACHINE.h. */ + +#ifndef BITS_PER_CHAR +#define BITS_PER_CHAR 8 +#endif + +#ifndef BITS_PER_SHORT +#define BITS_PER_SHORT 16 +#endif + +/* Note that lisp.h uses this in a preprocessor conditional, so it + would not work to use sizeof. That being so, we do all of them + without sizeof, for uniformity's sake. */ +#ifndef BITS_PER_INT +#define BITS_PER_INT 32 +#endif + +#ifndef BITS_PER_LONG +#ifdef _LP64 +#define BITS_PER_LONG 64 +#else +#define BITS_PER_LONG 32 +#endif +#endif + +/* Define if the compiler supports function prototypes. It may do so + but not define __STDC__ (e.g. DEC C by default) or may define it as + zero. */ +#undef PROTOTYPES +/* For mktime.c: */ +#ifndef __P +# if defined PROTOTYPES +# define __P(args) args +# else +# define __P(args) () +# endif /* GCC. */ +#endif /* __P */ + + +/* Don't include "string.h" or in non-C code. */ +#ifndef NOT_C_CODE +#ifdef HAVE_STRING_H +#include "string.h" +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#endif + +/* Define HAVE_X_I18N if we have usable i18n support. */ + +#ifdef HAVE_X11R6 +#define HAVE_X_I18N +#elif defined HAVE_X11R5 && !defined X11R5_INHIBIT_I18N +#define HAVE_X_I18N +#endif + +/* Define HAVE_X11R6_XIM if we have usable X11R6-style XIM support. */ + +#if defined HAVE_X11R6 && !defined INHIBIT_X11R6_XIM +#define HAVE_X11R6_XIM +#endif + +/* Should we enable expensive run-time checking of data types? */ +#undef ENABLE_CHECKING + +#if defined __GNUC__ && (__GNUC__ > 2 \ + || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)) +#define NO_RETURN __attribute__ ((__noreturn__)) +#else +#define NO_RETURN /* nothing */ +#endif +])dnl #### Report on what we decided to do. echo " @@ -2269,7 +2609,8 @@ Configured for \`${canonical}'. Should Emacs use a relocating allocator for buffers? ${REL_ALLOC} Should Emacs use mmap(2) for buffer allocation? $use_mmap_for_buffers What window system should Emacs use? ${window_system} - What toolkit should Emacs use? ${USE_X_TOOLKIT}" + What toolkit should Emacs use? ${USE_X_TOOLKIT} + Should Emacs use a shared game state directory? ${gamedir}" if test -n "${x_includes}"; then echo " Where do we find X Windows header files? ${x_includes}"