#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
#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
/* 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
*/
#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. */
/* 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