#define vfork fork
#endif /* DARWIN_OS */
+#ifdef MSDOS
+#ifndef __DJGPP__
+You lose; /* Emacs for DOS must be compiled with DJGPP */
+#endif
+#define _NAIVE_DOS_REGS
+
+/* Start of gnulib-related stuff */
+
+/* lib/ftoastr.c wants strtold, but DJGPP only has _strtold. DJGPP >
+ 2.03 has it, but it also has _strtold as a stub that jumps to
+ strtold, so use _strtold in all versions. */
+#define strtold _strtold
+
+#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 3
+# define HAVE_LSTAT 1
+#else
+# define lstat stat
+#endif
+/* End of gnulib-related stuff. */
+
+/* Define one of these for easier conditionals. */
+#ifdef HAVE_X_WINDOWS
+/* We need a little extra space, see ../../lisp/loadup.el and the
+ commentary below, in the non-X branch. The 140KB number was
+ measured on GNU/Linux and on MS-Windows. */
+#define SYSTEM_PURESIZE_EXTRA (-170000+140000)
+#else
+/* We need a little extra space, see ../../lisp/loadup.el.
+ As of 20091024, DOS-specific files use up 62KB of pure space. But
+ overall, we end up wasting 130KB of pure space, because
+ BASE_PURESIZE starts at 1.47MB, while we need only 1.3MB (including
+ non-DOS specific files and load history; the latter is about 55K,
+ but depends on the depth of the top-level Emacs directory in the
+ directory tree). Given the unknown policy of different DPMI
+ hosts regarding loading of untouched pages, I'm not going to risk
+ enlarging Emacs footprint by another 100+ KBytes. */
+#define SYSTEM_PURESIZE_EXTRA (-170000+65000)
+#endif
+#endif MSDOS /* MSDOS */
+
/* We have to go this route, rather than the old hpux9 approach of
renaming the functions via macros. The system's stdlib.h has fully
prototyped declarations, which yields a conflicting definition of