changeset 44568:1b75a98a4de4

Add config header templates to all AC_DEFINE and AC_DEFINE_UNQUOTED symbols.
author Andreas Schwab <schwab@suse.de>
date Sun, 14 Apr 2002 01:40:58 +0000
parents 2575114cfbee
children 01399b2a0c1e
files configure.in
diffstat 1 files changed, 336 insertions(+), 63 deletions(-) [+]
line wrap: on
line diff
--- a/configure.in	Sun Apr 14 01:02:53 2002 +0000
+++ b/configure.in	Sun Apr 14 01:40:58 2002 +0000
@@ -67,9 +67,12 @@
 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
@@ -78,10 +81,10 @@
     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])
@@ -1405,7 +1408,7 @@
 #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 <utime.h>.])
 fi
 
 dnl checks for typedefs
@@ -1416,7 +1419,7 @@
 AC_TRY_COMPILE([#include <termios.h>], [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 <termios.h>.])
 fi
 
 AC_CACHE_CHECK(for struct timeval, emacs_cv_struct_timeval,
@@ -1433,7 +1436,7 @@
   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 <sys/time.h>.])
 fi
 
 AC_CACHE_CHECK(for struct exception, emacs_cv_struct_exception,
@@ -1442,19 +1445,16 @@
   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 <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
+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 <time.h>])
 
 dnl checks for compiler characteristics
 
@@ -1476,6 +1476,9 @@
 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
@@ -1495,8 +1498,9 @@
     if test "$gamedir" = "yes"; then
       gamedir="${localstatedir}/games/emacs"
     fi
-    tgamedir=`eval "echo $gamedir"`
-    AC_DEFINE_UNQUOTED(HAVE_SHARED_GAME_DIR, "$tgamedir")
+    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
@@ -1622,7 +1626,8 @@
     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
@@ -1726,7 +1731,7 @@
 	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 \
@@ -1743,7 +1748,8 @@
 ], 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
@@ -1760,7 +1766,8 @@
   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)
@@ -1804,7 +1811,8 @@
   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
@@ -1840,10 +1848,12 @@
   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
@@ -1855,7 +1865,8 @@
     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
@@ -1864,6 +1875,8 @@
 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
@@ -1882,7 +1895,8 @@
 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'.
@@ -1909,7 +1923,7 @@
   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
   
@@ -1923,6 +1937,7 @@
       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(
@@ -1947,7 +1962,7 @@
   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
   
@@ -1963,7 +1978,7 @@
   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
   
@@ -1978,7 +1993,7 @@
   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
 
@@ -1989,7 +2004,7 @@
     AC_CHECK_LIB(SM, SmcOpenConnection, HAVE_X_SM=yes, -lICE))
 
   if test "${HAVE_X_SM}" = "yes"; then
-    AC_DEFINE(HAVE_X_SM)
+    AC_DEFINE(HAVE_X_SM, 1, [Define to 1 if you have the SM library (-lSM).])
     case "$LIBS" in
       *-lSM*) ;;
       *)      LIBS="-lSM -lICE $LIBS" ;;
@@ -2004,7 +2019,7 @@
   [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
@@ -2030,7 +2045,7 @@
     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
@@ -2050,7 +2065,7 @@
 
 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
@@ -2078,12 +2093,15 @@
 		  [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.
@@ -2157,14 +2175,16 @@
 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 <sys/time.h>
 #include <time.h>
@@ -2175,12 +2195,14 @@
 #include <time.h>
 #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
 
@@ -2222,17 +2244,19 @@
   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
@@ -2290,39 +2314,288 @@
 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 <nlist.h>.])])
+                 [Define to 1 if you have <nlist.h>.])])
+
+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 <stdlib.h> in non-C code.  */
+#ifndef NOT_C_CODE
+#ifdef HAVE_STRING_H
+#include "string.h"
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#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 "