#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
#elif defined(_AIX)
#pragma alloca
#elif ! defined (alloca)
-char *alloca();
+char *alloca ();
#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
+/* Program name */
+#undef EMACS_PROGNAME
+
/* Allow s&m files to differentiate OS versions without having
multiple files to maintain. */
#undef OS_RELEASE
/* 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 wish to link against the PostgreSQL RDBMS run-time library?
+ */
+#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
+
/* 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
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
if you're working with ASCII files. */
#undef MULE
+#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
"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
#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)
/* Avoid C++ keywords used as ordinary C identifiers */