aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2010-05-11 23:53:03 -0700
committerGlenn Morris2010-05-11 23:53:03 -0700
commite05aebe90549195bedca9ac550297233aeae9ac4 (patch)
tree3c57f328f70277529d75e10ae52535e30cbaa08b /src
parentb5457f146f83943eef8f5662f89e10bd52eec9bd (diff)
downloademacs-e05aebe90549195bedca9ac550297233aeae9ac4.tar.gz
emacs-e05aebe90549195bedca9ac550297233aeae9ac4.zip
Reformat some comments in src/s/*.h.
Diffstat (limited to 'src')
-rw-r--r--src/s/aix4-2.h43
-rw-r--r--src/s/bsd-common.h7
-rw-r--r--src/s/cygwin.h36
-rw-r--r--src/s/darwin.h55
-rw-r--r--src/s/freebsd.h12
-rw-r--r--src/s/gnu-linux.h40
-rw-r--r--src/s/hpux10-20.h65
-rw-r--r--src/s/irix6-5.h2
-rw-r--r--src/s/ms-w32.h76
-rw-r--r--src/s/msdos.h44
-rw-r--r--src/s/netbsd.h14
-rw-r--r--src/s/sol2-10.h26
-rw-r--r--src/s/template.h56
-rw-r--r--src/s/unixware.h5
-rw-r--r--src/s/usg5-4.h85
15 files changed, 195 insertions, 371 deletions
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h
index 8f506cb1822..cdb97b7f9fa 100644
--- a/src/s/aix4-2.h
+++ b/src/s/aix4-2.h
@@ -17,68 +17,48 @@ GNU General Public License for more details.
17You should have received a copy of the GNU General Public License 17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20/* 20/* Define symbols to identify the version of Unix this is.
21 * Define symbols to identify the version of Unix this is. 21 Define all the symbols that apply correctly. */
22 * Define all the symbols that apply correctly.
23 */
24
25#define USG /* System III, System V, etc */ 22#define USG /* System III, System V, etc */
26#define USG5 23#define USG5
27 24
28/* This symbol should be defined on AIX Version 3 ??????? */ 25/* This symbol should be defined on AIX Version 3 ??????? */
29#ifndef _AIX 26#ifndef _AIX
30#define _AIX 27#define _AIX
31#endif 28#endif
32 29
33/* SYSTEM_TYPE should indicate the kind of system you are using. 30/* SYSTEM_TYPE should indicate the kind of system you are using.
34 It sets the Lisp variable system-type. */ 31 It sets the Lisp variable system-type. */
35
36#define SYSTEM_TYPE "aix" 32#define SYSTEM_TYPE "aix"
37 33
38/* In AIX, you allocate a pty by opening /dev/ptc to get the master side. 34/* In AIX, you allocate a pty by opening /dev/ptc to get the master side.
39 To get the name of the slave side, you just ttyname() the master side. */ 35 To get the name of the slave side, you just ttyname() the master side. */
40
41#define PTY_ITERATION for (c = 0; !c ; c++) 36#define PTY_ITERATION for (c = 0; !c ; c++)
42#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc"); 37#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
43#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd)); 38#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
44 39
45/* 40/* Define HAVE_TERMIO if the system provides sysV-style ioctls
46 * Define HAVE_TERMIO if the system provides sysV-style ioctls 41 for terminal control. */
47 * for terminal control.
48 */
49
50#define HAVE_TERMIOS 42#define HAVE_TERMIOS
51 43
52/* 44/* Define HAVE_PTYS if the system supports pty devices. */
53 * Define HAVE_PTYS if the system supports pty devices.
54 */
55
56#define HAVE_PTYS 45#define HAVE_PTYS
57 46
58/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ 47/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
59
60#define HAVE_SOCKETS 48#define HAVE_SOCKETS
61 49
62 50
63/* 51/* Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir library
64 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir 52 functions. Almost, but not quite the same as the 4.2 functions. */
65 * library functions. Almost, but not quite the same as
66 * the 4.2 functions
67 */
68
69#define SYSV_SYSTEM_DIR 53#define SYSV_SYSTEM_DIR
70 54
71/* Define this symbol if your system has the functions bcopy, etc. */ 55/* Define this symbol if your system has the functions bcopy, etc. */
72
73#define BSTRING 56#define BSTRING
74 57
75/* The file containing the kernel's symbol table is called /unix. */ 58/* The file containing the kernel's symbol table is called /unix. */
76
77#define KERNEL_FILE "/unix" 59#define KERNEL_FILE "/unix"
78 60
79/* The symbol in the kernel where the load average is found 61/* The kernel symbol where the load average is found is named avenrun. */
80 is named avenrun. */
81
82#define LDAV_SYMBOL "avenrun" 62#define LDAV_SYMBOL "avenrun"
83 63
84/* Special itemss needed to make Emacs run on this system. */ 64/* Special itemss needed to make Emacs run on this system. */
@@ -125,8 +105,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
125 that shared library. 105 that shared library.
126 106
127 Emacs currently calls xrealloc on the results of get_current_dir name, 107 Emacs currently calls xrealloc on the results of get_current_dir name,
128 to avoid a crash just use the Emacs implementation for that function. 108 to avoid a crash just use the Emacs implementation for that function. */
129*/
130#define BROKEN_GET_CURRENT_DIR_NAME 1 109#define BROKEN_GET_CURRENT_DIR_NAME 1
131 110
132#define UNEXEC unexaix.o 111#define UNEXEC unexaix.o
diff --git a/src/s/bsd-common.h b/src/s/bsd-common.h
index ef79d71e3c6..2a8934d7f50 100644
--- a/src/s/bsd-common.h
+++ b/src/s/bsd-common.h
@@ -19,8 +19,8 @@ You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22/* Define symbols to identify the version of Unix this is. 22/* Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly. */ 23 Define all the symbols that apply correctly. */
24 24
25/* We give these symbols the numeric values found in <sys/param.h> to 25/* We give these symbols the numeric values found in <sys/param.h> to
26 avoid warnings about redefined macros. */ 26 avoid warnings about redefined macros. */
@@ -84,8 +84,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
84/* The file containing the kernel's symbol table is called /vmunix. */ 84/* The file containing the kernel's symbol table is called /vmunix. */
85#define KERNEL_FILE "/vmunix" 85#define KERNEL_FILE "/vmunix"
86 86
87/* The symbol in the kernel where the load average is found 87/* The kernel symbol where the load average is found is named _avenrun. */
88 is named _avenrun. */
89#define LDAV_SYMBOL "_avenrun" 88#define LDAV_SYMBOL "_avenrun"
90 89
91/* Send signals to subprocesses by "typing" special chars at them. */ 90/* Send signals to subprocesses by "typing" special chars at them. */
diff --git a/src/s/cygwin.h b/src/s/cygwin.h
index 4a5add787f4..e2afb7ddc44 100644
--- a/src/s/cygwin.h
+++ b/src/s/cygwin.h
@@ -1,6 +1,7 @@
1/* System description header file for Cygwin. 1/* System description header file for Cygwin.
2 Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004, 2005, 2006, 2
3 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004, 2005, 2006,
4 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -19,7 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 20
20/* SYSTEM_TYPE should indicate the kind of system you are using. 21/* SYSTEM_TYPE should indicate the kind of system you are using.
21 It sets the Lisp variable system-type. */ 22 It sets the Lisp variable system-type. */
22
23#define SYSTEM_TYPE "cygwin" 23#define SYSTEM_TYPE "cygwin"
24 24
25/* Emacs can read input using SIGIO and buffering characters itself, 25/* Emacs can read input using SIGIO and buffering characters itself,
@@ -43,26 +43,19 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
43 It would have Emacs fork off a separate process 43 It would have Emacs fork off a separate process
44 to read the input and send it to the true Emacs process 44 to read the input and send it to the true Emacs process
45 through a pipe. */ 45 through a pipe. */
46
47#undef INTERRUPT_INPUT 46#undef INTERRUPT_INPUT
48 47
49/* 48/* Define HAVE_TERMIOS if the system provides POSIX-style
50 * Define HAVE_TERMIOS if the system provides POSIX-style 49 functions and macros for terminal control.
51 * functions and macros for terminal control.
52 *
53 * Define HAVE_TERMIO if the system provides sysV-style ioctls
54 * for terminal control.
55 *
56 * Do not define both. HAVE_TERMIOS is preferred, if it is
57 * supported on your system.
58 */
59 50
60#define HAVE_TERMIOS 51 Define HAVE_TERMIO if the system provides sysV-style ioctls
52 for terminal control.
61 53
62/* 54 Do not define both. HAVE_TERMIOS is preferred, if it is
63 * Define HAVE_PTYS if the system supports pty devices. 55 supported on your system. */
64 */ 56#define HAVE_TERMIOS
65 57
58/* Define HAVE_PTYS if the system supports pty devices. */
66#define HAVE_PTYS 59#define HAVE_PTYS
67#define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */ 60#define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */
68#define PTY_NAME_SPRINTF /* none */ 61#define PTY_NAME_SPRINTF /* none */
@@ -81,13 +74,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
81 while (0) 74 while (0)
82 75
83/* Define this symbol if your system has the functions bcopy, etc. */ 76/* Define this symbol if your system has the functions bcopy, etc. */
84
85#define BSTRING 77#define BSTRING
86 78
87/* Define CLASH_DETECTION if you want lock files to be written 79/* Define CLASH_DETECTION if you want lock files to be written
88 so that Emacs can tell instantly when you try to modify 80 so that Emacs can tell instantly when you try to modify
89 a file that someone else has modified in his Emacs. */ 81 a file that someone else has modified in his Emacs. */
90
91#define CLASH_DETECTION 82#define CLASH_DETECTION
92 83
93/* If the system's imake configuration file defines `NeedWidePrototypes' 84/* If the system's imake configuration file defines `NeedWidePrototypes'
@@ -95,10 +86,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
95 generated in the Makefile generated by `xmkmf'. If we don't 86 generated in the Makefile generated by `xmkmf'. If we don't
96 define NARROWPROTO, we will see the wrong function prototypes 87 define NARROWPROTO, we will see the wrong function prototypes
97 for X functions taking float or double parameters. */ 88 for X functions taking float or double parameters. */
98
99#define NARROWPROTO 1 89#define NARROWPROTO 1
100 90
101/* used in various places to enable cygwin-specific code changes */ 91/* Used in various places to enable cygwin-specific code changes. */
102#define CYGWIN 1 92#define CYGWIN 1
103 93
104#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) 94#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
@@ -127,7 +117,5 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
127 returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */ 117 returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */
128#define G_SLICE_ALWAYS_MALLOC 118#define G_SLICE_ALWAYS_MALLOC
129 119
130/* the end */
131
132/* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b 120/* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b
133 (do not change this comment) */ 121 (do not change this comment) */
diff --git a/src/s/darwin.h b/src/s/darwin.h
index 01544631aaa..76c0054cd3f 100644
--- a/src/s/darwin.h
+++ b/src/s/darwin.h
@@ -19,9 +19,8 @@ You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22/* Define symbols to identify the version of Unix this is. 22/* Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly. */ 23 Define all the symbols that apply correctly. */
24
25#define BSD4_2 24#define BSD4_2
26/* BSD4_3 and BSD4_4 are already defined in sys/param.h */ 25/* BSD4_3 and BSD4_4 are already defined in sys/param.h */
27#define BSD_SYSTEM 26#define BSD_SYSTEM
@@ -29,12 +28,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
29/* More specific than the above two. We cannot use __APPLE__ as this 28/* More specific than the above two. We cannot use __APPLE__ as this
30 may not be defined on non-OSX Darwin, and we cannot define DARWIN 29 may not be defined on non-OSX Darwin, and we cannot define DARWIN
31 here because Panther and lower CoreFoundation.h uses DARWIN to 30 here because Panther and lower CoreFoundation.h uses DARWIN to
32 distinguish OS X from pure Darwin. */ 31 distinguish OS X from pure Darwin. */
33#define DARWIN_OS 32#define DARWIN_OS
34 33
35 34
36/* SYSTEM_TYPE should indicate the kind of system you are using. 35/* SYSTEM_TYPE should indicate the kind of system you are using.
37 It sets the Lisp variable system-type. */ 36 It sets the Lisp variable system-type. */
38#define SYSTEM_TYPE "darwin" 37#define SYSTEM_TYPE "darwin"
39 38
40/* Emacs can read input using SIGIO and buffering characters itself, 39/* Emacs can read input using SIGIO and buffering characters itself,
@@ -64,26 +63,21 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
64 if system supports pty's. 'a' means it is /dev/ptya0 */ 63 if system supports pty's. 'a' means it is /dev/ptya0 */
65#define FIRST_PTY_LETTER 'p' 64#define FIRST_PTY_LETTER 'p'
66 65
67/* 66/* Define HAVE_TERMIOS if the system provides POSIX-style
68 * Define HAVE_TERMIOS if the system provides POSIX-style 67 functions and macros for terminal control.
69 * functions and macros for terminal control. 68
70 * 69 Define HAVE_TERMIO if the system provides sysV-style ioctls
71 * Define HAVE_TERMIO if the system provides sysV-style ioctls 70 for terminal control.
72 * for terminal control. 71
73 * 72 Do not define both. HAVE_TERMIOS is preferred, if it is supported
74 * Do not define both. HAVE_TERMIOS is preferred, if it is 73 on your system. */
75 * supported on your system.
76 */
77#define HAVE_TERMIOS 74#define HAVE_TERMIOS
78#define NO_TERMIO 75#define NO_TERMIO
79 76
80/* 77/* Define HAVE_PTYS if the system supports pty devices.
81 * Define HAVE_PTYS if the system supports pty devices. 78 Note: PTYs are broken on darwin <6. Use at your own risk. */
82 * Note: PTYs are broken on darwin <6. Use at your own risk.
83 */
84#define HAVE_PTYS 79#define HAVE_PTYS
85/* Run only once. We need a `for'-loop because the code uses 80/* Run only once. We need a `for'-loop because the code uses `continue'. */
86 `continue'. */
87#define PTY_ITERATION for (i = 0; i < 1; i++) 81#define PTY_ITERATION for (i = 0; i < 1; i++)
88#define PTY_NAME_SPRINTF /* none */ 82#define PTY_NAME_SPRINTF /* none */
89#define PTY_TTY_NAME_SPRINTF /* none */ 83#define PTY_TTY_NAME_SPRINTF /* none */
@@ -101,11 +95,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
101 } \ 95 } \
102 while (0) 96 while (0)
103 97
104/** 98/* PTYs only work correctly on Darwin 7 or higher. So make the default
105 * PTYs only work correctly on Darwin 7 or higher. So make the 99 for process-connection-type dependent on the kernel version. */
106 * default for process-connection-type dependent on the kernel
107 * version.
108 */
109#define MIN_PTY_KERNEL_VERSION '7' 100#define MIN_PTY_KERNEL_VERSION '7'
110 101
111/* Define this symbol if your system has the functions bcopy, etc. */ 102/* Define this symbol if your system has the functions bcopy, etc. */
@@ -123,12 +114,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
123/* Used in dispnew.c. Copied from freebsd.h. */ 114/* Used in dispnew.c. Copied from freebsd.h. */
124#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) 115#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
125 116
126/* System uses OXTABS instead of the expected TAB3. (Copied from 117/* System uses OXTABS instead of the expected TAB3. (Copied from bsd386.h.) */
127 bsd386.h.) */
128#define TAB3 OXTABS 118#define TAB3 OXTABS
129 119
130/* Darwin ld insists on the use of malloc routines in the System 120/* Darwin ld insists on the use of malloc routines in the System framework. */
131 framework. */
132#define SYSTEM_MALLOC 121#define SYSTEM_MALLOC
133 122
134/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ 123/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
@@ -154,8 +143,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
154#define malloc unexec_malloc 143#define malloc unexec_malloc
155#define realloc unexec_realloc 144#define realloc unexec_realloc
156#define free unexec_free 145#define free unexec_free
157/* Don't use posix_memalign because it is not compatible with 146/* Don't use posix_memalign because it is not compatible with unexmacosx.c. */
158 unexmacosx.c. */
159#undef HAVE_POSIX_MEMALIGN 147#undef HAVE_POSIX_MEMALIGN
160#endif 148#endif
161 149
@@ -183,8 +171,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
183 ioctl TIOCSCTTY. */ 171 ioctl TIOCSCTTY. */
184#define DONT_REOPEN_PTY 172#define DONT_REOPEN_PTY
185 173
186/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the 174/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */
187 stack. */
188#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS 175#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
189 176
190/* arch-tag: 481d443d-4f89-43ea-b5fb-49706d95fa41 177/* arch-tag: 481d443d-4f89-43ea-b5fb-49706d95fa41
diff --git a/src/s/freebsd.h b/src/s/freebsd.h
index 2bce3ad63be..2b53ec0413f 100644
--- a/src/s/freebsd.h
+++ b/src/s/freebsd.h
@@ -33,7 +33,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
33#define HAVE_GETLOADAVG 1 33#define HAVE_GETLOADAVG 1
34#define DECLARE_GETPWUID_WITH_UID_T 34#define DECLARE_GETPWUID_WITH_UID_T
35 35
36/* this silences a few compilation warnings */ 36/* This silences a few compilation warnings. */
37#undef BSD_SYSTEM 37#undef BSD_SYSTEM
38#if __FreeBSD__ == 1 38#if __FreeBSD__ == 1
39#define BSD_SYSTEM 199103 39#define BSD_SYSTEM 199103
@@ -61,23 +61,17 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
61 successfully after processing (for example with CRs added if the 61 successfully after processing (for example with CRs added if the
62 terminal is set up that way which it is here). The same bytes will 62 terminal is set up that way which it is here). The same bytes will
63 be seen again in a later read(2), without the CRs. */ 63 be seen again in a later read(2), without the CRs. */
64
65#define BROKEN_PTY_READ_AFTER_EAGAIN 1 64#define BROKEN_PTY_READ_AFTER_EAGAIN 1
66 65
67/* Tell that garbage collector that setjmp is known to save all 66/* Tell that garbage collector that setjmp is known to save all
68 registers relevant for conservative garbage collection in the 67 registers relevant for conservative garbage collection in the jmp_buf. */
69 jmp_buf. */
70
71#define GC_SETJMP_WORKS 1 68#define GC_SETJMP_WORKS 1
72 69
73/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the 70/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */
74 stack. */
75
76#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS 71#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
77 72
78/* Define USE_MMAP_FOR_BUFFERS to let Emacs use mmap(2) to allocate 73/* Define USE_MMAP_FOR_BUFFERS to let Emacs use mmap(2) to allocate
79 buffer text. This overrides REL_ALLOC. */ 74 buffer text. This overrides REL_ALLOC. */
80
81#define USE_MMAP_FOR_BUFFERS 1 75#define USE_MMAP_FOR_BUFFERS 1
82 76
83/* arch-tag: 426529ca-b7c4-448f-b10a-d4dcdc9c78eb 77/* arch-tag: 426529ca-b7c4-448f-b10a-d4dcdc9c78eb
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index a42bbaadf62..3aa2dc16f42 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -3,6 +3,8 @@
3Copyright (C) 1985, 1986, 1992, 1994, 1996, 1999, 2001, 2002, 2003, 2004, 3Copyright (C) 1985, 1986, 1992, 1994, 1996, 1999, 2001, 2002, 2003, 2004,
4 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6This file was put together by Michael K. Johnson and Rik Faith.
7
6This file is part of GNU Emacs. 8This file is part of GNU Emacs.
7 9
8GNU Emacs is free software: you can redistribute it and/or modify 10GNU Emacs is free software: you can redistribute it and/or modify
@@ -18,20 +20,13 @@ GNU General Public License for more details.
18You should have received a copy of the GNU General Public License 20You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 22
21/* This file was put together by Michael K. Johnson and Rik Faith. */ 23/* Define symbols to identify the version of Unix this is.
22 24 Define all the symbols that apply correctly. */
23
24/*
25 * Define symbols to identify the version of Unix this is.
26 * Define all the symbols that apply correctly.
27 */
28
29#define USG 25#define USG
30#define GNU_LINUX 26#define GNU_LINUX
31 27
32/* SYSTEM_TYPE should indicate the kind of system you are using. 28/* SYSTEM_TYPE should indicate the kind of system you are using.
33 It sets the Lisp variable system-type. */ 29 It sets the Lisp variable system-type. */
34
35#define SYSTEM_TYPE "gnu/linux" /* All the best software is free. */ 30#define SYSTEM_TYPE "gnu/linux" /* All the best software is free. */
36 31
37#ifndef NOT_C_CODE 32#ifndef NOT_C_CODE
@@ -50,9 +45,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
50#if defined HAVE_GRANTPT 45#if defined HAVE_GRANTPT
51#define UNIX98_PTYS 46#define UNIX98_PTYS
52 47
53/* Run only once. We need a `for'-loop because the code uses 48/* Run only once. We need a `for'-loop because the code uses `continue'. */
54 `continue'. */
55
56#define PTY_ITERATION for (i = 0; i < 1; i++) 49#define PTY_ITERATION for (i = 0; i < 1; i++)
57 50
58#ifdef HAVE_GETPT 51#ifdef HAVE_GETPT
@@ -64,7 +57,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
64 57
65/* Note that grantpt and unlockpt may fork. We must block SIGCHLD to 58/* Note that grantpt and unlockpt may fork. We must block SIGCHLD to
66 prevent sigchld_handler from intercepting the child's death. */ 59 prevent sigchld_handler from intercepting the child's death. */
67
68#define PTY_TTY_NAME_SPRINTF \ 60#define PTY_TTY_NAME_SPRINTF \
69 { \ 61 { \
70 char *ptyname; \ 62 char *ptyname; \
@@ -86,23 +78,20 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
86 78
87/* Letter to use in finding device name of first pty, 79/* Letter to use in finding device name of first pty,
88 if system supports pty's. 'p' means it is /dev/ptyp0 */ 80 if system supports pty's. 'p' means it is /dev/ptyp0 */
89
90#define FIRST_PTY_LETTER 'p' 81#define FIRST_PTY_LETTER 'p'
91 82
92#endif /* not HAVE_GRANTPT */ 83#endif /* not HAVE_GRANTPT */
93 84
94/* Define HAVE_TERMIOS if the system provides POSIX-style 85/* Define HAVE_TERMIOS if the system provides POSIX-style
95 functions and macros for terminal control. */ 86 functions and macros for terminal control. */
96
97#define HAVE_TERMIOS 87#define HAVE_TERMIOS
98 88
99/* Define HAVE_PTYS if the system supports pty devices. */ 89/* Define HAVE_PTYS if the system supports pty devices. */
100
101#define HAVE_PTYS 90#define HAVE_PTYS
102 91
103#define HAVE_SOCKETS 92#define HAVE_SOCKETS
104 93
105/* Define this symbol if your system has the functions bcopy, etc. */ 94/* Define this symbol if your system has the functions bcopy, etc. */
106#define BSTRING 95#define BSTRING
107 96
108/* This is used in list_system_processes. */ 97/* This is used in list_system_processes. */
@@ -121,20 +110,19 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
121 your system and must be used only through an encapsulation 110 your system and must be used only through an encapsulation
122 (Which you should place, by convention, in sysdep.c). */ 111 (Which you should place, by convention, in sysdep.c). */
123 112
124/* This is needed for dispnew.c:update_frame */ 113/* This is needed for dispnew.c:update_frame. */
125
126#ifdef emacs 114#ifdef emacs
127#include <stdio.h> /* Get the definition of _IO_STDIO_H. */ 115#include <stdio.h> /* Get the definition of _IO_STDIO_H. */
128#if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM) 116#if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
129/* new C libio names */ 117/* New C libio names. */
130#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \ 118#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
131 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base) 119 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
132#elif defined (__UCLIBC__) 120#elif defined (__UCLIBC__)
133/* using the uClibc library */ 121/* Using the uClibc library. */
134#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \ 122#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
135 ((FILE)->__bufpos - (FILE)->__bufstart) 123 ((FILE)->__bufpos - (FILE)->__bufstart)
136#else /* !_IO_STDIO_H && ! __UCLIBC__ */ 124#else /* !_IO_STDIO_H && ! __UCLIBC__ */
137/* old C++ iostream names */ 125/* Old C++ iostream names. */
138#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \ 126#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
139 ((FILE)->_pptr - (FILE)->_pbase) 127 ((FILE)->_pptr - (FILE)->_pbase)
140#endif /* !_IO_STDIO_H && ! __UCLIBC__ */ 128#endif /* !_IO_STDIO_H && ! __UCLIBC__ */
@@ -165,8 +153,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
165#endif 153#endif
166 154
167/* Tell that garbage collector that setjmp is known to save all 155/* Tell that garbage collector that setjmp is known to save all
168 registers relevant for conservative garbage collection in the 156 registers relevant for conservative garbage collection in the jmp_buf. */
169 jmp_buf. */
170/* Not all the architectures are tested, but there are Debian packages 157/* Not all the architectures are tested, but there are Debian packages
171 for SCM and/or Guile on them, so the technique must work. See also 158 for SCM and/or Guile on them, so the technique must work. See also
172 comments in alloc.c concerning setjmp and gcc. Fixme: it's 159 comments in alloc.c concerning setjmp and gcc. Fixme: it's
@@ -174,7 +161,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
174 register window-flushing. */ 161 register window-flushing. */
175/* Don't use #cpu here since in newest development versions of GCC, 162/* Don't use #cpu here since in newest development versions of GCC,
176 we must call cpp with -traditional, and that disables #cpu. */ 163 we must call cpp with -traditional, and that disables #cpu. */
177
178#if defined __i386__ || defined __sparc__ || defined __mc68000__ \ 164#if defined __i386__ || defined __sparc__ || defined __mc68000__ \
179 || defined __alpha__ || defined __mips__ || defined __s390__ \ 165 || defined __alpha__ || defined __mips__ || defined __s390__ \
180 || defined __arm__ || defined __powerpc__ || defined __amd64__ \ 166 || defined __arm__ || defined __powerpc__ || defined __amd64__ \
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h
index 0dc8276c44e..91988ef6727 100644
--- a/src/s/hpux10-20.h
+++ b/src/s/hpux10-20.h
@@ -21,56 +21,39 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#define RUN_TIME_REMAP 22#define RUN_TIME_REMAP
23 23
24/* 24/* Define symbols to identify the version of Unix this is.
25 * Define symbols to identify the version of Unix this is. 25 Define all the symbols that apply correctly. */
26 * Define all the symbols that apply correctly.
27 */
28
29#define USG /* System III, System V, etc */ 26#define USG /* System III, System V, etc */
30
31#define USG5 27#define USG5
32
33#define HPUX 28#define HPUX
34 29
35/* SYSTEM_TYPE should indicate the kind of system you are using. 30/* SYSTEM_TYPE should indicate the kind of system you are using.
36 It sets the Lisp variable system-type. */ 31 It sets the Lisp variable system-type. */
37
38#define SYSTEM_TYPE "hpux" 32#define SYSTEM_TYPE "hpux"
39 33
40/* Letter to use in finding device name of first pty, 34/* Letter to use in finding device name of first pty,
41 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */ 35 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
42
43#define FIRST_PTY_LETTER 'p' 36#define FIRST_PTY_LETTER 'p'
44 37
45/* 38/* Define HAVE_TERMIO if the system provides sysV-style ioctls
46 * Define HAVE_TERMIO if the system provides sysV-style ioctls 39 for terminal control. */
47 * for terminal control.
48 */
49
50#define HAVE_TERMIO 40#define HAVE_TERMIO
51 41
52/* 42/* Define HAVE_PTYS if the system supports pty devices. */
53 * Define HAVE_PTYS if the system supports pty devices.
54 */
55
56#define HAVE_PTYS 43#define HAVE_PTYS
57 44
58/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ 45/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
59
60#define HAVE_SOCKETS 46#define HAVE_SOCKETS
61 47
62/* Define this symbol if your system has the functions bcopy, etc. 48/* Define this symbol if your system has the functions bcopy, etc.
63 * s800 and later versions of s300 (s200) kernels have equivalents 49 s800 and later versions of s300 (s200) kernels have equivalents
64 * of the BSTRING functions of BSD. If your s200 kernel doesn't have 50 of the BSTRING functions of BSD. If your s200 kernel doesn't have
65 * em comment out this section. 51 em comment out this section. */
66 */
67
68#define BSTRING 52#define BSTRING
69 53
70/* Define CLASH_DETECTION if you want lock files to be written 54/* Define CLASH_DETECTION if you want lock files to be written
71 so that Emacs can tell instantly when you try to modify 55 so that Emacs can tell instantly when you try to modify
72 a file that someone else has modified in his Emacs. */ 56 a file that someone else has modified in his Emacs. */
73
74#define CLASH_DETECTION 57#define CLASH_DETECTION
75 58
76/* The symbol in the kernel where the load average is found 59/* The symbol in the kernel where the load average is found
@@ -80,11 +63,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
80 63
81/* In hpux, the symbol SIGIO is defined, but the feature 64/* In hpux, the symbol SIGIO is defined, but the feature
82 doesn't work in the way Emacs needs it to. */ 65 doesn't work in the way Emacs needs it to. */
83
84#define BROKEN_SIGIO 66#define BROKEN_SIGIO
85 67
86/* Some additional system facilities exist. */ 68/* Some additional system facilities exist. */
87
88#define HAVE_PERROR /* Delete this line for version 6. */ 69#define HAVE_PERROR /* Delete this line for version 6. */
89 70
90#define UNEXEC unexhp9k800.o 71#define UNEXEC unexhp9k800.o
@@ -112,7 +93,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
112 version number A.09.05. 93 version number A.09.05.
113 94
114 You can fix the math library by installing patch number PHSS_4630. 95 You can fix the math library by installing patch number PHSS_4630.
115 But we can fix it more reliably for Emacs like this. */ 96 But we can fix it more reliably for Emacs like this. */
116#undef HAVE_RINT 97#undef HAVE_RINT
117 98
118/* We have to go this route, rather than hpux9's approach of renaming the 99/* We have to go this route, rather than hpux9's approach of renaming the
@@ -129,8 +110,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
129 110
130 111
131/* Rainer Malzbender <rainer@displaytech.com> says definining 112/* Rainer Malzbender <rainer@displaytech.com> says definining
132 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 113 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 using GCC. */
133 using GCC. */
134#ifndef HAVE_XRMSETDATABASE 114#ifndef HAVE_XRMSETDATABASE
135#define HAVE_XRMSETDATABASE 115#define HAVE_XRMSETDATABASE
136#endif 116#endif
@@ -145,7 +125,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
145 to change the boundary between the text section and data section 125 to change the boundary between the text section and data section
146 when Emacs is dumped. If you define this, the preloaded Lisp 126 when Emacs is dumped. If you define this, the preloaded Lisp
147 code will not be sharable; but that's better than failing completely. */ 127 code will not be sharable; but that's better than failing completely. */
148
149#define NO_REMAP 128#define NO_REMAP
150 129
151/* Define VIRT_ADDR_VARIES if the virtual addresses of 130/* Define VIRT_ADDR_VARIES if the virtual addresses of
@@ -154,35 +133,29 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
154 133
155 Otherwise Emacs assumes that text space precedes data space, 134 Otherwise Emacs assumes that text space precedes data space,
156 numerically. */ 135 numerically. */
157
158#define VIRT_ADDR_VARIES 136#define VIRT_ADDR_VARIES
159 137
160/* the data segment on this machine always starts at address 0x40000000. */ 138/* The data segment on this machine always starts at address 0x40000000. */
161
162#define DATA_SEG_BITS 0x40000000 139#define DATA_SEG_BITS 0x40000000
163 140
164#define DATA_START 0x40000000 141#define DATA_START 0x40000000
165#define TEXT_START 0x00000000 142#define TEXT_START 0x00000000
166 143
167/* Data type of load average, as read out of kmem. */ 144/* Data type of load average, as read out of kmem. */
168
169#define LOAD_AVE_TYPE double 145#define LOAD_AVE_TYPE double
170 146
171/* Convert that into an integer that is 100 for a load average of 1.0 */ 147/* Convert that into an integer that is 100 for a load average of 1.0 */
172
173#define LOAD_AVE_CVT(x) ((int) (x * 100.0)) 148#define LOAD_AVE_CVT(x) ((int) (x * 100.0))
174 149
175/* The symbol in the kernel where the load average is found 150/* The kernel symbol where the load average is found is named _avenrun.
176 is named _avenrun. At this time there are two major flavors 151 At this time there are two major flavors of hp-ux (there is the s800
177 of hp-ux (there is the s800 and s300 (s200) flavors). The 152 and s300 (s200) flavors). The differences are thusly moved to the
178 differences are thusly moved to the corresponding machine description file. 153 corresponding machine description file. */
179*/
180 154
181/* no underscore please */ 155/* No underscore please. */
182#define LDAV_SYMBOL "avenrun" 156#define LDAV_SYMBOL "avenrun"
183 157
184/* On USG systems these have different names. */ 158/* On USG systems these have different names. */
185
186#define index strchr 159#define index strchr
187#define rindex strrchr 160#define rindex strrchr
188 161
diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h
index 7016e6bc443..e9e14f0cf35 100644
--- a/src/s/irix6-5.h
+++ b/src/s/irix6-5.h
@@ -41,7 +41,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
41#define SIGNALS_VIA_CHARACTERS 41#define SIGNALS_VIA_CHARACTERS
42 42
43/* Letter to use in finding device name of first pty, 43/* Letter to use in finding device name of first pty,
44 if system supports pty's. 'a' means it is /dev/ptya0 */ 44 if system supports pty's. 'a' means it is /dev/ptya0 */
45#undef FIRST_PTY_LETTER 45#undef FIRST_PTY_LETTER
46#define FIRST_PTY_LETTER 'q' 46#define FIRST_PTY_LETTER 'q'
47 47
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index f5065507e5a..2d6cc2f4bd5 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -18,10 +18,8 @@ GNU General Public License for more details.
18You should have received a copy of the GNU General Public License 18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21/* 21/* Define symbols to identify the version of Unix this is.
22 * Define symbols to identify the version of Unix this is. 22 Define all the symbols that apply correctly. */
23 * Define all the symbols that apply correctly.
24 */
25 23
26#ifndef WINDOWSNT 24#ifndef WINDOWSNT
27#define WINDOWSNT 25#define WINDOWSNT
@@ -31,63 +29,53 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
31#endif 29#endif
32 30
33/* If you are compiling with a non-C calling convention but need to 31/* If you are compiling with a non-C calling convention but need to
34 declare vararg routines differently, put it here */ 32 declare vararg routines differently, put it here. */
35#define _VARARGS_ __cdecl 33#define _VARARGS_ __cdecl
36 34
37/* If you are providing a function to something that will call the 35/* If you are providing a function to something that will call the
38 function back (like a signal handler and signal, or main) its calling 36 function back (like a signal handler and signal, or main) its calling
39 convention must be whatever standard the libraries expect */ 37 convention must be whatever standard the libraries expect. */
40#define _CALLBACK_ __cdecl 38#define _CALLBACK_ __cdecl
41 39
42/* SYSTEM_TYPE should indicate the kind of system you are using. 40/* SYSTEM_TYPE should indicate the kind of system you are using.
43 It sets the Lisp variable system-type. */ 41 It sets the Lisp variable system-type. */
44
45#define SYSTEM_TYPE "windows-nt" 42#define SYSTEM_TYPE "windows-nt"
46#define SYMS_SYSTEM syms_of_ntterm () 43#define SYMS_SYSTEM syms_of_ntterm ()
47 44
48#define NO_MATHERR 1 45#define NO_MATHERR 1
49 46
50/* Letter to use in finding device name of first pty, 47/* Letter to use in finding device name of first pty,
51 if system supports pty's. 'a' means it is /dev/ptya0 */ 48 if system supports pty's. 'a' means it is /dev/ptya0 */
52
53#define FIRST_PTY_LETTER 'a' 49#define FIRST_PTY_LETTER 'a'
54 50
55/* 51/* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
56 * Define HAVE_TIMEVAL if the system supports the BSD style clock values. 52 Look in <sys/time.h> for a timeval structure. */
57 * Look in <sys/time.h> for a timeval structure.
58 */
59
60#define HAVE_TIMEVAL 1 53#define HAVE_TIMEVAL 1
61 54
62/* NT supports Winsock which is close enough (with some hacks) */ 55/* NT supports Winsock which is close enough (with some hacks). */
63
64#define HAVE_SOCKETS 1 56#define HAVE_SOCKETS 1
65 57
66/* But our select implementation doesn't allow us to make non-blocking 58/* But our select implementation doesn't allow us to make non-blocking
67 connects. So until that is fixed, this is necessary: */ 59 connects. So until that is fixed, this is necessary: */
68
69#define BROKEN_NON_BLOCKING_CONNECT 1 60#define BROKEN_NON_BLOCKING_CONNECT 1
70 61
71/* And the select implementation does 1-byte read-ahead waiting 62/* And the select implementation does 1-byte read-ahead waiting
72 for received packets, so datagrams are broken too. */ 63 for received packets, so datagrams are broken too. */
73
74#define BROKEN_DATAGRAM_SOCKETS 1 64#define BROKEN_DATAGRAM_SOCKETS 1
75 65
76/* Define this symbol if your system has the functions bcopy, etc. */ 66/* Define this symbol if your system has the functions bcopy, etc. */
77
78#define BSTRING 67#define BSTRING
79#define bzero(b, l) memset(b, 0, l) 68#define bzero(b, l) memset(b, 0, l)
80#define bcopy(s, d, l) memmove(d, s, l) 69#define bcopy(s, d, l) memmove(d, s, l)
81#define bcmp(a, b, l) memcmp(a, b, l) 70#define bcmp(a, b, l) memcmp(a, b, l)
82 71
83/* bcopy (aka memmove aka memcpy at least on x86) under MSVC is quite safe */ 72/* bcopy (aka memmove aka memcpy at least on x86) under MSVC is quite safe. */
84#define GAP_USE_BCOPY 1 73#define GAP_USE_BCOPY 1
85#define BCOPY_UPWARD_SAFE 1 74#define BCOPY_UPWARD_SAFE 1
86#define BCOPY_DOWNWARD_SAFE 1 75#define BCOPY_DOWNWARD_SAFE 1
87 76
88/* If your system uses COFF (Common Object File Format) then define the 77/* If your system uses COFF (Common Object File Format) then define the
89 preprocessor symbol "COFF". */ 78 preprocessor symbol "COFF". */
90
91#define COFF 1 79#define COFF 1
92 80
93#define MAIL_USE_POP 1 81#define MAIL_USE_POP 1
@@ -101,17 +89,16 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
101 89
102/* ============================================================ */ 90/* ============================================================ */
103 91
104/* Here, add any special hacks needed 92/* Here, add any special hacks needed to make Emacs work on this
105 to make Emacs work on this system. For example, 93 system. For example, you might define certain system call names
106 you might define certain system call names that don't 94 that don't exist on your system, or that do different things on
107 exist on your system, or that do different things on 95 your system and must be used only through an encapsulation (which
108 your system and must be used only through an encapsulation 96 you should place, by convention, in sysdep.c). */
109 (Which you should place, by convention, in sysdep.c). */
110 97
111/* Define this to be the separator between path elements */ 98/* Define this to be the separator between path elements. */
112#define DIRECTORY_SEP XINT (Vdirectory_sep_char) 99#define DIRECTORY_SEP XINT (Vdirectory_sep_char)
113 100
114/* Define this to be the separator between devices and paths */ 101/* Define this to be the separator between devices and paths. */
115#define DEVICE_SEP ':' 102#define DEVICE_SEP ':'
116 103
117/* We'll support either convention on NT. */ 104/* We'll support either convention on NT. */
@@ -128,7 +115,7 @@ struct sigaction {
128#define SIG_SETMASK 2 115#define SIG_SETMASK 2
129#define SIG_UNBLOCK 3 116#define SIG_UNBLOCK 3
130 117
131/* The null device on Windows NT. */ 118/* The null device on Windows NT. */
132#define NULL_DEVICE "NUL:" 119#define NULL_DEVICE "NUL:"
133 120
134#ifndef MAXPATHLEN 121#ifndef MAXPATHLEN
@@ -218,11 +205,11 @@ struct sigaction {
218 205
219#define MODE_LINE_BINARY_TEXT(_b_) (NILP ((_b_)->buffer_file_type) ? "T" : "B") 206#define MODE_LINE_BINARY_TEXT(_b_) (NILP ((_b_)->buffer_file_type) ? "T" : "B")
220 207
221/* get some redefinitions in place */ 208/* Get some redefinitions in place. */
222 209
223#ifdef emacs 210#ifdef emacs
224 211
225/* calls that are emulated or shadowed */ 212/* Calls that are emulated or shadowed. */
226#undef access 213#undef access
227#define access sys_access 214#define access sys_access
228#undef chdir 215#undef chdir
@@ -259,17 +246,17 @@ struct sigaction {
259#undef write 246#undef write
260#define write sys_write 247#define write sys_write
261 248
262/* subprocess calls that are emulated */ 249/* Subprocess calls that are emulated. */
263#define spawnve sys_spawnve 250#define spawnve sys_spawnve
264#define wait sys_wait 251#define wait sys_wait
265#define kill sys_kill 252#define kill sys_kill
266#define signal sys_signal 253#define signal sys_signal
267 254
268/* termcap.c calls that are emulated */ 255/* termcap.c calls that are emulated. */
269#define tputs sys_tputs 256#define tputs sys_tputs
270#define tgetstr sys_tgetstr 257#define tgetstr sys_tgetstr
271 258
272/* cm.c calls that are emulated */ 259/* cm.c calls that are emulated. */
273#define chcheckmagic sys_chcheckmagic 260#define chcheckmagic sys_chcheckmagic
274#define cmcostinit sys_cmcostinit 261#define cmcostinit sys_cmcostinit
275#define cmgoto sys_cmgoto 262#define cmgoto sys_cmgoto
@@ -278,7 +265,7 @@ struct sigaction {
278 265
279#endif /* emacs */ 266#endif /* emacs */
280 267
281/* map to MSVC names */ 268/* Map to MSVC names. */
282#define execlp _execlp 269#define execlp _execlp
283#define execvp _execvp 270#define execvp _execvp
284#define fdopen _fdopen 271#define fdopen _fdopen
@@ -312,8 +299,8 @@ typedef int pid_t;
312#define utime _utime 299#define utime _utime
313#endif 300#endif
314 301
315/* this is hacky, but is necessary to avoid warnings about macro 302/* This is hacky, but is necessary to avoid warnings about macro
316 redefinitions using the SDK compilers */ 303 redefinitions using the SDK compilers. */
317#ifndef __STDC__ 304#ifndef __STDC__
318#define __STDC__ 1 305#define __STDC__ 1
319#define MUST_UNDEF__STDC__ 306#define MUST_UNDEF__STDC__
@@ -326,7 +313,7 @@ typedef int pid_t;
326#undef MUST_UNDEF__STDC__ 313#undef MUST_UNDEF__STDC__
327#endif 314#endif
328 315
329/* Defines that we need that aren't in the standard signal.h */ 316/* Defines that we need that aren't in the standard signal.h. */
330#define SIGHUP 1 /* Hang up */ 317#define SIGHUP 1 /* Hang up */
331#define SIGQUIT 3 /* Quit process */ 318#define SIGQUIT 3 /* Quit process */
332#define SIGTRAP 5 /* Trace trap */ 319#define SIGTRAP 5 /* Trace trap */
@@ -369,8 +356,7 @@ extern char *get_emacs_configuration_options (void);
369 356
370#include <sys/stat.h> 357#include <sys/stat.h>
371 358
372/* Define for those source files that do not include enough NT 359/* Define for those source files that do not include enough NT system files. */
373 system files. */
374#ifndef NULL 360#ifndef NULL
375#ifdef __cplusplus 361#ifdef __cplusplus
376#define NULL 0 362#define NULL 0
@@ -405,7 +391,7 @@ extern char *get_emacs_configuration_options (void);
405 removed. Also, obviously, all files that define initialized data 391 removed. Also, obviously, all files that define initialized data
406 must include config.h to pick up this pragma. */ 392 must include config.h to pick up this pragma. */
407 393
408/* Names must be < 8 bytes */ 394/* Names must be < 8 bytes. */
409#ifdef _MSC_VER 395#ifdef _MSC_VER
410#pragma data_seg("EMDATA") 396#pragma data_seg("EMDATA")
411#pragma bss_seg("EMBSS") 397#pragma bss_seg("EMBSS")
diff --git a/src/s/msdos.h b/src/s/msdos.h
index efed104e958..90f630c8627 100644
--- a/src/s/msdos.h
+++ b/src/s/msdos.h
@@ -21,11 +21,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21/* Note: lots of stuff here was taken from s-msdos.h in demacs. */ 21/* Note: lots of stuff here was taken from s-msdos.h in demacs. */
22 22
23 23
24/* 24/* Define symbols to identify the version of Unix this is.
25 * Define symbols to identify the version of Unix this is. 25 Define all the symbols that apply correctly. */
26 * Define all the symbols that apply correctly.
27 */
28
29#ifndef MSDOS 26#ifndef MSDOS
30#define MSDOS 27#define MSDOS
31#endif 28#endif
@@ -38,40 +35,34 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
38#undef BSD_SYSTEM 35#undef BSD_SYSTEM
39 36
40/* SYSTEM_TYPE should indicate the kind of system you are using. 37/* SYSTEM_TYPE should indicate the kind of system you are using.
41 It sets the Lisp variable system-type. */ 38 It sets the Lisp variable system-type. */
42
43#define SYSTEM_TYPE "ms-dos" 39#define SYSTEM_TYPE "ms-dos"
44 40
45#define SYMS_SYSTEM syms_of_dosfns();syms_of_msdos();syms_of_win16select() 41#define SYMS_SYSTEM syms_of_dosfns();syms_of_msdos();syms_of_win16select()
46 42
47#define SYSV_SYSTEM_DIR 43#define SYSV_SYSTEM_DIR
48 44
49/* Define this symbol if your system has the functions bcopy, etc. */ 45/* Define this symbol if your system has the functions bcopy, etc. */
50
51#define BSTRING 46#define BSTRING
52 47
53/* Define this is the compiler understands `volatile'. */ 48/* Define this is the compiler understands `volatile'. */
54#define HAVE_VOLATILE 49#define HAVE_VOLATILE
55 50
56 51
57/* subprocesses should be defined if you want to 52/* subprocesses should be defined if you want to have code for
58 have code for asynchronous subprocesses 53 asynchronous subprocesses (as used in M-x compile and M-x shell).
59 (as used in M-x compile and M-x shell).
60 This is the only system that needs this. */ 54 This is the only system that needs this. */
61
62#undef subprocesses 55#undef subprocesses
63 56
64/* If your system uses COFF (Common Object File Format) then define the 57/* If your system uses COFF (Common Object File Format) then define the
65 preprocessor symbol "COFF". */ 58 preprocessor symbol "COFF". */
66
67#define COFF 59#define COFF
68 60
69/* Here, on a separate page, add any special hacks needed 61/* Here, on a separate page, add any special hacks needed to make
70 to make Emacs work on this system. For example, 62 Emacs work on this system. For example, you might define certain
71 you might define certain system call names that don't 63 system call names that don't exist on your system, or that do
72 exist on your system, or that do different things on 64 different things on your system and must be used only through an
73 your system and must be used only through an encapsulation 65 encapsulation (which you should place, by convention, in sysdep.c). */
74 (Which you should place, by convention, in sysdep.c). */
75 66
76/* Avoid incompatibilities between gmalloc.c and system header files 67/* Avoid incompatibilities between gmalloc.c and system header files
77 in how to declare valloc. */ 68 in how to declare valloc. */
@@ -83,7 +74,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
83 74
84/* setjmp and longjmp can safely replace _setjmp and _longjmp, 75/* setjmp and longjmp can safely replace _setjmp and _longjmp,
85 but they will run slower. */ 76 but they will run slower. */
86
87#define _setjmp setjmp 77#define _setjmp setjmp
88#define _longjmp longjmp 78#define _longjmp longjmp
89 79
@@ -109,17 +99,17 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
109:AB=<BG %d>:AF=<FG %d>:op=<DefC>:" 99:AB=<BG %d>:AF=<FG %d>:op=<DefC>:"
110 100
111/* Define this to a function (Fdowncase, Fupcase) if your file system 101/* Define this to a function (Fdowncase, Fupcase) if your file system
112 likes that */ 102 likes that. */
113#define FILE_SYSTEM_CASE Fmsdos_downcase_filename 103#define FILE_SYSTEM_CASE Fmsdos_downcase_filename
114 104
115/* Define this to be the separator between devices and paths */ 105/* Define this to be the separator between devices and paths. */
116#define DEVICE_SEP ':' 106#define DEVICE_SEP ':'
117 107
118/* We'll support either convention on MSDOG. */ 108/* We'll support either convention on MSDOG. */
119#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\') 109#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\')
120#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_)) 110#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))
121 111
122/* bcopy under djgpp is quite safe */ 112/* bcopy under djgpp is quite safe. */
123#define GAP_USE_BCOPY 113#define GAP_USE_BCOPY
124#define BCOPY_UPWARD_SAFE 1 114#define BCOPY_UPWARD_SAFE 1
125#define BCOPY_DOWNWARD_SAFE 1 115#define BCOPY_DOWNWARD_SAFE 1
@@ -153,9 +143,7 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
153#endif 143#endif
154 144
155/* Tell the garbage collector that setjmp is known to save all 145/* Tell the garbage collector that setjmp is known to save all
156 registers relevant for conservative garbage collection in the 146 registers relevant for conservative garbage collection in the jmp_buf. */
157 jmp_buf. */
158
159#define GC_SETJMP_WORKS 1 147#define GC_SETJMP_WORKS 1
160#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS 148#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
161 149
diff --git a/src/s/netbsd.h b/src/s/netbsd.h
index 2511dc1c1e7..b8df9014ecc 100644
--- a/src/s/netbsd.h
+++ b/src/s/netbsd.h
@@ -19,7 +19,7 @@ You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22/* Get most of the stuff from bsd-common */ 22/* Get most of the stuff from bsd-common. */
23#include "bsd-common.h" 23#include "bsd-common.h"
24 24
25#define HAVE_GETLOADAVG 1 25#define HAVE_GETLOADAVG 1
@@ -30,9 +30,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
30 30
31/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears 31/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears
32 the library search parth, i.e. it won't search /usr/lib 32 the library search parth, i.e. it won't search /usr/lib
33 for libc and friends. Using -nostartfiles instead avoids 33 for libc and friends. Using -nostartfiles instead avoids
34 this problem, and will also work on earlier NetBSD releases */ 34 this problem, and will also work on earlier NetBSD releases. */
35
36#define LINKER $(CC) -nostartfiles 35#define LINKER $(CC) -nostartfiles
37 36
38#define DEFAULT_SOUND_DEVICE "/dev/audio" 37#define DEFAULT_SOUND_DEVICE "/dev/audio"
@@ -40,7 +39,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
40/* Greg A. Woods <woods@weird.com> says we must include signal.h 39/* Greg A. Woods <woods@weird.com> says we must include signal.h
41 before syssignal.h is included, to work around interface conflicts 40 before syssignal.h is included, to work around interface conflicts
42 that are handled with CPP __RENAME() macro in signal.h. */ 41 that are handled with CPP __RENAME() macro in signal.h. */
43
44#ifndef NOT_C_CODE 42#ifndef NOT_C_CODE
45#include <signal.h> 43#include <signal.h>
46#endif 44#endif
@@ -48,17 +46,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
48/* Don't close pty in process.c to make it as controlling terminal. 46/* Don't close pty in process.c to make it as controlling terminal.
49 It is already a controlling terminal of subprocess, because we did 47 It is already a controlling terminal of subprocess, because we did
50 ioctl TIOCSCTTY. */ 48 ioctl TIOCSCTTY. */
51
52#define DONT_REOPEN_PTY 49#define DONT_REOPEN_PTY
53 50
54/* Tell that garbage collector that setjmp is known to save all 51/* Tell that garbage collector that setjmp is known to save all
55 registers relevant for conservative garbage collection in the 52 registers relevant for conservative garbage collection in the jmp_buf. */
56 jmp_buf. */
57
58#define GC_SETJMP_WORKS 1 53#define GC_SETJMP_WORKS 1
59 54
60/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */ 55/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */
61
62#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS 56#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
63 57
64/* arch-tag: e80f364a-04e9-4faf-93cb-f36a0fe95c81 58/* arch-tag: e80f364a-04e9-4faf-93cb-f36a0fe95c81
diff --git a/src/s/sol2-10.h b/src/s/sol2-10.h
index 865e17525c4..fd74ae798c9 100644
--- a/src/s/sol2-10.h
+++ b/src/s/sol2-10.h
@@ -4,20 +4,18 @@
4 4
5#define SYSTEM_MALLOC 5#define SYSTEM_MALLOC
6 6
7/* 7/* Use the Solaris dldump() function, called from unexsol.c, to dump
8 * Use the Solaris dldump() function, called from unexsol.c, to dump 8 emacs, instead of the generic ELF dump code found in unexelf.c.
9 * emacs, instead of the generic ELF dump code found in unexelf.c. 9 The resulting binary has a complete symbol table, and is better
10 * The resulting binary has a complete symbol table, and is better 10 for debugging and other observabilty tools (debuggers, pstack, etc).
11 * for debugging and other observabilty tools (debuggers, pstack, etc). 11
12 * 12 If you encounter a problem using dldump(), please consider sending
13 * If you encounter a problem using dldump(), please consider sending 13 a message to the OpenSolaris tools-linking mailing list:
14 * a message to the OpenSolaris tools-linking mailing list: 14 http://mail.opensolaris.org/mailman/listinfo/tools-linking
15 * http://mail.opensolaris.org/mailman/listinfo/tools-linking 15
16 * 16 It is likely that dldump() works with older Solaris too,
17 * It is likely that dldump() works with older Solaris too, 17 but this has not been tested, and so, this change is for
18 * but this has not been tested, and so, this change is for 18 Solaris 10 and newer only at this time. */
19 * Solaris 10 and newer only at this time.
20 */
21#undef UNEXEC 19#undef UNEXEC
22#define UNEXEC unexsol.o 20#define UNEXEC unexsol.o
23 21
diff --git a/src/s/template.h b/src/s/template.h
index b3a88c0b28c..16df03092d2 100644
--- a/src/s/template.h
+++ b/src/s/template.h
@@ -21,10 +21,8 @@ You should have received a copy of the GNU General Public License
21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22 22
23 23
24/* 24/* Define symbols to identify the version of Unix this is.
25 * Define symbols to identify the version of Unix this is. 25 Define all the symbols that apply correctly. */
26 * Define all the symbols that apply correctly.
27 */
28 26
29/* #define USG5 */ 27/* #define USG5 */
30/* #define USG */ 28/* #define USG */
@@ -34,7 +32,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
34/* #define BSD_SYSTEM */ 32/* #define BSD_SYSTEM */
35 33
36/* SYSTEM_TYPE should indicate the kind of system you are using. 34/* SYSTEM_TYPE should indicate the kind of system you are using.
37 It sets the Lisp variable system-type. */ 35 It sets the Lisp variable system-type. */
38 36
39#define SYSTEM_TYPE "berkeley-unix" 37#define SYSTEM_TYPE "berkeley-unix"
40 38
@@ -58,55 +56,46 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
58 Another method of doing input is planned but not implemented. 56 Another method of doing input is planned but not implemented.
59 It would have Emacs fork off a separate process 57 It would have Emacs fork off a separate process
60 to read the input and send it to the true Emacs process 58 to read the input and send it to the true Emacs process
61 through a pipe. */ 59 through a pipe. */
62
63#define INTERRUPT_INPUT 60#define INTERRUPT_INPUT
64 61
65/* Letter to use in finding device name of first pty, 62/* Letter to use in finding device name of first pty,
66 if system supports pty's. 'a' means it is /dev/ptya0 */ 63 if system supports pty's. 'a' means it is /dev/ptya0. */
67
68#define FIRST_PTY_LETTER 'a' 64#define FIRST_PTY_LETTER 'a'
69 65
70/* 66/* Define HAVE_TERMIOS if the system provides POSIX-style
71 * Define HAVE_TERMIOS if the system provides POSIX-style 67 functions and macros for terminal control.
72 * functions and macros for terminal control. 68
73 * 69 Define HAVE_TERMIO if the system provides sysV-style ioctls
74 * Define HAVE_TERMIO if the system provides sysV-style ioctls 70 for terminal control.
75 * for terminal control. 71
76 * 72 Do not define both. HAVE_TERMIOS is preferred, if it is
77 * Do not define both. HAVE_TERMIOS is preferred, if it is 73 supported on your system. */
78 * supported on your system.
79 */
80 74
81#define HAVE_TERMIOS 75#define HAVE_TERMIOS
82/* #define HAVE_TERMIO */ 76/* #define HAVE_TERMIO */
83 77
84/* 78/* Define HAVE_PTYS if the system supports pty devices. */
85 * Define HAVE_PTYS if the system supports pty devices.
86 */
87
88#define HAVE_PTYS 79#define HAVE_PTYS
89 80
90/* Define this symbol if your system has the functions bcopy, etc. */ 81/* Define this symbol if your system has the functions bcopy, etc. */
91
92#define BSTRING 82#define BSTRING
93 83
94/* subprocesses should be undefined if you do NOT want to 84/* subprocesses should be undefined if you do NOT want to
95 have code for asynchronous subprocesses 85 have code for asynchronous subprocesses
96 (as used in M-x compile and M-x shell). 86 (as used in M-x compile and M-x shell).
97 Currently only MSDOS does not support this. */ 87 Currently only MSDOS does not support this. */
98 88
99/* #undef subprocesses */ 89/* #undef subprocesses */
100 90
101/* If your system uses COFF (Common Object File Format) then define the 91/* If your system uses COFF (Common Object File Format) then define the
102 preprocessor symbol "COFF". */ 92 preprocessor symbol "COFF". */
103 93
104/* #define COFF */ 94/* #define COFF */
105 95
106/* Define CLASH_DETECTION if you want lock files to be written 96/* Define CLASH_DETECTION if you want lock files to be written
107 so that Emacs can tell instantly when you try to modify 97 so that Emacs can tell instantly when you try to modify
108 a file that someone else has modified in his Emacs. */ 98 a file that someone else has modified in his Emacs. */
109
110#define CLASH_DETECTION 99#define CLASH_DETECTION
111 100
112/* Define this if your operating system declares signal handlers to 101/* Define this if your operating system declares signal handlers to
@@ -127,12 +116,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
127 116
128/* ============================================================ */ 117/* ============================================================ */
129 118
130/* Here, add any special hacks needed 119/* Here, add any special hacks needed to make Emacs work on this
131 to make Emacs work on this system. For example, 120 system. For example, you might define certain system call names
132 you might define certain system call names that don't 121 that don't exist on your system, or that do different things on
133 exist on your system, or that do different things on 122 your system and must be used only through an encapsulation (which
134 your system and must be used only through an encapsulation 123 you should place, by convention, in sysdep.c). */
135 (Which you should place, by convention, in sysdep.c). */
136 124
137/* If the system's imake configuration file defines `NeedWidePrototypes' 125/* If the system's imake configuration file defines `NeedWidePrototypes'
138 as `NO', we must define NARROWPROTO manually. Such a define is 126 as `NO', we must define NARROWPROTO manually. Such a define is
diff --git a/src/s/unixware.h b/src/s/unixware.h
index 31d7b25269a..864f09786b6 100644
--- a/src/s/unixware.h
+++ b/src/s/unixware.h
@@ -35,8 +35,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
35/* This sets the name of the slave side of the PTY. On SysVr4, 35/* This sets the name of the slave side of the PTY. On SysVr4,
36 grantpt(3) forks a subprocess, so keep sigchld_handler() from 36 grantpt(3) forks a subprocess, so keep sigchld_handler() from
37 intercepting that death. If any child but grantpt's should die 37 intercepting that death. If any child but grantpt's should die
38 within, it should be caught after sigrelse(2). */ 38 within, it should be caught after sigrelse(2). */
39
40#define PTY_TTY_NAME_SPRINTF \ 39#define PTY_TTY_NAME_SPRINTF \
41 { \ 40 { \
42 char *ptsname(), *ptyname; \ 41 char *ptsname(), *ptyname; \
@@ -54,12 +53,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
54 } 53 }
55 54
56/* Data type of load average, as read out of kmem. */ 55/* Data type of load average, as read out of kmem. */
57
58#define LOAD_AVE_TYPE long 56#define LOAD_AVE_TYPE long
59 57
60/* Convert that into an integer that is 100 for a load average of 1.0 */ 58/* Convert that into an integer that is 100 for a load average of 1.0 */
61/* This is totally uncalibrated. */ 59/* This is totally uncalibrated. */
62
63#define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE)) 60#define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE))
64#define FSCALE 256.0 61#define FSCALE 256.0
65 62
diff --git a/src/s/usg5-4.h b/src/s/usg5-4.h
index 3926ae08869..f870086368c 100644
--- a/src/s/usg5-4.h
+++ b/src/s/usg5-4.h
@@ -3,6 +3,9 @@
3Copyright (C) 1987, 1990, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3Copyright (C) 1987, 1990, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
4 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6Written by James Van Artsdalen of Dell Computer Corp. james@bigtex.cactus.org.
7Subsequently improved for Dell 2.2 by Eric S. Raymond <esr@snark.thyrsus.com>.
8
6This file is part of GNU Emacs. 9This file is part of GNU Emacs.
7 10
8GNU Emacs is free software: you can redistribute it and/or modify 11GNU Emacs is free software: you can redistribute it and/or modify
@@ -18,57 +21,36 @@ GNU General Public License for more details.
18You should have received a copy of the GNU General Public License 21You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 22along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 23
21/* This file written by James Van Artsdalen of Dell Computer Corporation. 24/* Use the SysVr3 file for at least base configuration. */
22 * james@bigtex.cactus.org. Subsequently improved for Dell 2.2 by Eric
23 * S. Raymond <esr@snark.thyrsus.com>.
24 */
25
26/* Use the SysVr3 file for at least base configuration. */
27
28#define USG /* System III, System V, etc */ 25#define USG /* System III, System V, etc */
29 26
30#define USG5 27#define USG5
31#define USG5_4 28#define USG5_4
32 29
33/* SYSTEM_TYPE should indicate the kind of system you are using. 30/* SYSTEM_TYPE should indicate the kind of system you are using.
34 It sets the Lisp variable system-type. */ 31 It sets the Lisp variable system-type. */
35
36#define SYSTEM_TYPE "usg-unix-v" 32#define SYSTEM_TYPE "usg-unix-v"
37 33
38/* 34/* Define HAVE_TERMIO if the system provides sysV-style ioctls
39 * Define HAVE_TERMIO if the system provides sysV-style ioctls 35 for terminal control. */
40 * for terminal control.
41 */
42
43#define HAVE_TERMIO 36#define HAVE_TERMIO
44 37
45/* 38/* Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir library
46 * Define HAVE_PTYS if the system supports pty devices. 39 functions. Almost, but not quite the same as the 4.2 functions. */
47 */
48
49/*
50 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
51 * library functions. Almost, but not quite the same as
52 * the 4.2 functions
53 */
54#define SYSV_SYSTEM_DIR 40#define SYSV_SYSTEM_DIR
55 41
56/* The file containing the kernel's symbol table is called /unix. */ 42/* The file containing the kernel's symbol table is called /unix. */
57
58#define KERNEL_FILE "/unix" 43#define KERNEL_FILE "/unix"
59 44
60/* The symbol in the kernel where the load average is found 45/* The kernel symbol where the load average is found is named avenrun. */
61 is named avenrun. */
62
63#define LDAV_SYMBOL "avenrun" 46#define LDAV_SYMBOL "avenrun"
64 47
65/* setjmp and longjmp can safely replace _setjmp and _longjmp, 48/* setjmp and longjmp can safely replace _setjmp and _longjmp,
66 but they will run slower. */ 49 but they will run slower. */
67
68#define _setjmp setjmp 50#define _setjmp setjmp
69#define _longjmp longjmp 51#define _longjmp longjmp
70 52
71/* On USG systems these have different names */ 53/* On USG systems these have different names. */
72#ifndef HAVE_INDEX 54#ifndef HAVE_INDEX
73#define index strchr 55#define index strchr
74#endif /* ! defined (HAVE_INDEX) */ 56#endif /* ! defined (HAVE_INDEX) */
@@ -76,35 +58,27 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
76#define rindex strrchr 58#define rindex strrchr
77#endif /* ! defined (HAVE_RINDEX) */ 59#endif /* ! defined (HAVE_RINDEX) */
78 60
79 61/* The docs for system V/386 suggest v.3 has sigpause, so let's try it. */
80/* The docs for system V/386 suggest v.3 has sigpause,
81 so let's give it a try. */
82#define HAVE_SYSV_SIGPAUSE 62#define HAVE_SYSV_SIGPAUSE
83 63
84 64/* If we're using the System V X port, BSD bstring functions will be handy. */
85/* If we're using the System V X port, BSD bstring functions will be handy */
86
87#ifdef HAVE_X_WINDOWS 65#ifdef HAVE_X_WINDOWS
88#define BSTRING 66#define BSTRING
89#endif /* HAVE_X_WINDOWS */ 67#endif /* HAVE_X_WINDOWS */
90 68
91/* On USG systems signal handlers return void */ 69/* On USG systems signal handlers return void. */
92
93#define SIGTYPE void 70#define SIGTYPE void
94 71
95#define ORDINARY_LINK 72#define ORDINARY_LINK
96 73
97/* Undump with ELF */ 74/* Undump with ELF. */
98
99#undef COFF 75#undef COFF
100 76
101#define UNEXEC unexelf.o 77#define UNEXEC unexelf.o
102 78
103/* Get FIONREAD from <sys/filio.h>. Get <sys/ttold.h> to get struct 79/* Get FIONREAD from <sys/filio.h>. Get <sys/ttold.h> to get struct tchars.
104 * tchars. But get <termio.h> first to make sure ttold.h doesn't 80 But get <termio.h> first to make sure ttold.h doesn't interfere.
105 * interfere. And don't try to use SIGIO yet. 81 And don't try to use SIGIO yet. */
106 */
107
108#ifndef NOT_C_CODE 82#ifndef NOT_C_CODE
109#include <sys/wait.h> 83#include <sys/wait.h>
110#endif 84#endif
@@ -121,15 +95,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
121#endif 95#endif
122 96
123/* Some SVr4s don't define NSIG in sys/signal.h for ANSI environments; 97/* Some SVr4s don't define NSIG in sys/signal.h for ANSI environments;
124 * instead, there's a system variable _sys_nsig. Unfortunately, we need the 98 instead, there's a system variable _sys_nsig. Unfortunately, we need the
125 * constant to dimension an array. So wire in the appropriate value here. 99 constant to dimension an array. So wire in the appropriate value here. */
126 */
127#define NSIG_MINIMUM 32 100#define NSIG_MINIMUM 32
128 101
129/* We can support this */ 102/* We can support this. */
130
131#define CLASH_DETECTION 103#define CLASH_DETECTION
132 104
105/* Define HAVE_PTYS if the system supports pty devices. */
133#define HAVE_PTYS 106#define HAVE_PTYS
134#define HAVE_TERMIOS 107#define HAVE_TERMIOS
135 108
@@ -137,7 +110,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
137 waiting, because a previous waitsys(2) cleaned up the carcass of child 110 waiting, because a previous waitsys(2) cleaned up the carcass of child
138 without clearing the SIGCHLD pending info. So, use a non-blocking 111 without clearing the SIGCHLD pending info. So, use a non-blocking
139 wait3 instead, which maps to waitpid(2) in SysVr4. */ 112 wait3 instead, which maps to waitpid(2) in SysVr4. */
140
141#define wait3(status, options, rusage) \ 113#define wait3(status, options, rusage) \
142 waitpid ((pid_t) -1, (status), (options)) 114 waitpid ((pid_t) -1, (status), (options))
143#define WRETCODE(w) (w >> 8) 115#define WRETCODE(w) (w >> 8)
@@ -145,20 +117,16 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
145/* TIOCGPGRP is broken in SysVr4, so we can't send signals to PTY 117/* TIOCGPGRP is broken in SysVr4, so we can't send signals to PTY
146 subprocesses the usual way. But TIOCSIGNAL does work for PTYs, and 118 subprocesses the usual way. But TIOCSIGNAL does work for PTYs, and
147 this is all we need. */ 119 this is all we need. */
148
149#define TIOCSIGSEND TIOCSIGNAL 120#define TIOCSIGSEND TIOCSIGNAL
150 121
151/* This change means that we don't loop through allocate_pty too many 122/* This change means that we don't loop through allocate_pty too many
152 times in the (rare) event of a failure. */ 123 times in the (rare) event of a failure. */
153
154#define FIRST_PTY_LETTER 'z' 124#define FIRST_PTY_LETTER 'z'
155 125
156/* This sets the name of the master side of the PTY. */ 126/* This sets the name of the master side of the PTY. */
157
158#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); 127#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");
159 128
160/* Push various streams modules onto a PTY channel. */ 129/* Push various streams modules onto a PTY channel. */
161
162#define SETUP_SLAVE_PTY \ 130#define SETUP_SLAVE_PTY \
163 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \ 131 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \
164 fatal ("ioctl I_PUSH ptem", errno); \ 132 fatal ("ioctl I_PUSH ptem", errno); \
@@ -167,8 +135,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
167 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ 135 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
168 fatal ("ioctl I_PUSH ttcompat", errno); 136 fatal ("ioctl I_PUSH ttcompat", errno);
169 137
170/* This definition was suggested for next release. 138/* This definition was suggested for next release. So give it a try. */
171 So give it a try. */
172#define HAVE_SOCKETS 139#define HAVE_SOCKETS
173 140
174/* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6 141/* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6