Mercurial > hg > xemacs-beta
comparison src/s/cygwin32.h @ 239:41f2f0e326e9 r20-5b18
Import from CVS: tag r20-5b18
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:15:48 +0200 |
parents | 557eaa0339bf |
children | 51092a27c943 |
comparison
equal
deleted
inserted
replaced
238:b5f2e56b938d | 239:41f2f0e326e9 |
---|---|
1 /* System description file for Windows NT. | 1 /* System description file for cygwin32. |
2 Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. | 2 Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. |
3 | 3 |
4 This file is part of GNU Emacs. | 4 This file is part of GNU Emacs. |
5 | 5 |
6 GNU Emacs is free software; you can redistribute it and/or modify | 6 GNU Emacs is free software; you can redistribute it and/or modify |
16 You should have received a copy of the GNU General Public License | 16 You should have received a copy of the GNU General Public License |
17 along with XEmacs; see the file COPYING. If not, write to | 17 along with XEmacs; see the file COPYING. If not, write to |
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
19 Boston, MA 02111-1307, USA. */ | 19 Boston, MA 02111-1307, USA. */ |
20 | 20 |
21 /* Synched up with: FSF 19.31. */ | 21 /* Building under cygwin |
22 | 22 * |
23 /* | 23 * The approach I have taken with this port is to use primarily the UNIX |
24 #ifndef WINDOWSNT | 24 * code base adding stuff that is MS-Windows specific. This works quite |
25 #define WINDOWSNT | 25 * well, and is in keeping with my perception of the cygwin philosophy. |
26 #endif | 26 * Note that if you make changes to this file you do NOT want to define |
27 | 27 * WINDOWSNT, I repeat - do not define this, it will break everything |
28 #ifndef DOS_NT | 28 * horribly. What does get defined is HAVE_MS_WINDOWS, but this is |
29 #define DOS_NT | 29 * done by configure and only applies to the window system. |
30 #endif | 30 * |
31 */ | 31 * The important thing about building is that it is done on a binary |
32 * mounted filesystem. i.e. something mounted like: mount -b c: | |
33 * /binary. If you do not do this then compilation of el files will | |
34 * produce garbage. Make sure you have installed cygwin32 b18 + | |
35 * patched dll (which can be found at http://www.lexa.ru/sos or on my | |
36 * home page. Alternatively when b19 comes out the patched dll will be | |
37 * unnecessary. Also make sure your HOME path is unix style - | |
38 * i.e. without a drive letter. | |
39 * | |
40 * once you have done this, configure and make. The | |
41 * undump phase will fail but that is to be expected. To run you need | |
42 * to set EMACSLOADPATH, EMACSDOC, EMACSDATA etc appropriately and then do: | |
43 * temacs -batch -l loadup.el run-temacs | |
44 * | |
45 * What I want to do | |
46 * | |
47 * the fileio stuff merely uses the unix system calls this means that | |
48 * the mount type of your fs will determine how files are edited. This | |
49 * is fine except in the instance that you want to convert one to the | |
50 * other. In this instance I would like to bring the buffer_file_type | |
51 * code into the picture without all the other windows-nt cruft. | |
52 * | |
53 * Also the undumped version should be able to do path guessing, I | |
54 * don't know why it doesn't currently. | |
55 * | |
56 * Ideally a dumped version would be done but I'm not sure I am up to | |
57 * the task. | |
58 * | |
59 * Andy Piper <andyp@parallax.co.uk> 8/1/98 | |
60 * http://parallax.co.uk/~andyp | |
61 */ | |
62 | |
32 | 63 |
33 /* Need the win32 api */ | 64 /* Need the win32 api */ |
34 #ifndef NOT_C_CODE | 65 #ifndef NOT_C_CODE |
35 #ifdef CONST | 66 #ifdef CONST |
36 #undef CONST | 67 #undef CONST |
37 #endif | 68 #endif |
38 | 69 |
39 /* Start and end of text and data. */ | 70 /* Start and end of text and data. */ |
40 extern void* _data_start__; | 71 extern void* _data_start__; |
41 extern void* _data_end__; | 72 extern void* _data_end__; |
42 | 73 |
43 #include <windows.h> | 74 #include <windows.h> |
44 #endif | 75 #endif |
45 | 76 |
46 #ifndef HAVE_MS_WINDOWS | |
47 #define HAVE_MS_WINDOWS | |
48 #endif | |
49 | |
50 /*#ifndef HAVE_SCROLLBARS | |
51 #define HAVE_SCROLLBARS | |
52 #endif*/ | |
53 | |
54 #ifndef HAVE_NTGUI | |
55 #define HAVE_NTGUI | 77 #define HAVE_NTGUI |
56 #endif | 78 #define HAVE_FACES |
57 | 79 |
58 #ifndef ORDINARY_LINK | 80 #ifndef ORDINARY_LINK |
59 #define ORDINARY_LINK | 81 #define ORDINARY_LINK |
60 #endif | 82 #endif |
61 | 83 |
71 #define VK_APPS 0x5D | 93 #define VK_APPS 0x5D |
72 #define SIGPROF 0 | 94 #define SIGPROF 0 |
73 #define NO_LIM_DATA | 95 #define NO_LIM_DATA |
74 #define HAVE_TEXT_START | 96 #define HAVE_TEXT_START |
75 | 97 |
76 #define LIBS_SYSTEM "-luser32 -lgdi32" | |
77 | |
78 #undef MAIL_USE_SYSTEM_LOCK | 98 #undef MAIL_USE_SYSTEM_LOCK |
79 | 99 |
80 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | 100 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a |
81 * group of arguments and treat it as an array of the arguments. */ | 101 * group of arguments and treat it as an array of the arguments. */ |
82 | 102 |
134 #define _CALLBACK_ __cdecl | 154 #define _CALLBACK_ __cdecl |
135 | 155 |
136 /* SYSTEM_TYPE should indicate the kind of system you are using. | 156 /* SYSTEM_TYPE should indicate the kind of system you are using. |
137 It sets the Lisp variable system-type. */ | 157 It sets the Lisp variable system-type. */ |
138 | 158 |
139 #define SYSTEM_TYPE "cygwin32" | 159 #define SYSTEM_TYPE "windows-nt" |
140 | 160 |
141 #define NO_MATHERR | 161 #define NO_MATHERR |
142 | 162 |
143 /* NOMULTIPLEJOBS should be defined if your system's shell | 163 /* NOMULTIPLEJOBS should be defined if your system's shell |
144 does not have "job control" (the ability to stop a program, | 164 does not have "job control" (the ability to stop a program, |
159 | 179 |
160 /* If your system uses COFF (Common Object File Format) then define the | 180 /* If your system uses COFF (Common Object File Format) then define the |
161 preprocessor symbol "COFF". */ | 181 preprocessor symbol "COFF". */ |
162 | 182 |
163 #define COFF | 183 #define COFF |
164 | |
165 /* NT supports Winsock which is close enough (with some hacks) */ | |
166 | |
167 #define HAVE_SOCKETS | |
168 | 184 |
169 /* define MAIL_USE_FLOCK if the mailer uses flock | 185 /* define MAIL_USE_FLOCK if the mailer uses flock |
170 to interlock access to /usr/spool/mail/$USER. | 186 to interlock access to /usr/spool/mail/$USER. |
171 The alternative is that a lock file named | 187 The alternative is that a lock file named |
172 /usr/spool/mail/$USER.lock. */ | 188 /usr/spool/mail/$USER.lock. */ |
198 | 214 |
199 /* The null device on Windows NT. */ | 215 /* The null device on Windows NT. */ |
200 #define NULL_DEVICE "NUL:" | 216 #define NULL_DEVICE "NUL:" |
201 #define EXEC_SUFFIXES ".exe:.com:.bat:.cmd:" | 217 #define EXEC_SUFFIXES ".exe:.com:.bat:.cmd:" |
202 | 218 |
203 #if 0 | |
204 #define HAVE_RENAME | |
205 | |
206 #define HAVE_TZNAME | |
207 | |
208 #define HAVE_LONG_FILE_NAMES | |
209 | |
210 #define HAVE_BCOPY | |
211 #define HAVE_BCMP | |
212 | |
213 #define HAVE_MOUSE | |
214 #endif | |
215 | |
216 #define HAVE_WINDOW_SYSTEM | |
217 #define HAVE_FACES | |
218 | |
219 #define MODE_LINE_BINARY_TEXT(_b_) (NILP ((_b_)->buffer_file_type) ? "T" : "B") | 219 #define MODE_LINE_BINARY_TEXT(_b_) (NILP ((_b_)->buffer_file_type) ? "T" : "B") |
220 | 220 |
221 /* For integration with MSDOS support. | 221 /* For integration with MSDOS support. |
222 #define getdisk() (_getdrive () - 1) | 222 #define getdisk() (_getdrive () - 1) |
223 #define getdefdir(_drv, _buf) _getdcwd (_drv, _buf, MAXPATHLEN) | 223 #define getdefdir(_drv, _buf) _getdcwd (_drv, _buf, MAXPATHLEN) |
224 */ | 224 */ |
225 | 225 |
226 /* Define this so that winsock.h definitions don't get included when windows.h | |
227 is... I don't know if they do the right thing for emacs. For this to | |
228 have proper effect, config.h must always be included before windows.h. | |
229 #define _WINSOCKAPI_ 1 | |
230 */ | |
231 | |
232 /* Defines size_t and alloca (). */ | 226 /* Defines size_t and alloca (). */ |
233 | 227 |
234 /* We need a little extra space, see ../../lisp/loadup.el */ | 228 /* We need a little extra space, see ../../lisp/loadup.el */ |
235 #define SYSTEM_PURESIZE_EXTRA 15000 | 229 #define SYSTEM_PURESIZE_EXTRA 15000 |
236 | 230 |