#ifndef _SRC_CONFIG_H_
#define _SRC_CONFIG_H_
+
/* alloca twiddling belongs in one place, not the s&m headers
AIX requires this to be the first thing in the file. */
#undef HAVE_ALLOCA_H
#ifndef NOT_C_CODE
-#ifdef __GNUC__
+#if defined (__CYGWIN__)
+/* We get complaints about redefinitions if we just use the __GNUC__
+ definition: stdlib.h also includes alloca.h, which defines it slightly
+ differently */
+#include <alloca.h>
+#elif defined (__GNUC__)
#define alloca __builtin_alloca
-#elif HAVE_ALLOCA_H
+#elif defined __DECC
+#include <alloca.h>
+#pragma intrinsic(alloca)
+#elif defined __INTEL_COMPILER && defined HAVE_ALLOCA_H
+/* defer #include to end of file */
+#elif defined HAVE_ALLOCA_H
#include <alloca.h>
#elif defined(_AIX)
#pragma alloca
#elif ! defined (alloca)
-char *alloca();
+void *alloca ();
#endif
#endif /* C code */
-
/* 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
+/* Program name */
+#undef EMACS_PROGNAME
+
/* Allow s&m files to differentiate OS versions without having
multiple files to maintain. */
#undef OS_RELEASE
#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
-/* Make all functions from Unix98 available. */
+/* Make some functions from Unix98 available. */
#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. */
+/* Some AIX compilers (cc) pre-define _ALL_SOURCE, some (xlc) don't. */
+#ifndef _ALL_SOURCE
#undef _ALL_SOURCE
+#endif
/* Make all functions available on GNU libc systems. See features.h. */
#undef _GNU_SOURCE
/* Use a debugging malloc? -- experimental */
#undef USE_DEBUG_MALLOC
+/* Use malloc for regex failure stack? */
+#undef REGEX_MALLOC
+
/* Compile in TTY support? */
#undef HAVE_TTY
#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. */
-#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_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_X11R6
#undef HAVE_XCONVERTCASE
+#undef HAVE_XTREGISTERDRAWABLE
+
+#undef HAVE_BALLOON_HELP
/* Where do we find bitmaps? */
#undef BITMAPDIR
/* Some things figured out by the configure script, grouped as they are in
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_LIBGEN_H
+#undef HAVE_LOCALE_H
#undef HAVE_MACH_MACH_H
-#undef HAVE_SYS_STROPTS_H
-#undef HAVE_SYS_TIMEB_H
+#undef HAVE_SYS_PARAM_H
+#undef HAVE_SYS_PSTAT_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_LIBGEN_H
-#undef HAVE_LOCALE_H
-#undef HAVE_FCNTL_H
-#undef HAVE_ULIMIT_H
#undef HAVE_X11_XLOCALE_H
-#undef HAVE_LINUX_VERSION_H
-#undef HAVE_CYGWIN_VERSION_H
-#undef HAVE_INTTYPES_H
-#undef HAVE_SYS_UN_H
-#undef HAVE_A_OUT_H
#undef STDC_HEADERS
#undef TIME_WITH_SYS_TIME
#undef WORDS_BIGENDIAN
#undef HAVE_VFORK_H
-#undef HAVE_KSTAT_H
-#undef HAVE_SYS_PSTAT_H
#undef vfork
#undef HAVE_LONG_FILE_NAMES
#undef HAVE_SHL_LOAD
#undef HAVE_DLD_INIT
#undef HAVE_SHLIB
-#undef HAVE_DLFCN_H
+#undef HAVE_DYLD
+#undef DLSYM_NEEDS_UNDERSCORE
-#undef HAVE_LIBKSTAT
#undef HAVE_LIBINTL
#undef HAVE_LIBDNET
#undef HAVE_LIBRESOLV
/* 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
#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
#undef HAVE_GETTIMEOFDAY
#undef HAVE_GETWD
#undef HAVE_GETCWD
-#undef HAVE_GETPT
#undef HAVE_LOGB
#undef HAVE_LRAND48
#undef HAVE_MATHERR
#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_UTIME
#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 NLIST_STRUCT
+/* Do IPv6 hostname canonicalization before IPv4 in getaddrinfo()? */
+#undef IPV6_CANONICALIZE
+
/* Compile in support for SOCKS? */
#undef HAVE_SOCKS
/* Compile in support for DBM databases? May require libgdbm or libdbm. */
#undef HAVE_DBM
+/* Define to 1 if the system has the type `u_int8_t'. */
+#undef HAVE_U_INT8_T
+/* Define to 1 if the system has the type `u_int16_t'. */
+#undef HAVE_U_INT16_T
+/* Define to 1 if the system has the type `u_int32_t'. */
+#undef HAVE_U_INT32_T
+/* Define to 1 if the system has the type `u_int64_t'. */
+#undef HAVE_U_INT64_T
+
/* Compile in support for Berkeley DB style databases? May require libdb. */
#undef HAVE_BERKELEY_DB
/* Full #include file path for Berkeley DB's db.h */
-#undef DB_H_PATH
+#undef DB_H_FILE
/* Do we have either DBM or Berkeley DB database support? */
#undef HAVE_DATABASE
/* Does the library define ldap_parse_result () ? */
#undef HAVE_LDAP_PARSE_RESULT
+/* Do we have PostgreSQL RDBMS support? */
+#undef HAVE_POSTGRESQL
+#undef HAVE_POSTGRESQLV7
+#undef LIBPQ_FE_H_FILE /* main PostgreSQL header file */
+
/* Do you have the Xauth library present? This will add some extra
functionality to gnuserv. */
#undef HAVE_XAUTH
/* Compile in support for ncurses? */
#undef HAVE_NCURSES
/* Full #include file paths for ncurses' curses.h and term.h. */
-#undef CURSES_H_PATH
-#undef TERM_H_PATH
+#undef CURSES_H_FILE
+#undef TERM_H_FILE
/* Define USE_ASSERTIONS if you want the abort() to be changed to assert().
If the assertion fails, assert_failed() will be called. This is
/* Attempt to catch bugs related to garbage collection (e.g. not GCPRO'ing). */
#undef ERROR_CHECK_GC
+#ifdef ERROR_CHECK_GC
+#define gc_checking_assert(assertion) assert (assertion)
+#else
+#define gc_checking_assert(assertion)
+#endif
/* Attempt to catch freeing of a non-malloc()ed block, heap corruption, etc. */
#undef ERROR_CHECK_MALLOC
debugging the byte compiler. */
#undef ERROR_CHECK_BYTE_CODE
+/* Minor sanity checking of glyphs, especially subwindows and
+ widgets. */
+#undef ERROR_CHECK_GLYPHS
+
/* Define DEBUG_XEMACS if you want extra debugging code compiled in.
This is mainly intended for use by developers. */
#undef DEBUG_XEMACS
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
-/* 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
if you're working with ASCII files. */
#undef MULE
+/* Define this if you want CONCORD support */
+#undef HAVE_CONCORD
+
+/* Define this if you want CHISE support
+ (CHaracter Information Service Environment) */
+#undef HAVE_CHISE
+
+/* Define if you are using libchise */
+#undef HAVE_LIBCHISE
+
+/* Define this if you want UTF-2000 support (character representation
+ based on character object model). */
+#undef UTF2000
+
+#undef CHAR_IS_UCS4
+
/* Define this if you want file coding support */
#undef FILE_CODING
/* Enable special GNU Make features in the Makefiles. */
#undef USE_GNU_MAKE
-/* Debugging option: Don't automatically rebuild the DOC file.
- This saves a lot of time when you're repeatedly
- compiling-running-crashing. */
-#undef NO_DOC_FILE
+/* Debugging development option: Remove inessential but time consuming
+ actions from happening during build. This saves a lot of time when
+ you're repeatedly compiling-running-crashing. This (1) doesn't
+ garbage-collect after loading each file during dumping, and (2)
+ doesn't automatically rebuild the DOC file. (Remove it by hand to
+ get it rebuilt.)
+ */
+#undef QUICK_BUILD
/* Defined by AC_C_CONST in configure.in */
#undef const
#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
-/* 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
+
#undef config_opsysfile
+#ifdef 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
+#ifdef config_machfile
#include config_machfile
+#endif
+
#if defined (__cplusplus) && !defined (NOT_C_CODE)
}
#endif
"SUNWaudmo" package.) */
#undef HAVE_NATIVE_SOUND
/* Native sound may be provided via soundcard.h, in various directories */
-#undef SOUNDCARD_H_PATH
+#undef SOUNDCARD_H_FILE
/* Compile in support for NAS (Network Audio System)?
NAS_NO_ERROR_JUMP means that the NAS libraries don't include some
/* Compile in support for Tooltalk? */
#undef TOOLTALK
/* tt_c.h might be in "Tt" or "desktop" subdirectories */
-#undef TT_C_H_PATH
+#undef TT_C_H_FILE
/* Toolkits used by lwlib for various widgets... */
#undef LWLIB_USES_MOTIF
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
# 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
#undef SIZEOF_LONG_LONG
#undef SIZEOF_VOID_P
+#undef INTPTR_T_IN_CYGWIN_TYPES_H
+
#ifndef BITS_PER_CHAR
#define BITS_PER_CHAR 8
#endif
#define LONG_LONG_BITS (SIZEOF_LONG_LONG * BITS_PER_CHAR)
#define VOID_P_BITS (SIZEOF_VOID_P * BITS_PER_CHAR)
-#ifndef NOT_C_CODE
-#ifdef __cplusplus
-#define HAVE_INLINE 1
-#define INLINE inline
-#else /* not C++ */
+/* Use `INLINE_HEADER' to define inline functions in .h files.
+ Use `inline static' to define inline functions in .c files.
+ See the Internals manual for examples and more information. */
+
/* Does the keyword `inline' exist? */
-#undef HAVE_INLINE
#undef inline
-# ifdef HAVE_INLINE
-# ifdef __GNUC__
-# ifdef DONT_EXTERN_INLINE_FUNCTIONS
-# define INLINE inline
-# else
-# define INLINE extern inline
-# endif
-# else
-# define INLINE static inline
-# endif /* __GNUC__ */
-# else
-# define INLINE static
-# endif /* HAVE_INLINE */
-#endif /* not C++ */
-#endif /* C code */
+#if defined (__cplusplus) || ! defined (__GNUC__)
+# define INLINE_HEADER inline static
+#elif defined (DONT_EXTERN_INLINE_HEADER_FUNCTIONS)
+# define INLINE_HEADER inline
+#else
+# 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 */
-#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.
#undef SITELISPDIR_USER_DEFINED
#undef ARCHLIBDIR_USER_DEFINED
#undef ETCDIR_USER_DEFINED
-#undef LOCKDIR_USER_DEFINED
#undef INFODIR_USER_DEFINED
#undef INFOPATH_USER_DEFINED
#undef PDUMP
+#ifndef NOT_C_CODE
+#if defined __INTEL_COMPILER && defined HAVE_ALLOCA_H
+/* icc's alloca.h pulls in <features.h>,
+ but that must be done after _GNU_SOURCE and friends are defined */
+#include <alloca.h>
+#endif
+#endif /* C code */
+
#endif /* _SRC_CONFIG_H_ */