Move SYSTEM_TYPE from src/s to configure
[bpt/emacs.git] / src / s / template.h
CommitLineData
20c428fd
JB
1/* Template for system description header files.
2 This file describes the parameters that system description files
3 should define or not.
7490175b 4
acaf905b 5Copyright (C) 1985-1986, 1992, 1999, 2001-2012 Free Software Foundation, Inc.
20c428fd
JB
6
7This file is part of GNU Emacs.
8
4b158629 9GNU Emacs is free software: you can redistribute it and/or modify
20c428fd 10it under the terms of the GNU General Public License as published by
4b158629
GM
11the Free Software Foundation, either version 3 of the License, or
12(at your option) any later version.
20c428fd
JB
13
14GNU Emacs is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
4b158629 20along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20c428fd
JB
21
22
e05aebe9
GM
23/* Define symbols to identify the version of Unix this is.
24 Define all the symbols that apply correctly. */
20c428fd 25
20c428fd
JB
26/* #define USG5 */
27/* #define USG */
28/* #define HPUX */
20c428fd
JB
29/* #define BSD4_2 */
30/* #define BSD4_3 */
8e4c450d 31/* #define BSD_SYSTEM */
20c428fd 32
20c428fd
JB
33/* Emacs can read input using SIGIO and buffering characters itself,
34 or using CBREAK mode and making C-g cause SIGINT.
35 The choice is controlled by the variable interrupt_input.
32de6484 36
20c428fd
JB
37 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
38
bb7b4368
PE
39 Emacs uses the presence or absence of the SIGIO and BROKEN_SIGIO macros
40 to indicate whether or not signal-driven I/O is possible. It uses
32de6484
JB
41 INTERRUPT_INPUT to decide whether to use it by default.
42
20c428fd 43 SIGIO can be used only on systems that implement it (4.2 and 4.3).
eb8c3be9 44 CBREAK mode has two disadvantages
20c428fd
JB
45 1) At least in 4.2, it is impossible to handle the Meta key properly.
46 I hear that in system V this problem does not exist.
47 2) Control-G causes output to be discarded.
48 I do not know whether this can be fixed in system V.
49
50 Another method of doing input is planned but not implemented.
51 It would have Emacs fork off a separate process
52 to read the input and send it to the true Emacs process
e05aebe9 53 through a pipe. */
20c428fd
JB
54#define INTERRUPT_INPUT
55
56/* Letter to use in finding device name of first pty,
e05aebe9 57 if system supports pty's. 'a' means it is /dev/ptya0. */
20c428fd
JB
58#define FIRST_PTY_LETTER 'a'
59
e05aebe9 60/* Define HAVE_PTYS if the system supports pty devices. */
20c428fd
JB
61#define HAVE_PTYS
62
77ccee09 63/* subprocesses should be undefined if you do NOT want to
20c428fd
JB
64 have code for asynchronous subprocesses
65 (as used in M-x compile and M-x shell).
e05aebe9 66 Currently only MSDOS does not support this. */
20c428fd 67
77ccee09 68/* #undef subprocesses */
20c428fd 69
20c428fd
JB
70/* Define CLASH_DETECTION if you want lock files to be written
71 so that Emacs can tell instantly when you try to modify
72 a file that someone else has modified in his Emacs. */
20c428fd
JB
73#define CLASH_DETECTION
74
d4198db9
JB
75/* If the character used to separate elements of the executable path
76 is not ':', #define this to be the appropriate character constant. */
77/* #define SEPCHAR ':' */
78
f5070950
JB
79/* ============================================================ */
80
e05aebe9
GM
81/* Here, add any special hacks needed to make Emacs work on this
82 system. For example, you might define certain system call names
83 that don't exist on your system, or that do different things on
84 your system and must be used only through an encapsulation (which
85 you should place, by convention, in sysdep.c). */
f5070950 86
2327e4a0
GM
87/* If the system's imake configuration file defines `NeedWidePrototypes'
88 as `NO', we must define NARROWPROTO manually. Such a define is
177c0ea7 89 generated in the Makefile generated by `xmkmf'. If we don't
2327e4a0
GM
90 define NARROWPROTO, we will see the wrong function prototypes
91 for X functions taking float or double parameters. */
92
93/* #define NARROWPROTO 1 */
94
f5070950 95/* ============================================================ */
00b1a5fb
JB
96
97/* After adding support for a new system, modify the large case
7b570c76 98 statement in configure.in to recognize reasonable
00b1a5fb
JB
99 configuration names, and add a description of the system to
100 `etc/MACHINES'.
101
7b570c76
GM
102 Check for any tests of $opsys in configure.in, and add an entry
103 for the new system if needed.
104
00b1a5fb
JB
105 If you've just fixed a problem in an existing configuration file,
106 you should also check `etc/MACHINES' to make sure its descriptions
107 of known problems in that configuration should be updated. */
ab5796a9 108