-/* Template for system description header files.
- This file describes the parameters that system description files
- should define or not.
- Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004,
- 2005, 2006, 2007 Free Software Foundation, Inc.
+/* System description header file for Cygwin.
+ Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004, 2005, 2006,
+ 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GNU Emacs.
-GNU Emacs is free software; you can redistribute it and/or modify
+GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA. */
+along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* SYSTEM_TYPE should indicate the kind of system you are using.
It sets the Lisp variable system-type. */
#define BSTRING
-/* subprocesses should be defined if you want to
- have code for asynchronous subprocesses
- (as used in M-x compile and M-x shell).
- This is generally OS dependent, and not supported
- under most USG systems. */
-
-#define subprocesses
-
/* Define CLASH_DETECTION if you want lock files to be written
so that Emacs can tell instantly when you try to modify
a file that someone else has modified in his Emacs. */
#define CYGWIN 1
#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
-#define GETPGRP_NO_ARG 1
#define SYSV_SYSTEM_DIR 1
-#define LIB_STANDARD_LIBSRC
#define UNEXEC unexcw.o
#define POSIX_SIGNALS 1
-/* force the emacs image to start high in memory, so dll relocation
- can put things in low memory without causing all sorts of grief for
- emacs lisp pointers */
-#define DATA_SEG_BITS 0x20000000
-#define LINKER $(CC) -Wl,--image-base,DATA_SEG_BITS
+#define LINKER $(CC)
/* Use terminfo instead of termcap. Fewer environment variables to
go wrong, more terminal types. */
#define TERMINFO
#define HAVE_SOCKETS
-/* C-g aborts emacs without this */
-/*#define HAVE_VFORK*/
-/* Xaw3d causes problems -- might have been fixed by NARROWPROTO
- above, but I haven't tried it */
-/*#undef HAVE_XAW3D*/
/* vfork() interacts badly with setsid(), causing ptys to fail to
change their controlling terminal */
#define vfork fork
+/* This should work (at least when compiling with gcc). But I have no way
+ or intention to verify or even test it. If you encounter a problem with
+ it, feel free to change this setting, but please add a comment here about
+ why it needed to be changed. */
+#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
+
+/* Virtual addresses of pure and impure space can vary, as on Windows. */
+#define VIRT_ADDR_VARIES
+
+/* Emacs supplies its own malloc, but glib (part of Gtk+) calls
+ memalign and on Cygwin, that becomes the Cygwin-supplied memalign.
+ As malloc is not the Cygwin malloc, the Cygwin memalign always
+ returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */
+#define G_SLICE_ALWAYS_MALLOC
+
+/* Send signals to subprocesses by "typing" special chars at them. */
+#define SIGNALS_VIA_CHARACTERS
+
/* the end */
/* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b