X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/32de648411142bd0b6d473b6e4a8c1f941ae94ad..94f0aa3464955865f5abdac6b335a86aca3e180a:/src/s/template.h diff --git a/src/s/template.h b/src/s/template.h index b7abe09e44..527694bd4b 100644 --- a/src/s/template.h +++ b/src/s/template.h @@ -1,14 +1,15 @@ /* Template for system description header files. This file describes the parameters that system description files should define or not. - Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc. + +Copyright (C) 1985-1986, 1992, 1999, 2001-2012 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 2, 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 @@ -16,49 +17,36 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ +along with GNU Emacs. If not, see . */ -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ +/* Define symbols to identify the version of Unix this is. + Define all the symbols that apply correctly. */ -/* #define UNIPLUS */ /* #define USG5 */ /* #define USG */ /* #define HPUX */ -/* #define UMAX */ -/* #define BSD4_1 */ /* #define BSD4_2 */ /* #define BSD4_3 */ -/* #define BSD */ -/* #define VMS */ +/* #define BSD_SYSTEM */ /* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ + It sets the Lisp variable system-type. */ #define SYSTEM_TYPE "berkeley-unix" -/* NOMULTIPLEJOBS should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -/* #define NOMULTIPLEJOBS */ - /* 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 macro to indicate - whether or not signal-driven I/O is possible. It uses + 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 disadvatages + 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. @@ -67,119 +55,59 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ 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. */ - + through a pipe. */ #define INTERRUPT_INPUT /* Letter to use in finding device name of first pty, - if system supports pty's. 'a' means it is /dev/ptya0 */ - + if system supports pty's. 'a' means it is /dev/ptya0. */ #define FIRST_PTY_LETTER 'a' -/* - * Define HAVE_TERMIOS if the system provides POSIX-style - * functions and macros for terminal control. - */ - -#define HAVE_TERMIOS - -/* - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - */ - -#define HAVE_TERMIO - -/* - * Define HAVE_TIMEVAL if the system supports the BSD style clock values. - * Look in for a timeval structure. - */ - -#define HAVE_TIMEVAL - -/* - * Define HAVE_SELECT if the system supports the `select' system call. - */ - -/* #define HAVE_SELECT */ - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - +/* Define HAVE_PTYS if the system supports pty devices. */ #define HAVE_PTYS -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -#define NONSYSTEM_DIR_LIBRARY - -/* Define this symbol if your system has the functions bcopy, etc. */ - -#define BSTRING - -/* subprocesses should be defined if you want to +/* subprocesses should be undefined if you do NOT 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 - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -/* #define COFF */ + Currently only MSDOS does not support this. */ -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -#define MAIL_USE_FLOCK +/* #undef 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 -/* Define this if your operating system declares signal handlers to - have a type other than the usual. `The usual' is `void' for ANSI C - systems (i.e. when the __STDC__ macro is defined), and `int' for - pre-ANSI systems. If you're using GCC on an older system, __STDC__ - will be defined, but the system's include files will still say that - signal returns int or whatever; in situations like that, define - this to be what the system's include files want. */ -/* #define SIGTYPE int */ - /* If the character used to separate elements of the executable path is not ':', #define this to be the appropriate character constant. */ /* #define SEPCHAR ':' */ -/* Here, on a separate page, add any special hacks needed - to make Emacs work on this system. For example, - you might define certain system call names that don't - exist on your system, or that do different things on - your system and must be used only through an encapsulation - (Which you should place, by convention, in sysdep.c). */ - -/* Some compilers tend to put everything declared static - into the initialized data area, which becomes pure after dumping Emacs. - On these systems, you must #define static as nothing to foil this. - Note that emacs carefully avoids static vars inside functions. */ +/* ============================================================ */ + +/* Here, add any special hacks needed to make Emacs work on this + system. For example, you might define certain system call names + that don't exist on your system, or that do different things on + your system and must be used only through an encapsulation (which + you should place, by convention, in sysdep.c). */ -/* #define static */ +/* 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 */ + +/* ============================================================ */ /* After adding support for a new system, modify the large case - statement in the `configure' script to recognize reasonable + statement in configure.in to recognize reasonable configuration names, and add a description of the system to `etc/MACHINES'. + Check for any tests of $opsys in configure.in, and add an entry + for the new system if needed. + If you've just fixed a problem in an existing configuration file, you should also check `etc/MACHINES' to make sure its descriptions of known problems in that configuration should be updated. */ +