Mercurial > emacs
changeset 49548:8b1c605f8c9b
Initial revision.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Fri, 31 Jan 2003 15:05:24 +0000 |
parents | b020ca291f89 |
children | 99be3a1e2589 |
files | src/s/cygwin.h |
diffstat | 1 files changed, 146 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/s/cygwin.h Fri Jan 31 15:05:24 2003 +0000 @@ -0,0 +1,146 @@ +/* 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 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +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 2, 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 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +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., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* SYSTEM_TYPE should indicate the kind of system you are using. + It sets the Lisp variable system-type. */ + +#define SYSTEM_TYPE "cygwin" + +/* Emacs can read input using SIGIO and buffering characters itself, + or using CBREAK mode and making C-g cause SIGINT. + The choice is controlled by the variable interrupt_input. + + Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) + + Emacs uses the presence or absence of the SIGIO and BROKEN_SIGIO macros + to indicate whether or not signal-driven I/O is possible. It uses + INTERRUPT_INPUT to decide whether to use it by default. + + SIGIO can be used only on systems that implement it (4.2 and 4.3). + CBREAK mode has two disadvantages + 1) At least in 4.2, it is impossible to handle the Meta key properly. + I hear that in system V this problem does not exist. + 2) Control-G causes output to be discarded. + I do not know whether this can be fixed in system V. + + Another method of doing input is planned but not implemented. + It would have Emacs fork off a separate process + to read the input and send it to the true Emacs process + through a pipe. */ + +#undef INTERRUPT_INPUT + +/* + * Define HAVE_TERMIOS if the system provides POSIX-style + * functions and macros for terminal control. + * + * Define HAVE_TERMIO if the system provides sysV-style ioctls + * for terminal control. + * + * Do not define both. HAVE_TERMIOS is preferred, if it is + * supported on your system. + */ + +#define HAVE_TERMIOS + +/* + * Define HAVE_PTYS if the system supports pty devices. + */ + +#define HAVE_PTYS +#define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */ +#define PTY_NAME_SPRINTF /* none */ +#define PTY_TTY_NAME_SPRINTF /* none */ +#define PTY_OPEN \ + do \ + { \ + int dummy; \ + SIGMASKTYPE mask; \ + mask = sigblock (sigmask (SIGCHLD)); \ + if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \ + fd = -1; \ + sigsetmask (mask); \ + emacs_close (dummy); \ + } \ + while (0) + +/* Define this symbol if your system has the functions bcopy, etc. */ + +#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 CLASH_DETECTION + +/* If the system's imake configuration file defines `NeedWidePrototypes' + as `NO', we must define NARROWPROTO manually. Such a define is + generated in the Makefile generated by `xmkmf'. If we don't + define NARROWPROTO, we will see the wrong function prototypes + for X functions taking float or double parameters. */ + +#define NARROWPROTO 1 + +/* used in various places to enable cygwin-specific code changes */ +#define CYGWIN 1 + +#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) +#define GETPGRP_NO_ARG 1 +#define SYSV_SYSTEM_DIR 1 +/* -lutil comes from inetutils and has pty functions in it */ +#define LIBS_SYSTEM -lutil +/* undumping is not implemented yet */ +#define CANNOT_DUMP 1 +#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 +/* gettext.h is in a strange place */ +#define C_SWITCH_SYSTEM -I/usr/share/gettext + +/* 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 + +/* the end */