Mercurial > hg > xemacs-beta
comparison src/s/msdos.h @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | 0132846995bd |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:376386a54a3c |
---|---|
1 /* System description file for MS-DOS | |
2 | |
3 Copyright (C) 1993 Free Software Foundation, Inc. | |
4 | |
5 This file is part of GNU Emacs. | |
6 | |
7 GNU Emacs is free software; you can redistribute it and/or modify | |
8 it under the terms of the GNU General Public License as published by | |
9 the Free Software Foundation; either version 2, or (at your option) | |
10 any later version. | |
11 | |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with XEmacs; see the file COPYING. If not, write to | |
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
20 Boston, MA 02111-1307, USA. */ | |
21 | |
22 /* Synched up with: FSF 19.31. */ | |
23 | |
24 /* Note: lots of stuff here was taken from s-msdos.h in demacs. */ | |
25 | |
26 | |
27 /* | |
28 * Define symbols to identify the version of Unix this is. | |
29 * Define all the symbols that apply correctly. | |
30 */ | |
31 | |
32 /* #define UNIPLUS */ | |
33 /* #define USG5 */ | |
34 /* #define USG */ | |
35 /* #define HPUX */ | |
36 /* #define UMAX */ | |
37 /* #define BSD4_1 */ | |
38 /* #define BSD4_2 */ | |
39 /* #define BSD4_3 */ | |
40 /* #define BSD */ | |
41 /* #define VMS */ | |
42 #ifndef MSDOS | |
43 #define MSDOS | |
44 #endif | |
45 | |
46 #ifdef __GO32__ | |
47 #ifndef __DJGPP__ | |
48 #define __DJGPP__ 1 /* V2 defines __DJGPP__ == 2 */ | |
49 #endif | |
50 #else | |
51 You lose; /* Emacs for DOS must be compiled with DJGPP */ | |
52 #endif | |
53 | |
54 #define DOS_NT /* MSDOS or WINDOWSNT */ | |
55 #undef BSD | |
56 #undef VMS | |
57 | |
58 /* SYSTEM_TYPE should indicate the kind of system you are using. | |
59 It sets the Lisp variable system-type. */ | |
60 | |
61 #define SYSTEM_TYPE "ms-dos" | |
62 | |
63 #define SYMS_SYSTEM syms_of_dosfns();syms_of_msdos() | |
64 | |
65 /* Letter to use in finding device name of first pty, | |
66 if system supports pty's. 'a' means it is /dev/ptya0 */ | |
67 | |
68 /* #define FIRST_PTY_LETTER 'a' */ | |
69 | |
70 /* | |
71 * Define HAVE_PTYS if the system supports pty devices. | |
72 */ | |
73 | |
74 /* #define HAVE_PTYS */ | |
75 | |
76 /* MSDOS has dirent.h but doesn't behave otherwise like the SYSV | |
77 directory functions. We have special tests for this in | |
78 sysdir.h. */ | |
79 | |
80 #undef SYSV_SYSTEM_DIR | |
81 | |
82 /* Define this is the compiler understands `volatile'. */ | |
83 #define HAVE_VOLATILE | |
84 | |
85 #define NO_SUBPROCESSES | |
86 | |
87 /* If your system uses COFF (Common Object File Format) then define the | |
88 preprocessor symbol "COFF". */ | |
89 | |
90 #define COFF | |
91 | |
92 /* define MAIL_USE_FLOCK if the mailer uses flock | |
93 to interlock access to /usr/spool/mail/$USER. | |
94 The alternative is that a lock file named | |
95 /usr/spool/mail/$USER.lock. */ | |
96 | |
97 /* #define MAIL_USE_FLOCK */ | |
98 | |
99 /* Here, on a separate page, add any special hacks needed | |
100 to make Emacs work on this system. For example, | |
101 you might define certain system call names that don't | |
102 exist on your system, or that do different things on | |
103 your system and must be used only through an encapsulation | |
104 (Which you should place, by convention, in sysdep.c). */ | |
105 | |
106 /* Avoid incompatibilities between gmalloc.c and system header files | |
107 in how to declare valloc. */ | |
108 #define GMALLOC_INHIBIT_VALLOC | |
109 | |
110 /* setjmp and longjmp can safely replace _setjmp and _longjmp, | |
111 but they will run slower. */ | |
112 | |
113 #define _setjmp setjmp | |
114 #define _longjmp longjmp | |
115 | |
116 #if __DJGPP__ < 2 | |
117 | |
118 #define NO_MODE_T | |
119 | |
120 /* New chdir () routine. | |
121 DJGPP v2.0 and later doesn't need it because its chdir() does | |
122 set the drive itself. */ | |
123 #ifdef chdir | |
124 #undef chdir | |
125 #endif | |
126 #define chdir sys_chdir | |
127 | |
128 #define LIBS_SYSTEM -lpc /* isn't required in DJGPP v2.0, either */ | |
129 | |
130 #endif /* __DJGPP__ < 2 */ | |
131 | |
132 #if __DJGPP__ > 1 | |
133 | |
134 #define DATA_START (&etext + 1) | |
135 #define TEXT_START &start | |
136 #define TEXT_END &etext | |
137 | |
138 #define _NAIVE_DOS_REGS | |
139 | |
140 #else /* not __DJGPP__ > 1 */ | |
141 | |
142 /* This somehow needs to be defined even though we use COFF. */ | |
143 #define TEXT_START -1 | |
144 | |
145 #endif /* not __DJGPP__ > 1 */ | |
146 | |
147 #define ORDINARY_LINK | |
148 | |
149 /* command.com does not understand `...` so we define this. */ | |
150 #define LIB_GCC -Lgcc | |
151 #define DONT_NEED_ENVIRON | |
152 #define SEPCHAR ';' | |
153 | |
154 #define NULL_DEVICE "nul" | |
155 #define EXEC_SUFFIXES ".exe:.com:.bat:" | |
156 | |
157 #if __DJGPP__ < 2 | |
158 #define O_RDONLY 0x0001 | |
159 #define O_WRONLY 0x0002 | |
160 #define O_RDWR 0x0004 | |
161 #define O_CREAT 0x0100 | |
162 #define O_TRUNC 0x0200 | |
163 #define O_EXCL 0x0400 | |
164 #define O_APPEND 0x0800 | |
165 #define O_TEXT 0x4000 | |
166 #define O_BINARY 0x8000 | |
167 #define NO_MATHERR | |
168 #endif | |
169 | |
170 #define HAVE_INVERSE_HYPERBOLIC | |
171 #define FLOAT_CHECK_DOMAIN | |
172 | |
173 /* When $TERM is "internal" then this is substituted: */ | |
174 #define INTERNAL_TERMINAL "pc|bios|IBM PC with colour display:\ | |
175 :co#80:li#25:km:ms:cm=<CM>:cl=<CL>:ce=<CE>:" | |
176 | |
177 /* Define this to a function (Fdowncase, Fupcase) if your file system | |
178 likes that */ | |
179 #define FILE_SYSTEM_CASE Fmsdos_downcase_filename | |
180 | |
181 /* Define this to be the separator between devices and paths */ | |
182 #define DEVICE_SEP ':' | |
183 | |
184 /* We'll support either convention on MSDOG. */ | |
185 #define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\') | |
186 #define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_)) | |
187 | |
188 /* Call init_gettimeofday when TZ changes. */ | |
189 #if __DJGPP__ < 2 | |
190 #define LOCALTIME_CACHE | |
191 #define tzset init_gettimeofday | |
192 #endif | |
193 | |
194 /* bcopy under djgpp is quite safe */ | |
195 #define GAP_USE_BCOPY | |
196 #define BCOPY_UPWARD_SAFE 1 | |
197 #define BCOPY_DOWNWARD_SAFE 1 | |
198 | |
199 /* Mode line description of a buffer's type. */ | |
200 #define MODE_LINE_BINARY_TEXT(buf) (NILP(buf->buffer_file_type) ? "T" : "B") | |
201 | |
202 /* Do we have POSIX signals? */ | |
203 #if __DJGPP__ > 1 | |
204 #define POSIX_SIGNALS | |
205 #endif | |
206 | |
207 /* We have (the code to control) a mouse. */ | |
208 #define HAVE_MOUSE | |
209 | |
210 /* We canuse mouse menus. */ | |
211 #define HAVE_MENUS | |
212 | |
213 /* We have support for faces. */ | |
214 #define HAVE_FACES | |
215 | |
216 /* Define one of these for easier conditionals. */ | |
217 #ifdef HAVE_X_WINDOWS | |
218 /* We need a little extra space, see ../../lisp/loadup.el */ | |
219 #define SYSTEM_PURESIZE_EXTRA 15000 | |
220 #define HAVE_X11R5 | |
221 #define LIBX11_SYSTEM -lxext -lsys | |
222 #else | |
223 /* We need a little extra space, see ../../lisp/loadup.el */ | |
224 #define SYSTEM_PURESIZE_EXTRA 85000 | |
225 #endif |