+
+/* 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