annotate src/s/ms-w32.h @ 75260:864a6f6648e2

Merge from erc--main--0 Backport additional functions and macros that erc-capab.el needs. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-600 Creator: Michael Olson <mwolson@gnu.org>
author Miles Bader <miles@gnu.org>
date Wed, 17 Jan 2007 18:17:35 +0000
parents e90d04cd455a
children 7c971938808f 18107165859d 95d0cdf160ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 /* System description file for Windows NT.
75227
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 74958
diff changeset
2 Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004,
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 74958
diff changeset
3 2005, 2006, 2007 Free Software Foundation, Inc.
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 This file is part of GNU Emacs.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 any later version.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 GNU General Public License for more details.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64083
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63743
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63743
diff changeset
20 Boston, MA 02110-1301, USA. */
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 /*
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 * Define symbols to identify the version of Unix this is.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 * Define all the symbols that apply correctly.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 /* #define UNIPLUS */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 /* #define USG5 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 /* #define USG */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 /* #define HPUX */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 /* #define UMAX */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 /* #define BSD4_1 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 /* #define BSD4_2 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 /* #define BSD4_3 */
16221
d8360498f935 Comment change.
Karl Heuer <kwzh@gnu.org>
parents: 15234
diff changeset
35 /* #define BSD_SYSTEM */
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 /* #define VMS */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 #ifndef WINDOWSNT
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 #define WINDOWSNT
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 #endif
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 #ifndef DOS_NT
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 #define DOS_NT /* MSDOS or WINDOWSNT */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 #endif
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43
11390
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
44 /* If you are compiling with a non-C calling convention but need to
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
45 declare vararg routines differently, put it here */
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
46 #define _VARARGS_ __cdecl
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
47
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
48 /* If you are providing a function to something that will call the
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
49 function back (like a signal handler and signal, or main) its calling
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
50 convention must be whatever standard the libraries expect */
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
51 #define _CALLBACK_ __cdecl
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
52
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 /* SYSTEM_TYPE should indicate the kind of system you are using.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 It sets the Lisp variable system-type. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 #define SYSTEM_TYPE "windows-nt"
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57 #define SYMS_SYSTEM syms_of_ntterm ()
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
59 #define NO_MATHERR 1
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 /* NOMULTIPLEJOBS should be defined if your system's shell
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62 does not have "job control" (the ability to stop a program,
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 run some other program, then continue the first one). */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
65 /* #define NOMULTIPLEJOBS 1 */
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 /* Emacs can read input using SIGIO and buffering characters itself,
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 or using CBREAK mode and making C-g cause SIGINT.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 The choice is controlled by the variable interrupt_input.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73 Emacs uses the presence or absence of the SIGIO macro to indicate
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74 whether or not signal-driven I/O is possible. It uses
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
75 INTERRUPT_INPUT to decide whether to use it by default.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
76
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
77 SIGIO can be used only on systems that implement it (4.2 and 4.3).
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78 CBREAK mode has two disadvantages
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 1) At least in 4.2, it is impossible to handle the Meta key properly.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
80 I hear that in system V this problem does not exist.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81 2) Control-G causes output to be discarded.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
82 I do not know whether this can be fixed in system V.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
84 Another method of doing input is planned but not implemented.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
85 It would have Emacs fork off a separate process
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86 to read the input and send it to the true Emacs process
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87 through a pipe. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
89 /* #define INTERRUPT_INPUT 1 */
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
90
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 /* Letter to use in finding device name of first pty,
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 if system supports pty's. 'a' means it is /dev/ptya0 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
94 #define FIRST_PTY_LETTER 'a'
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
95
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96 /*
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97 * Define HAVE_TERMIOS if the system provides POSIX-style
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
98 * functions and macros for terminal control.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99 *
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
100 * Define HAVE_TERMIO if the system provides sysV-style ioctls
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
101 * for terminal control.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102 *
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103 * Do not define both. HAVE_TERMIOS is preferred, if it is
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 * supported on your system.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
107 /* #define HAVE_TERMIOS 1 */
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
108 /* #define HAVE_TERMIO 1 */
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110 /*
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
111 * Define HAVE_TIMEVAL if the system supports the BSD style clock values.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
112 * Look in <sys/time.h> for a timeval structure.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
113 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
114
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
115 #define HAVE_TIMEVAL 1
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
117 /*
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
118 * Define HAVE_SELECT if the system supports the `select' system call.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
119 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
120
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
121 /* #define HAVE_SELECT 1 */
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
123 /*
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124 * Define HAVE_PTYS if the system supports pty devices.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
126
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
127 /* #define HAVE_PTYS 1 */
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
128
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
129 /*
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
131 * The 4.2 opendir, etc., library functions.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
132 */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134 /* #define NONSYSTEM_DIR_LIBRARY */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
135
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
136 /* NT supports Winsock which is close enough (with some hacks) */
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
137
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
138 #define HAVE_SOCKETS 1
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
139
74769
ad7b71b8fea2 (BROKEN_NON_BLOCKING_CONNECT): Define it.
Kim F. Storm <storm@cua.dk>
parents: 73977
diff changeset
140 /* But our select implementation doesn't allow us to make non-blocking
ad7b71b8fea2 (BROKEN_NON_BLOCKING_CONNECT): Define it.
Kim F. Storm <storm@cua.dk>
parents: 73977
diff changeset
141 connects. So until that is fixed, this is necessary: */
ad7b71b8fea2 (BROKEN_NON_BLOCKING_CONNECT): Define it.
Kim F. Storm <storm@cua.dk>
parents: 73977
diff changeset
142
ad7b71b8fea2 (BROKEN_NON_BLOCKING_CONNECT): Define it.
Kim F. Storm <storm@cua.dk>
parents: 73977
diff changeset
143 #define BROKEN_NON_BLOCKING_CONNECT 1
ad7b71b8fea2 (BROKEN_NON_BLOCKING_CONNECT): Define it.
Kim F. Storm <storm@cua.dk>
parents: 73977
diff changeset
144
74895
b136953eeaa4 (BROKEN_DATAGRAM_SOCKETS): Define it.
Kim F. Storm <storm@cua.dk>
parents: 74769
diff changeset
145 /* And the select implementation does 1-byte read-ahead waiting
b136953eeaa4 (BROKEN_DATAGRAM_SOCKETS): Define it.
Kim F. Storm <storm@cua.dk>
parents: 74769
diff changeset
146 for received packets, so datagrams are broken too. */
b136953eeaa4 (BROKEN_DATAGRAM_SOCKETS): Define it.
Kim F. Storm <storm@cua.dk>
parents: 74769
diff changeset
147
b136953eeaa4 (BROKEN_DATAGRAM_SOCKETS): Define it.
Kim F. Storm <storm@cua.dk>
parents: 74769
diff changeset
148 #define BROKEN_DATAGRAM_SOCKETS 1
b136953eeaa4 (BROKEN_DATAGRAM_SOCKETS): Define it.
Kim F. Storm <storm@cua.dk>
parents: 74769
diff changeset
149
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
150 /* Define this symbol if your system has the functions bcopy, etc. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
151
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
152 #define BSTRING
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
153 #define bzero(b, l) memset(b, 0, l)
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
154 #define bcopy(s, d, l) memmove(d, s, l)
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
155 #define bcmp(a, b, l) memcmp(a, b, l)
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
156
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
157 /* bcopy (aka memmove aka memcpy at least on x86) under MSVC is quite safe */
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
158 #define GAP_USE_BCOPY 1
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
159 #define BCOPY_UPWARD_SAFE 1
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
160 #define BCOPY_DOWNWARD_SAFE 1
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
161
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
162 /* subprocesses should be defined if you want to
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
163 have code for asynchronous subprocesses
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
164 (as used in M-x compile and M-x shell).
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
165 This is generally OS dependent, and not supported
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
166 under most USG systems. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
167
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
168 #define subprocesses 1
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
169
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
170 /* If your system uses COFF (Common Object File Format) then define the
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
171 preprocessor symbol "COFF". */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
172
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
173 #define COFF 1
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
174
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
175 /* define MAIL_USE_FLOCK if the mailer uses flock
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
176 to interlock access to /usr/spool/mail/$USER.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
177 The alternative is that a lock file named
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
178 /usr/spool/mail/$USER.lock. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
179
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
180 /* #define MAIL_USE_FLOCK */
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
181 #define MAIL_USE_POP 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
182 #define MAIL_USE_SYSTEM_LOCK 1
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
183
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
184 /* Define CLASH_DETECTION if you want lock files to be written
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
185 so that Emacs can tell instantly when you try to modify
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
186 a file that someone else has modified in his Emacs. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
187
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
188 /* #define CLASH_DETECTION 1 */
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
189
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
190 /* Define this if your operating system declares signal handlers to
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
191 have a type other than the usual. `The usual' is `void' for ANSI C
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
192 systems (i.e. when the __STDC__ macro is defined), and `int' for
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
193 pre-ANSI systems. If you're using GCC on an older system, __STDC__
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
194 will be defined, but the system's include files will still say that
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
195 signal returns int or whatever; in situations like that, define
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
196 this to be what the system's include files want. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
197 /* #define SIGTYPE int */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
198
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
199 /* If the character used to separate elements of the executable path
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
200 is not ':', #define this to be the appropriate character constant. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
201 #define SEPCHAR ';'
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
202
31349
2595bb871403 (ORDINARY_LINK): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31119
diff changeset
203 #define ORDINARY_LINK 1
2595bb871403 (ORDINARY_LINK): New define.
Andrew Innes <andrewi@gnu.org>
parents: 31119
diff changeset
204
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
205 /* ============================================================ */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
206
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
207 /* Here, add any special hacks needed
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
208 to make Emacs work on this system. For example,
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
209 you might define certain system call names that don't
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
210 exist on your system, or that do different things on
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
211 your system and must be used only through an encapsulation
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
212 (Which you should place, by convention, in sysdep.c). */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
213
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
214 /* Define this to be the separator between path elements */
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
215 #define DIRECTORY_SEP XINT (Vdirectory_sep_char)
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
216
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
217 /* Define this to be the separator between devices and paths */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
218 #define DEVICE_SEP ':'
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
219
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
220 /* We'll support either convention on NT. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
221 #define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\')
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
222 #define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
223
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
224 /* The null device on Windows NT. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
225 #define NULL_DEVICE "NUL:"
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
226
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
227 #ifndef MAXPATHLEN
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
228 #define MAXPATHLEN _MAX_PATH
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
229 #endif
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
230
48375
4d7b83cc03aa Added a partial implementation of play-sound-internal for Windows. Fixed the following entry in etc/PROBLEMS: Emacs built on Windows 9x/ME crashes at startup on Windows XP, or Emacs built on XP crashes at startup on Windows 9x/ME.
Ben Key <bkey1@tampabay.rr.com>
parents: 45096
diff changeset
231 #define HAVE_SOUND 1
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
232 #define LISP_FLOAT_TYPE 1
11390
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
233
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
234 #undef HAVE_SYS_SELECT_H
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
235 #define HAVE_SYS_TIMEB_H 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
236 #define HAVE_SYS_TIME_H 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
237 #define HAVE_UNISTD_H 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
238 #undef HAVE_UTIME_H
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
239 #undef HAVE_LINUX_VERSION_H
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
240 #undef HAVE_SYS_SYSTEMINFO_H
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
241 #undef HAVE_TERMIOS_H
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
242 #define HAVE_LIMITS_H 1
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
243 #define HAVE_STRING_H 1
61741
3f7e40947e61 (HAVE_PWD_H): Define.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 60092
diff changeset
244 #define HAVE_PWD_H 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
245 #define STDC_HEADERS 1
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
246 #define TIME_WITH_SYS_TIME 1
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
247
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
248 #define HAVE_GETTIMEOFDAY 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
249 #define HAVE_GETHOSTNAME 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
250 #undef HAVE_GETDOMAINNAME
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
251 #define HAVE_DUP2 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
252 #define HAVE_RENAME 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
253 #define HAVE_CLOSEDIR 1
24675
45917c73cff6 (HAVE_FSYNC): New macro.
Andrew Innes <andrewi@gnu.org>
parents: 23859
diff changeset
254 #define HAVE_FSYNC 1 /* fsync is called _commit in MSVC. */
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
255
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
256 #undef TM_IN_SYS_TIME
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
257 #undef HAVE_TM_ZONE
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
258 #define HAVE_TZNAME 1
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
259
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
260 #define HAVE_LONG_FILE_NAMES 1
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
261
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
262 #define HAVE_MKDIR 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
263 #define HAVE_RMDIR 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
264 #define HAVE_RANDOM 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
265 #undef HAVE_SYSINFO
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
266 #undef HAVE_LRAND48
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
267 #define HAVE_BCOPY 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
268 #define HAVE_BCMP 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
269 #define HAVE_LOGB 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
270 #define HAVE_FREXP 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
271 #define HAVE_FMOD 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
272 #undef HAVE_RINT
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
273 #undef HAVE_CBRT
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
274 #define HAVE_FTIME 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
275 #undef HAVE_RES_INIT /* For -lresolv on Suns. */
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
276 #undef HAVE_SETSID
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
277 #undef HAVE_FPATHCONF
45096
faa83eec9ea0 (HAVE_SELECT): Define.
Jason Rumney <jasonr@gnu.org>
parents: 39935
diff changeset
278 #define HAVE_SELECT 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
279 #define HAVE_MKTIME 1
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
280 #undef HAVE_EUIDACCESS
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
281 #define HAVE_GETPAGESIZE 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
282 #define HAVE_TZSET 1
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
283 #define HAVE_SETLOCALE 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
284 #undef HAVE_UTIMES
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
285 #undef HAVE_SETRLIMIT
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
286 #undef HAVE_SETPGID
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
287 #undef HAVE_GETCWD
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
288 #define HAVE_SHUTDOWN 1
21603
058bff729a94 (HAVE_STRING_H, HAVE_STRFTIME): Define macros.
Geoff Voelker <voelker@cs.washington.edu>
parents: 19716
diff changeset
289 #define HAVE_STRFTIME 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
290
23859
b2aa39f6d923 (LOCALTIME_CACHE): Define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 23074
diff changeset
291 #define LOCALTIME_CACHE
73977
6dcbf2efb497 Define HAVE_INET_SOCKETS.
Jason Rumney <jasonr@gnu.org>
parents: 70151
diff changeset
292 #define HAVE_INET_SOCKETS 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
293
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
294 #undef HAVE_AIX_SMT_EXP
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
295
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
296 /* Define if you have the ANSI `strerror' function.
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
297 Otherwise you must have the variable `char *sys_errlist[]'. */
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
298 #define HAVE_STRERROR 1
18504
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
299
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
300 /* Define if `struct utimbuf' is declared by <utime.h>. */
f0f8ac814b26 Duplicate undefs from config.in to check completeness.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
301 #undef HAVE_STRUCT_UTIMBUF
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
302
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
303 #define HAVE_MOUSE 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
304 #define HAVE_H_ERRNO 1
9818
a4112f6321a5 #include <malloc.h>.
Karl Heuer <kwzh@gnu.org>
parents: 9804
diff changeset
305
13422
b3cefdfb34a9 [HAVE_NTGUI] (abort): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11390
diff changeset
306 #ifdef HAVE_NTGUI
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
307 #define HAVE_WINDOW_SYSTEM 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
308 #define HAVE_FACES 1
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
309 #define HAVE_MENUS 1
13422
b3cefdfb34a9 [HAVE_NTGUI] (abort): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11390
diff changeset
310 #endif
b3cefdfb34a9 [HAVE_NTGUI] (abort): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11390
diff changeset
311
9818
a4112f6321a5 #include <malloc.h>.
Karl Heuer <kwzh@gnu.org>
parents: 9804
diff changeset
312 #define MODE_LINE_BINARY_TEXT(_b_) (NILP ((_b_)->buffer_file_type) ? "T" : "B")
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
313
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
314 /* get some redefinitions in place */
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
315
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
316 #ifdef emacs
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
317
24858
8844e3f055f2 (strerror): Override the default implementation of
Andrew Innes <andrewi@gnu.org>
parents: 24675
diff changeset
318 /* calls that are emulated or shadowed */
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
319 #undef access
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
320 #define access sys_access
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
321 #undef chdir
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
322 #define chdir sys_chdir
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
323 #undef chmod
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
324 #define chmod sys_chmod
63743
28ba3b83e358 (chown): New; define to sys_chown.
Eli Zaretskii <eliz@gnu.org>
parents: 63018
diff changeset
325 #define chown sys_chown
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
326 #undef close
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
327 #define close sys_close
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
328 #undef creat
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
329 #define creat sys_creat
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
330 #define ctime sys_ctime
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
331 #undef dup
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
332 #define dup sys_dup
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
333 #undef dup2
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
334 #define dup2 sys_dup2
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
335 #define fopen sys_fopen
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
336 #define link sys_link
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
337 #define mkdir sys_mkdir
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
338 #undef mktemp
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
339 #define mktemp sys_mktemp
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
340 #undef open
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
341 #define open sys_open
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
342 #define pipe sys_pipe
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
343 #undef read
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
344 #define read sys_read
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
345 #define rename sys_rename
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
346 #define rmdir sys_rmdir
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
347 #define select sys_select
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
348 #define sleep sys_sleep
24858
8844e3f055f2 (strerror): Override the default implementation of
Andrew Innes <andrewi@gnu.org>
parents: 24675
diff changeset
349 #define strerror sys_strerror
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
350 #undef unlink
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
351 #define unlink sys_unlink
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
352 #undef write
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
353 #define write sys_write
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
354
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
355 /* subprocess calls that are emulated */
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
356 #define spawnve sys_spawnve
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
357 #define wait sys_wait
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
358 #define kill sys_kill
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
359 #define signal sys_signal
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
360
22318
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
361 #endif /* emacs */
2f9d6b2dd309 Use 1 as explicit value of empty #defines.
Andrew Innes <andrewi@gnu.org>
parents: 21738
diff changeset
362
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
363 /* map to MSVC names */
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
364 #define execlp _execlp
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
365 #define execvp _execvp
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
366 #define fcloseall _fcloseall
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
367 #define fdopen _fdopen
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
368 #define fgetchar _fgetchar
63018
e50e8a19d938 (fileno): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents: 61741
diff changeset
369 #ifndef fileno
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
370 #define fileno _fileno
63018
e50e8a19d938 (fileno): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents: 61741
diff changeset
371 #endif
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
372 #define flushall _flushall
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
373 #define fputchar _fputchar
24675
45917c73cff6 (HAVE_FSYNC): New macro.
Andrew Innes <andrewi@gnu.org>
parents: 23859
diff changeset
374 #define fsync _commit
45917c73cff6 (HAVE_FSYNC): New macro.
Andrew Innes <andrewi@gnu.org>
parents: 23859
diff changeset
375 #define ftruncate _chsize
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
376 #define getw _getw
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
377 #define getpid _getpid
69919
32dd7ee0ac8b (pid_t) [_MSC_VER]: New typedef.
Eli Zaretskii <eliz@gnu.org>
parents: 68651
diff changeset
378 #ifdef _MSC_VER
32dd7ee0ac8b (pid_t) [_MSC_VER]: New typedef.
Eli Zaretskii <eliz@gnu.org>
parents: 68651
diff changeset
379 typedef int pid_t;
32dd7ee0ac8b (pid_t) [_MSC_VER]: New typedef.
Eli Zaretskii <eliz@gnu.org>
parents: 68651
diff changeset
380 #endif
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
381 #define isatty _isatty
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
382 #define logb _logb
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
383 #define _longjmp longjmp
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
384 #define lseek _lseek
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
385 #define popen _popen
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
386 #define pclose _pclose
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
387 #define putw _putw
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
388 #define umask _umask
21738
4dbaa2bfab6e (utimbuf): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 21603
diff changeset
389 #define utimbuf _utimbuf
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
390 #define index strchr
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
391 #define rindex strrchr
31119
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
392 #define strdup _strdup
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
393 #define strupr _strupr
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
394 #define strnicmp _strnicmp
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
395 #define stricmp _stricmp
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
396 #define tzset _tzset
74956
fe053f2164a6 (tzname): Do not define in msvc8.
Jason Rumney <jasonr@gnu.org>
parents: 74895
diff changeset
397
fe053f2164a6 (tzname): Do not define in msvc8.
Jason Rumney <jasonr@gnu.org>
parents: 74895
diff changeset
398 #if !defined (_MSC_VER) || (_MSC_VER < 1400)
31119
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
399 #define tzname _tzname
74958
f6f8f3da57af (umask): Do not define in msvc8.
Jason Rumney <jasonr@gnu.org>
parents: 74956
diff changeset
400 #define utime _utime
74956
fe053f2164a6 (tzname): Do not define in msvc8.
Jason Rumney <jasonr@gnu.org>
parents: 74895
diff changeset
401 #endif
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
402
13422
b3cefdfb34a9 [HAVE_NTGUI] (abort): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11390
diff changeset
403 #ifdef HAVE_NTGUI
16588
481b7874a1e9 Change identifiers of the form win32* to w32*.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16221
diff changeset
404 #define abort w32_abort
13422
b3cefdfb34a9 [HAVE_NTGUI] (abort): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11390
diff changeset
405 #endif
b3cefdfb34a9 [HAVE_NTGUI] (abort): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11390
diff changeset
406
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
407 /* this is hacky, but is necessary to avoid warnings about macro
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
408 redefinitions using the SDK compilers */
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
409 #ifndef __STDC__
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
410 #define __STDC__ 1
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
411 #define MUST_UNDEF__STDC__
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
412 #endif
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
413 #include <direct.h>
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
414 #include <io.h>
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
415 #include <stdio.h>
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
416 #ifdef MUST_UNDEF__STDC__
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
417 #undef __STDC__
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
418 #undef MUST_UNDEF__STDC__
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
419 #endif
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
420
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
421 /* Defines that we need that aren't in the standard signal.h */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
422 #define SIGHUP 1 /* Hang up */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
423 #define SIGQUIT 3 /* Quit process */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
424 #define SIGTRAP 5 /* Trace trap */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
425 #define SIGKILL 9 /* Die, die die */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
426 #define SIGPIPE 13 /* Write on pipe with no readers */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
427 #define SIGALRM 14 /* Alarm */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
428 #define SIGCHLD 18 /* Death of child */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
429
31119
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
430 #ifndef NSIG
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
431 #define NSIG 23
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
432 #endif
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
433
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
434 /* For integration with MSDOS support. */
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
435 #define getdisk() (_getdrive () - 1)
22431
aabf58b0a724 (getcwd): Remove define.
Richard M. Stallman <rms@gnu.org>
parents: 22318
diff changeset
436 #ifdef emacs
aabf58b0a724 (getcwd): Remove define.
Richard M. Stallman <rms@gnu.org>
parents: 22318
diff changeset
437 #define getdefdir(_drv, _buf) ((_buf[0] = (_drv + 'A' - 1), _buf[1] = ':', _buf[2] = '/', _buf[3] = 0), 1)
aabf58b0a724 (getcwd): Remove define.
Richard M. Stallman <rms@gnu.org>
parents: 22318
diff changeset
438 #else
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
439 #define getdefdir(_drv, _buf) _getdcwd (_drv, _buf, MAXPATHLEN)
22431
aabf58b0a724 (getcwd): Remove define.
Richard M. Stallman <rms@gnu.org>
parents: 22318
diff changeset
440 #endif
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
441
31119
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
442 extern char *get_emacs_configuration (void);
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
443 extern char *get_emacs_configuration_options (void);
11390
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
444 #define EMACS_CONFIGURATION get_emacs_configuration ()
31119
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
445 #define EMACS_CONFIG_OPTIONS get_emacs_configuration_options ()
11390
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
446
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
447 /* Define this so that winsock.h definitions don't get included with
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
448 windows.h. For this to have proper effect, config.h must always be
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
449 included before windows.h. */
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
450 #define _WINSOCKAPI_ 1
31119
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
451 #define _WINSOCK_H
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
452
9818
a4112f6321a5 #include <malloc.h>.
Karl Heuer <kwzh@gnu.org>
parents: 9804
diff changeset
453 /* Defines size_t and alloca (). */
31119
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
454 #ifdef USE_CRT_DLL
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
455 #define malloc e_malloc
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
456 #define free e_free
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
457 #define realloc e_realloc
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
458 #define calloc e_calloc
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
459 #endif
9818
a4112f6321a5 #include <malloc.h>.
Karl Heuer <kwzh@gnu.org>
parents: 9804
diff changeset
460 #include <malloc.h>
a4112f6321a5 #include <malloc.h>.
Karl Heuer <kwzh@gnu.org>
parents: 9804
diff changeset
461
11390
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
462 #include <sys/stat.h>
9804
f98b24714f01 (SYSTEM_PURESIZE_EXTRA): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9803
diff changeset
463
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48375
diff changeset
464 /* Define for those source files that do not include enough NT
11390
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
465 system files. */
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
466 #ifndef NULL
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
467 #ifdef __cplusplus
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
468 #define NULL 0
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
469 #else
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
470 #define NULL ((void *)0)
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
471 #endif
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
472 #endif
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
473
13422
b3cefdfb34a9 [HAVE_NTGUI] (abort): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11390
diff changeset
474 /* For proper declaration of environ. */
b3cefdfb34a9 [HAVE_NTGUI] (abort): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11390
diff changeset
475 #include <stdlib.h>
31119
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
476 #ifndef sys_nerr
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
477 #define sys_nerr _sys_nerr
afa1f54fb948 (malloc, free, realloc, calloc): Rename if
Andrew Innes <andrewi@gnu.org>
parents: 24858
diff changeset
478 #endif
15154
bcc66f4bc5ff Include string.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
479 #include <string.h>
13422
b3cefdfb34a9 [HAVE_NTGUI] (abort): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11390
diff changeset
480
70038
5e47fe08af2c (SYSTEM_PURESIZE_EXTRA): Reduce to 24000.
Eli Zaretskii <eliz@gnu.org>
parents: 69919
diff changeset
481 /* We need a little extra space, see ../../lisp/loadup.el.
70151
cbb876e6f0d8 (SYSTEM_PURESIZE_EXTRA): Increase to 25000.
Eli Zaretskii <eliz@gnu.org>
parents: 70038
diff changeset
482 The number below comes from 23923 bytes worth (as of 2006-04)
cbb876e6f0d8 (SYSTEM_PURESIZE_EXTRA): Increase to 25000.
Eli Zaretskii <eliz@gnu.org>
parents: 70038
diff changeset
483 of w32-specific files loaded by loadup.el, plus 1K spare. */
cbb876e6f0d8 (SYSTEM_PURESIZE_EXTRA): Increase to 25000.
Eli Zaretskii <eliz@gnu.org>
parents: 70038
diff changeset
484 #define SYSTEM_PURESIZE_EXTRA 25000
15234
2af580000f27 (SYSTEM_PURESIZE_EXTRA): Macro defined.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15154
diff changeset
485
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
486 /* For unexec to work on Alpha systems, we need to put Emacs'
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
487 initialized data into a separate section from the CRT initialized
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
488 data (because the Alpha linker freely reorders data variables, even
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
489 across libraries, so our data and the CRT data get intermingled).
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
490
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
491 Starting with MSVC 5.0, we must also place the uninitialized data
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
492 into its own section. VC5 intermingles uninitialized data from the CRT
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
493 between Emacs' static uninitialized data and its public uninitialized
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
494 data. A separate .bss section for Emacs groups both static and
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
495 public uninitalized together.
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
496
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
497 Note that unexnt.c relies on this fact, and must be modified
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
498 accordingly if this section name is changed, or if this pragma is
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
499 removed. Also, obviously, all files that define initialized data
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
500 must include config.h to pick up this pragma. */
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
501
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
502 /* Names must be < 8 bytes */
60092
04686828d0da 2004-11-08 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
Jason Rumney <jasonr@gnu.org>
parents: 52401
diff changeset
503 #ifdef _MSC_VER
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
504 #pragma data_seg("EMDATA")
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
505 #pragma bss_seg("EMBSS")
60092
04686828d0da 2004-11-08 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
Jason Rumney <jasonr@gnu.org>
parents: 52401
diff changeset
506 #endif
19716
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
507
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
508 /* #define FULL_DEBUG */
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
509 /* #define EMACSDEBUG */
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
510
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
511 #ifdef EMACSDEBUG
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
512 extern void _DebPrint (const char *fmt, ...);
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
513 #define DebPrint(stuff) _DebPrint stuff
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
514 #else
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
515 #define DebPrint(stuff)
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
516 #endif
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
517
524abb12cbf5 (INTERRUPT_INPUT): Don't define.
Geoff Voelker <voelker@cs.washington.edu>
parents: 18724
diff changeset
518
11390
5c486ab3c695 (HAVE_RANDOM): Defined.
Karl Heuer <kwzh@gnu.org>
parents: 10511
diff changeset
519 /* ============================================================ */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
520
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
521 /* arch-tag: 5d4a3a1c-40dc-4dea-9c7c-38fed9ae0eae
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
522 (do not change this comment) */