annotate src/s/cygwin32.h @ 442:abe6d1db359e r21-2-36

Import from CVS: tag r21-2-36
author cvs
date Mon, 13 Aug 2007 11:35:02 +0200
parents 8de8e3f6228a
children 1ccc32a20af4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 /* system description file for cygwin32.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 This file is part of GNU Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 GNU General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 /* Building under cygwin
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 *
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
23 * The approach I have taken with this port is to use primarily the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
24 * UNIX code base adding stuff that is MS-Windows specific. This works
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
25 * quite well, and is in keeping with my perception of the cygwin
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
26 * philosophy. Note that if you make changes to this file you do NOT
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
27 * want to define WIN32_NATIVE (formerly "WINDOWSNT"), I repeat - do
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
28 * not define this, it will break everything horribly. What does get
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
29 * defined is HAVE_MS_WINDOWS, but this is done by configure and only
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
30 * applies to the window system.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 *
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 * When building make sure your HOME path is unix style - i.e. without
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 * a drive letter.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 *
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 * once you have done this, configure and make.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 *
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 * windows '95 - I haven't tested this under '95, it will probably
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 * build but I konw there are some limitations with cygwin under 95 so
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 * YMMV. I build with NT4 SP3.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 *
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 * Andy Piper <andy@xemacs.org> 8/1/98
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 * http://www.xemacs.freeserve.co.uk/ */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
44 /* Identify ourselves */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
45 #define CYGWIN
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
46
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 /* cheesy way to determine cygwin version */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 #ifndef NOT_C_CODE
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
49 # include <signal.h>
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
50 # ifdef HAVE_CYGWIN_VERSION_H
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
51 # include <cygwin/version.h>
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
52 # else
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
53 # ifdef SIGIO
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
54 # define CYGWIN_VERSION_DLL_MAJOR 19
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
55 # define CYGWIN_VERSION_DLL_MINOR 0
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
56 # define CYGWIN_B19
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
57 # else
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
58 # define CYGWIN_VERSION_DLL_MAJOR 18
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
59 # define CYGWIN_VERSION_DLL_MINOR 0
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
60 # define BROKEN_CYGWIN
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
61 # endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
62 # endif
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
64 # if CYGWIN_VERSION_DLL_MAJOR < 20
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
65
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
66 void cygwin32_win32_to_posix_path_list (const char*, char*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
67 int cygwin32_win32_to_posix_path_list_buf_size (const char*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
68 void cygwin32_posix_to_win32_path_list (const char*, char*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
69 int cygwin32_posix_to_win32_path_list_buf_size (const char*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
70
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
71 #define cygwin_win32_to_posix_path_list cygwin32_win32_to_posix_path_list
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
72 #define cygwin_win32_to_posix_path_list_buf_size \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
73 cygwin32_win32_to_posix_path_list_buf_size
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
74 #define cygwin_posix_to_win32_path_list cygwin32_posix_to_win32_path_list
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
75 #define cygwin_posix_to_win32_path_list_buf_size \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
76 cygwin32_posix_to_win32_path_list_buf_size
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
77
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 struct timeval;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 struct timezone;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 struct itimerval;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 struct stat;
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
82 int gettimeofday (struct timeval *tp, struct timezone *tzp);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
83 int gethostname (char* name, int namelen);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
84 char* mktemp (char *);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
85 double logb (double);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
86 void sync (void);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
87 int ioctl (int, int, ...);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
88 /* sys/stat.h */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
89 int lstat (const char *path, struct stat *buf);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
90 /* unistd.h */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
91 int readlink (const char *path, void *buf, unsigned int bufsiz);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
92 int symlink (const char *name1, const char *name2);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
93 /* sys/time.h */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
94 int setitimer (int which, const struct itimerval *value,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
95 struct itimerval *ovalue);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
96 int utimes (char *file, struct timeval *tvp);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
98 int srandom (unsigned seed);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
99 long random (void);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
100
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
101 # else /* not CYGWIN_VERSION_DLL_MAJOR < 20 */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
102
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
103 void cygwin_win32_to_posix_path_list (const char*, char*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
104 int cygwin_win32_to_posix_path_list_buf_size (const char*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
105 void cygwin_posix_to_win32_path_list (const char*, char*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
106 int cygwin_posix_to_win32_path_list_buf_size (const char*);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
108 # endif /* CYGWIN_VERSION_DLL_MAJOR < 20 */
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
109
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
110 # if CYGWIN_VERSION_DLL_MAJOR <= 20
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
111 char *getpass (const char *prompt);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
112 double logb (double);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
113 # endif /* CYGWIN_VERSION_DLL_MAJOR <= 20 */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
115 /* Still left out of 1.1! */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
116 double logb (double);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
117
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 #ifndef ORDINARY_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 #define ORDINARY_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 #define C_SWITCH_SYSTEM -Wno-sign-compare -fno-caller-saves
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 #define LIBS_SYSTEM -lwinmm
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
126 #define WIN32_LEAN_AND_MEAN
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 #define TEXT_START -1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 #define TEXT_END -1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 #define DATA_END -1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 #define HEAP_IN_DATA
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
132 #define NO_LIM_DATA
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 #define UNEXEC "unexcw.o"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 #ifdef CYGWIN_VERSION_DLL_MAJOR
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 #if 0
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
137 /* #### FIXME: although defining BROKEN_SIGIO is correct for proper ^G
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 behavior, bugs in cygwin mean that xemacs locks up frequently if
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 this is defined. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 #define BROKEN_SIGIO
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 #define PROCESS_IO_BLOCKING
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 #define strnicmp strncasecmp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 #ifndef HAVE_SOCKETS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 #define HAVE_SOCKETS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 #define OBJECTS_SYSTEM ntplay.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 #undef MAIL_USE_SYSTEM_LOCK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
153 /* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
154 since there is no load average available. */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 /* Define VIRT_ADDR_VARIES if the virtual addresses of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 pure and impure space as loaded can vary, and even their
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 relative order cannot be relied on.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 Otherwise Emacs assumes that text space precedes data space,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 numerically. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 /* Text does precede data space, but this is never a safe assumption. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 #define VIRT_ADDR_VARIES
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 /* If you are compiling with a non-C calling convention but need to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 declare vararg routines differently, put it here */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 #define _VARARGS_ __cdecl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 /* If you are providing a function to something that will call the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 function back (like a signal handler and signal, or main) its calling
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 convention must be whatever standard the libraries expect */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 #define _CALLBACK_ __cdecl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 /* SYSTEM_TYPE should indicate the kind of system you are using.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 It sets the Lisp variable system-type. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 #define SYSTEM_TYPE "cygwin32"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 #define NO_MATHERR
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 /* define MAIL_USE_FLOCK if the mailer uses flock
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 to interlock access to /usr/spool/mail/$USER.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 The alternative is that a lock file named
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 /usr/spool/mail/$USER.lock. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 /* If the character used to separate elements of the executable path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 is not ':', #define this to be the appropriate character constant. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 #define SEPCHAR ':'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 /* ============================================================ */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 /* Here, add any special hacks needed
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 to make Emacs work on this system. For example,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 you might define certain system call names that don't
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 exist on your system, or that do different things on
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 your system and must be used only through an encapsulation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 (Which you should place, by convention, in sysdep.c). */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 /* Define this to be the separator between path elements */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 /* #define DIRECTORY_SEP XINT (Vdirectory_sep_char) */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 /* Define this to be the separator between devices and paths */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 #define DEVICE_SEP ':'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 /* We'll support either convention on NT. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 #define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\')
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 #define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 #define EXEC_SUFFIXES ".exe:.com:.bat:.cmd:"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 /* We need a little extra space, see ../../lisp/loadup.el */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 #define SYSTEM_PURESIZE_EXTRA 15000
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 #define CYGWIN_CONV_PATH(src, dst) \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
215 dst = alloca (cygwin_win32_to_posix_path_list_buf_size(src)); \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
216 cygwin_win32_to_posix_path_list(src, dst)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 #define CYGWIN_WIN32_PATH(src, dst) \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
218 dst = alloca (cygwin_posix_to_win32_path_list_buf_size(src)); \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
219 cygwin_posix_to_win32_path_list(src, dst)