XEmacs 21.2.46 "Urania".
[chise/xemacs-chise.git.1] / src / config.h.in
index eb7ca5c..5b54e68 100644 (file)
@@ -34,42 +34,18 @@ Boston, MA 02111-1307, USA.  */
 #ifndef NOT_C_CODE
 #ifdef __GNUC__
 #define alloca __builtin_alloca
 #ifndef NOT_C_CODE
 #ifdef __GNUC__
 #define alloca __builtin_alloca
-#elif HAVE_ALLOCA_H
+#elif defined __DECC
+#include <alloca.h>
+#pragma intrinsic(alloca)
+#elif defined HAVE_ALLOCA_H
 #include <alloca.h>
 #elif defined(_AIX)
 #pragma alloca
 #elif ! defined (alloca)
 #include <alloca.h>
 #elif defined(_AIX)
 #pragma alloca
 #elif ! defined (alloca)
-char *alloca ();
+void *alloca ();
 #endif
 #endif /* C code */
 
 #endif
 #endif /* C code */
 
-
-/* Use SMART_INCLUDE to generate #include statements with variable paths.
-
-   #### WARNING: NEVER EVER PUT A SPACE BETWEEN THE ARGUMENTS OF THE
-   `SMART_INCLUDE' MACRO: when the simple (direct version) is defined, you
-   would end up with a space in your header filename.
-
-   Since the effect of macro expansion in #include statements is underspecified
-   in the C standard, and rarely used in source code, different compilers need
-   different implementations of SMART_INCLUDE (e.g. gcc 2.5.8 and AIX xlc).
-*/
-#undef SMART_INCLUDE_INDIRECTIONS
-
-#if SMART_INCLUDE_INDIRECTIONS == 0
-# define SMART_INCLUDE(path,file) <path/file>
-#elif SMART_INCLUDE_INDIRECTIONS == 1
-# define GLUE_INCLUDE(path,file) <##path##/##file##>
-# define SMART_INCLUDE(path,file) GLUE_INCLUDE(path,file)
-#elif SMART_INCLUDE_INDIRECTIONS == 2
-# define GLUE_INCLUDE_2(path,file) <##path##/##file##>
-# define GLUE_INCLUDE_1(path,file) GLUE_INCLUDE_2(path,file)
-# define SMART_INCLUDE(path,file) GLUE_INCLUDE_1(path,file)
-#else
-# error SMART_INCLUDE_INDIRECTIONS was not properly defined by configure
-#endif
-
-
 /* Use this to add code in a structured way to FSF-maintained source
    files so as to make it obvious where XEmacs changes are. */
 #define XEMACS 1
 /* Use this to add code in a structured way to FSF-maintained source
    files so as to make it obvious where XEmacs changes are. */
 #define XEMACS 1
@@ -100,13 +76,13 @@ char *alloca ();
 #undef INFODOCK_MINOR_VERSION
 #undef INFODOCK_BUILD_VERSION
 
 #undef INFODOCK_MINOR_VERSION
 #undef INFODOCK_BUILD_VERSION
 
-/* Make all functions from all IEEE Stds 1003.[123] available. */
+/* Make functions from IEEE Stds 1003.[123] available. */
 #undef _POSIX_C_SOURCE
 
 #undef _POSIX_C_SOURCE
 
-/* Make all functions from Unix98 available. */
+/* Make some functions from Unix98 available. */
 #undef _XOPEN_SOURCE
 
 #undef _XOPEN_SOURCE
 
-/* Make extensions from Unix98 available. */
+/* Make "extensions" from Unix98 available. */
 #undef _XOPEN_SOURCE_EXTENDED
 
 /* Make all functions available on AIX.  See AC_AIX. */
 #undef _XOPEN_SOURCE_EXTENDED
 
 /* Make all functions available on AIX.  See AC_AIX. */
@@ -189,8 +165,16 @@ char *alloca ();
 #endif
 #endif /* HAVE_X_WINDOWS */
 
 #endif
 #endif /* HAVE_X_WINDOWS */
 
+/* Defines for building Gtk applications */
+#undef HAVE_GNOME
+#undef HAVE_GTK
+#undef HAVE_GDK_IMLIB_INIT
+#undef HAVE_GLADE_GLADE_H
+#undef HAVE_GLADE_H
+#undef LIBGLADE_XML_TXTDOMAIN
+
 /* Define HAVE_WINDOW_SYSTEM if any windowing system is available. */
 /* Define HAVE_WINDOW_SYSTEM if any windowing system is available. */
-#if defined (HAVE_X_WINDOWS) || defined(HAVE_MS_WINDOWS) /* || defined (HAVE_NEXTSTEP) */
+#if defined (HAVE_GTK) || defined (HAVE_X_WINDOWS) || defined(HAVE_MS_WINDOWS) /* || defined (HAVE_NEXTSTEP) */
 #define HAVE_WINDOW_SYSTEM
 #endif
 
 #define HAVE_WINDOW_SYSTEM
 #endif
 
@@ -199,8 +183,9 @@ char *alloca ();
 #define HAVE_UNIXOID_EVENT_LOOP
 #endif
 
 #define HAVE_UNIXOID_EVENT_LOOP
 #endif
 
-/* Are we using XFree386? */
-#undef HAVE_XFREE386
+/* XFree86 has a different prototype for this function */
+#undef HAVE_XREGISTERIMINSTANTIATECALLBACK
+#undef XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE
 
 #undef THIS_IS_X11R4
 #undef THIS_IS_X11R5
 
 #undef THIS_IS_X11R4
 #undef THIS_IS_X11R5
@@ -208,6 +193,8 @@ char *alloca ();
 
 #undef HAVE_XCONVERTCASE
 
 
 #undef HAVE_XCONVERTCASE
 
+#undef HAVE_BALLOON_HELP
+
 /* Where do we find bitmaps? */
 #undef BITMAPDIR
 
 /* Where do we find bitmaps? */
 #undef BITMAPDIR
 
@@ -229,6 +216,7 @@ char *alloca ();
    configure.in. */
 #undef HAVE_MCHECK_H
 #undef HAVE_A_OUT_H
    configure.in. */
 #undef HAVE_MCHECK_H
 #undef HAVE_A_OUT_H
+#undef HAVE_ELF_H
 #undef HAVE_CYGWIN_VERSION_H
 #undef HAVE_FCNTL_H
 #undef HAVE_INTTYPES_H
 #undef HAVE_CYGWIN_VERSION_H
 #undef HAVE_FCNTL_H
 #undef HAVE_INTTYPES_H
@@ -237,13 +225,11 @@ char *alloca ();
 #undef HAVE_MACH_MACH_H
 #undef HAVE_SYS_PARAM_H
 #undef HAVE_SYS_PSTAT_H
 #undef HAVE_MACH_MACH_H
 #undef HAVE_SYS_PARAM_H
 #undef HAVE_SYS_PSTAT_H
-#undef HAVE_SYS_STROPTS_H
 #undef HAVE_SYS_TIME_H
 #undef HAVE_SYS_TIMEB_H
 #undef HAVE_SYS_UN_H
 #undef HAVE_ULIMIT_H
 #undef HAVE_UNISTD_H
 #undef HAVE_SYS_TIME_H
 #undef HAVE_SYS_TIMEB_H
 #undef HAVE_SYS_UN_H
 #undef HAVE_ULIMIT_H
 #undef HAVE_UNISTD_H
-#undef HAVE_UTIME_H
 
 #undef HAVE_SYS_WAIT_H
 #undef HAVE_LIBINTL_H
 
 #undef HAVE_SYS_WAIT_H
 #undef HAVE_LIBINTL_H
@@ -252,7 +238,6 @@ char *alloca ();
 #undef TIME_WITH_SYS_TIME
 #undef WORDS_BIGENDIAN
 #undef HAVE_VFORK_H
 #undef TIME_WITH_SYS_TIME
 #undef WORDS_BIGENDIAN
 #undef HAVE_VFORK_H
-#undef HAVE_KSTAT_H
 #undef vfork
 
 #undef HAVE_LONG_FILE_NAMES
 #undef vfork
 
 #undef HAVE_LONG_FILE_NAMES
@@ -267,9 +252,7 @@ char *alloca ();
 #undef HAVE_SHL_LOAD
 #undef HAVE_DLD_INIT
 #undef HAVE_SHLIB
 #undef HAVE_SHL_LOAD
 #undef HAVE_DLD_INIT
 #undef HAVE_SHLIB
-#undef HAVE_DLFCN_H
 
 
-#undef HAVE_LIBKSTAT
 #undef HAVE_LIBINTL
 #undef HAVE_LIBDNET
 #undef HAVE_LIBRESOLV
 #undef HAVE_LIBINTL
 #undef HAVE_LIBDNET
 #undef HAVE_LIBRESOLV
@@ -277,9 +260,6 @@ char *alloca ();
 /* Is `sys_siglist' declared by <signal.h>? */
 #undef SYS_SIGLIST_DECLARED
 
 /* Is `sys_siglist' declared by <signal.h>? */
 #undef SYS_SIGLIST_DECLARED
 
-/* Is `struct utimbuf' declared by <utime.h>? */
-#undef HAVE_STRUCT_UTIMBUF
-
 /* Is `struct timeval' declared by <sys/time.h>? */
 #undef HAVE_TIMEVAL
 
 /* Is `struct timeval' declared by <sys/time.h>? */
 #undef HAVE_TIMEVAL
 
@@ -288,6 +268,13 @@ char *alloca ();
 #undef HAVE_TM_ZONE
 #undef HAVE_TZNAME
 
 #undef HAVE_TM_ZONE
 #undef HAVE_TZNAME
 
+/* For `getloadavg' provided by system */
+#undef HAVE_GETLOADAVG
+#undef HAVE_SYS_LOADAVG_H
+/* For implementing `getloadavg' ourselves */
+#undef HAVE_LIBKSTAT
+#undef HAVE_KSTAT_H
+
 /* Is `h_errno' declared by <netdb.h>? */
 #undef HAVE_H_ERRNO
 
 /* Is `h_errno' declared by <netdb.h>? */
 #undef HAVE_H_ERRNO
 
@@ -319,7 +306,6 @@ char *alloca ();
 #undef HAVE_GETTIMEOFDAY
 #undef HAVE_GETWD
 #undef HAVE_GETCWD
 #undef HAVE_GETTIMEOFDAY
 #undef HAVE_GETWD
 #undef HAVE_GETCWD
-#undef HAVE_GETPT
 #undef HAVE_LOGB
 #undef HAVE_LRAND48
 #undef HAVE_MATHERR
 #undef HAVE_LOGB
 #undef HAVE_LRAND48
 #undef HAVE_MATHERR
@@ -343,14 +329,31 @@ char *alloca ();
 #undef HAVE_SIGSETJMP
 #undef HAVE_SNPRINTF
 #undef HAVE_STPCPY
 #undef HAVE_SIGSETJMP
 #undef HAVE_SNPRINTF
 #undef HAVE_STPCPY
-#undef HAVE_STRCASECMP
 #undef HAVE_STRERROR
 #undef HAVE_TZSET
 #undef HAVE_ULIMIT
 #undef HAVE_USLEEP
 #undef HAVE_STRERROR
 #undef HAVE_TZSET
 #undef HAVE_ULIMIT
 #undef HAVE_USLEEP
+#undef HAVE_UTIME
 #undef HAVE_UTIMES
 #undef HAVE_WAITPID
 #undef HAVE_VSNPRINTF
 #undef HAVE_UTIMES
 #undef HAVE_WAITPID
 #undef HAVE_VSNPRINTF
+
+/* PTY support functions */
+#undef HAVE_GETPT      /* glibc's easy pty allocation function */
+#undef HAVE__GETPTY    /*   SGI's easy pty allocation function */
+#undef HAVE_OPENPTY    /*   BSD's easy pty allocation function */
+#undef HAVE_GRANTPT    /* Unix98 */
+#undef HAVE_UNLOCKPT   /* Unix98 */
+#undef HAVE_PTSNAME    /* Unix98 */
+#undef HAVE_KILLPG     /* BSD */
+#undef HAVE_TCGETPGRP  /* Posix 1 */
+#undef HAVE_ISASTREAM  /* SysV streams */
+#undef HAVE_PTY_H      /* Linux, Tru64 openpty */
+#undef HAVE_LIBUTIL_H  /* BSD openpty */
+#undef HAVE_UTIL_H     /* NetBSD openpty */
+#undef HAVE_STROPTS_H  /* SysV streams */
+#undef HAVE_STRTIO_H   /* SysV streams TIOCSIGNAL */
+
 #undef HAVE_SOCKETS
 #undef HAVE_SOCKADDR_SUN_LEN
 #undef HAVE_MULTICAST
 #undef HAVE_SOCKETS
 #undef HAVE_SOCKADDR_SUN_LEN
 #undef HAVE_MULTICAST
@@ -420,16 +423,10 @@ char *alloca ();
 /* Does the library define ldap_parse_result () ? */
 #undef HAVE_LDAP_PARSE_RESULT
 
 /* Does the library define ldap_parse_result () ? */
 #undef HAVE_LDAP_PARSE_RESULT
 
-/* Do we wish to link against the PostgreSQL RDBMS run-time library?
- */
+/* Do we have PostgreSQL RDBMS support? */
 #undef HAVE_POSTGRESQL
 #undef HAVE_POSTGRESQLV7
 #undef HAVE_POSTGRESQL
 #undef HAVE_POSTGRESQLV7
-#undef POSTGRES_H_PATH
-#if defined POSTGRES_H_PATH
-# define POSTGRES_INCLUDE(file) SMART_INCLUDE (POSTGRES_H_PATH,file)
-#else
-# define POSTGRES_INCLUDE(file) <file>
-#endif
+#undef LIBPQ_FE_H_FILE /* main PostgreSQL header file */
 
 /* Do you have the Xauth library present?  This will add some extra
    functionality to gnuserv. */
 
 /* Do you have the Xauth library present?  This will add some extra
    functionality to gnuserv. */
@@ -505,12 +502,12 @@ char *alloca ();
    determine where XEmacs' memory is going. */
 #undef MEMORY_USAGE_STATS
 
    determine where XEmacs' memory is going. */
 #undef MEMORY_USAGE_STATS
 
-/* Define QUANTIFY if using Quantify from Rational/Pure/Atria Software.
+/* Define QUANTIFY if using Quantify from Rational Software.
    This adds some additional calls to control data collection.
    It is only intended for use by the developers. */
 #undef QUANTIFY
 
    This adds some additional calls to control data collection.
    It is only intended for use by the developers. */
 #undef QUANTIFY
 
-/* Define QUANTIFY if using Purify from Rational/Pure/Atria Software.
+/* Define PURIFY if using Purify from Rational Software.
    It is only intended for use by the developers. */
 #undef PURIFY
 
    It is only intended for use by the developers. */
 #undef PURIFY
 
@@ -597,37 +594,35 @@ char *alloca ();
 #undef off_t
 #undef uid_t
 #undef gid_t
 #undef off_t
 #undef uid_t
 #undef gid_t
+#undef socklen_t
 
 /* If defined, use unions instead of ints.  A few systems (DEC Alpha)
    seem to require this, probably because something with the int
    definitions isn't right with 64-bit systems.  */
 #undef USE_UNION_TYPE
 
 
 /* If defined, use unions instead of ints.  A few systems (DEC Alpha)
    seem to require this, probably because something with the int
    definitions isn't right with 64-bit systems.  */
 #undef USE_UNION_TYPE
 
-/* The configuration script defines opsysfile to be the name of the
-   s/...h file that describes the system type you are using.
-   The file is chosen based on the configuration name you give.
-
-   See the file ../etc/MACHINES for a list of systems and the
-   configuration names to use for them.
-
-   See s/template.h for documentation on writing s/...h files. */
+/* The configuration script may define `opsysfile' to be the name of
+   the s/...h file that describes your operating system.
+   The file name is chosen based on the configuration name. */
 
 #if defined (__cplusplus) && !defined (NOT_C_CODE)
 extern "C" {
 #endif
 
 #if defined (__cplusplus) && !defined (NOT_C_CODE)
 extern "C" {
 #endif
+
 #undef config_opsysfile
 #undef config_opsysfile
+#ifdef config_opsysfile
 #include config_opsysfile
 #include config_opsysfile
+#endif
 
 
-/* The configuration script defines machfile to be the name of the
-   m/...h file that describes the machine you are using.  The file is
-   chosen based on the configuration name you give.
-
-   See the file ../etc/MACHINES for a list of machines and the
-   configuration names to use for them.
+/* The configuration script may define `machfile' to be the name of
+   the m/...h file that describes the machine you are using.
+   The file name is chosen based on the configuration name. */
 
 
-   See m/template.h for documentation on writing m/...h files. */
 #undef config_machfile
 #undef config_machfile
+#ifdef config_machfile
 #include config_machfile
 #include config_machfile
+#endif
+
 #if defined (__cplusplus) && !defined (NOT_C_CODE)
 }
 #endif
 #if defined (__cplusplus) && !defined (NOT_C_CODE)
 }
 #endif
@@ -722,7 +717,7 @@ extern "C" {
 
    Also, SunOS 4.1.1 contains buggy versions of strcmp and strcpy that
    sometimes reference memory past the end of the string, which can segv.
 
    Also, SunOS 4.1.1 contains buggy versions of strcmp and strcpy that
    sometimes reference memory past the end of the string, which can segv.
-   I don't know whether this is has been fixed as of 4.1.2 or 4.1.3. */
+   I don't know whether this has been fixed as of 4.1.2 or 4.1.3. */
 #if defined (sparc) && !defined (USG)
 #define OBJECTS_SYSTEM sunOS-fix.o strcmp.o strcpy.o
 #endif
 #if defined (sparc) && !defined (USG)
 #define OBJECTS_SYSTEM sunOS-fix.o strcmp.o strcpy.o
 #endif
@@ -797,10 +792,6 @@ on various systems. */
 #  define CANNA_PURESIZE 0
 #endif /* not CANNA */
 
 #  define CANNA_PURESIZE 0
 #endif /* not CANNA */
 
-#if (defined (MSDOS) && defined (FEPCTRL)) || (defined (WIN32) && defined (USE_IME))
-#define HAVE_FEP
-#endif
-
 #if defined (HAVE_SOCKS) && !defined (DO_NOT_SOCKSIFY)
 #define accept Raccept
 #define bind Rbind
 #if defined (HAVE_SOCKS) && !defined (DO_NOT_SOCKSIFY)
 #define accept Raccept
 #define bind Rbind
@@ -839,13 +830,19 @@ on various systems. */
 # define INLINE_HEADER inline extern
 #endif
 
 # define INLINE_HEADER inline extern
 #endif
 
-#if defined (__cplusplus) && !defined (NOT_C_CODE)
+#ifndef NOT_C_CODE /* Actually means C or C++ */
+# if defined (__cplusplus)
 /* Avoid C++ keywords used as ordinary C identifiers */
 /* Avoid C++ keywords used as ordinary C identifiers */
-#define class c_class
-#define new   c_new
-#define this  c_this
-#define catch c_catch
-#endif /* C++ */
+#  define class c_class
+#  define new   c_new
+#  define this  c_this
+#  define catch c_catch
+
+#  define EXTERN_C extern "C"
+# else /* C code */
+#  define EXTERN_C extern
+# endif
+#endif /* C or C++ */
 
 /* Strictly speaking, only int or unsigned int are valid types in a
    bitfield.  In practice, we would like to use enums as bitfields.
 
 /* Strictly speaking, only int or unsigned int are valid types in a
    bitfield.  In practice, we would like to use enums as bitfields.