442
|
1 /* System description file for Windows 9x and NT.
|
428
|
2 Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
|
800
|
3 Copyright (C) 2001, 2002 Ben Wing.
|
428
|
4
|
613
|
5 This file is part of XEmacs.
|
428
|
6
|
613
|
7 XEmacs is free software; you can redistribute it and/or modify
|
428
|
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
|
613
|
12 XEmacs is distributed in the hope that it will be useful,
|
428
|
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
|
2367
|
24 /* See win32.c for info about the different Windows files in XEmacs. */
|
442
|
25
|
771
|
26 #include "win32-native.h"
|
428
|
27
|
|
28 /* In case non-Microsoft compiler is used, we fake _MSC_VER */
|
|
29 #ifndef _MSC_VER
|
|
30 #define _MSC_VER 1
|
|
31 #endif
|
|
32
|
771
|
33 /* Stuff from old nt/config.h: */
|
|
34
|
|
35 #define NTHEAP_PROBE_BASE 1
|
|
36
|
|
37 #ifdef HAVE_X_WINDOWS
|
|
38
|
|
39 #define HAVE_XREGISTERIMINSTANTIATECALLBACK
|
|
40
|
|
41 #define THIS_IS_X11R6
|
|
42 #define HAVE_XLOCALE_H
|
|
43 #define HAVE_X11_LOCALE_H
|
|
44 #define GETTIMEOFDAY_ONE_ARGUMENT
|
428
|
45
|
771
|
46 #define LWLIB_USES_ATHENA
|
|
47 #define LWLIB_MENUBARS_LUCID
|
|
48 #define LWLIB_SCROLLBARS_LUCID
|
|
49 #define LWLIB_DIALOGS_ATHENA
|
|
50 #define LWLIB_TABS_LUCID
|
|
51 #define LWLIB_WIDGETS_ATHENA
|
428
|
52
|
771
|
53 /* These are what gets defined under Cygwin */
|
|
54 #define _BSD_SOURCE 1
|
|
55 #define _SVID_SOURCE 1
|
|
56 #define X_LOCALE 1
|
|
57 #define NARROWPROTO 1
|
|
58
|
|
59 #endif /* HAVE_X_WINDOWS */
|
|
60
|
|
61 #define HAVE_LOCALE_H
|
|
62 #define STDC_HEADERS
|
|
63
|
|
64 #define HAVE_LONG_FILE_NAMES
|
428
|
65
|
771
|
66 #define HAVE_TIMEVAL
|
|
67 #define HAVE_TZNAME
|
|
68 #define HAVE_H_ERRNO
|
428
|
69
|
771
|
70 #define HAVE_CLOSEDIR
|
|
71 #define HAVE_DUP2
|
|
72 #define HAVE_EXECVPE
|
|
73 #define HAVE_FMOD
|
|
74 #define HAVE_FREXP
|
|
75 #define HAVE_FTIME
|
|
76 #define HAVE_GETCWD
|
|
77 #define HAVE_GETHOSTNAME
|
|
78 #define HAVE_GETPAGESIZE
|
|
79 #define getpagesize() 4096
|
|
80 #define HAVE_GETTIMEOFDAY
|
|
81 #define HAVE_LINK
|
|
82 #define HAVE_LOGB
|
|
83 #define HAVE_MKDIR
|
|
84 #define HAVE_MKTIME
|
|
85 #define HAVE_RENAME
|
|
86 #define HAVE_RMDIR
|
|
87 #define HAVE_SELECT
|
|
88 #define HAVE_STRERROR
|
1257
|
89 #define HAVE_STRLWR
|
|
90 #define HAVE_STRUPR
|
428
|
91
|
771
|
92 #define HAVE_SOCKETS
|
428
|
93
|
771
|
94 #ifdef DEBUG_XEMACS
|
|
95 #define USE_ASSERTIONS
|
|
96 #define MEMORY_USAGE_STATS
|
|
97 #endif /* DEBUG_XEMACS */
|
|
98
|
|
99 #define HAVE_DRAGNDROP
|
428
|
100
|
|
101 #define SIZEOF_SHORT 2
|
|
102 #define SIZEOF_INT 4
|
|
103 #define SIZEOF_LONG 4
|
442
|
104 #define SIZEOF_LONG_LONG 0
|
428
|
105 #define SIZEOF_VOID_P 4
|
|
106
|
771
|
107 typedef int mode_t;
|
|
108 typedef int pid_t;
|
|
109 typedef int uid_t;
|
|
110 typedef int gid_t;
|
|
111 typedef int pid_t;
|
|
112 typedef int ssize_t;
|
428
|
113
|
|
114 /* If your system uses COFF (Common Object File Format) then define the
|
|
115 preprocessor symbol "COFF". */
|
|
116
|
|
117 #define COFF
|
|
118
|
|
119 /* define MAIL_USE_FLOCK if the mailer uses flock
|
|
120 to interlock access to /usr/spool/mail/$USER.
|
|
121 The alternative is that a lock file named
|
|
122 /usr/spool/mail/$USER.lock. */
|
|
123
|
|
124 #define MAIL_USE_POP
|
438
|
125 #define HAVE_LOCKING
|
|
126 #define MAIL_USE_LOCKING
|
428
|
127
|
|
128 /* See unexnt.c */
|
827
|
129 #if (_MSC_VER >= 1100) && !defined(PDUMP)
|
428
|
130 #define DUMP_SEPARATE_SECTION
|
|
131 #endif
|
|
132 #ifdef DUMP_SEPARATE_SECTION
|
|
133 #pragma data_seg("xdata")
|
|
134 #pragma bss_seg("xdata")
|
|
135 #endif
|
|
136
|
827
|
137 #ifdef emacs
|
|
138 /* intl-auto-encap-win32.[ch] assumes _WIN32_WINNT>=0x0400
|
|
139 We don't want this set when building command-line helpers in lib-src */
|
771
|
140 # ifndef _WIN32_WINNT
|
|
141 # define _WIN32_WINNT 0x0400
|
|
142 # endif
|
428
|
143 #endif
|
442
|
144
|
|
145 /* The VC++ (5.0, at least) headers treat WINVER non-existent as 0x0400 */
|
|
146 #if defined (WINVER) && WINVER < 0x0400
|
|
147 # undef WINVER
|
|
148 # define WINVER 0x0400
|
|
149 #endif
|
|
150
|
872
|
151 /* Vararg routines, main(), and callback routines for library functions
|
|
152 (qsort(), signal(), etc.) need to be __cdecl if we use the fastcall
|
|
153 convention by default (a good idea, since it speeds things up). #### Why
|
|
154 do they have to complain about this? Why not just do the right thing
|
|
155 automatically?
|
|
156
|
|
157 Prefix with X because plain CDECL is already defined by the VC++ header
|
|
158 files. */
|
|
159 #define XCDECL __cdecl
|
|
160
|
1257
|
161 /* MSVC warnings no-no crap. When adding one to this section,
|
|
162 1. Think twice.
|
771
|
163 2. Insert textual description of the warning.
|
1257
|
164 3. Think again. Undo still works. */
|
771
|
165 #if (_MSC_VER >= 800)
|
|
166
|
|
167 /* unnamed type definition in parentheses
|
|
168 (Martin added a pedantically correct definition of ALIGNOF, which
|
|
169 generates temporary anonymous structures, and MSVC complains) */
|
|
170 #pragma warning ( disable : 4116 )
|
|
171
|
|
172 #endif /* compiler understands #pragma warning*/
|
|
173
|
2500
|
174 #if (_MSC_VER >= 1300)
|
|
175 /* function declared with __declspec(noreturn) has non-void return type;
|
|
176 Lisp primitives have to be declared with Lisp_Object return type or
|
|
177 lots of things get very messed up */
|
|
178 #pragma warning ( disable : 4646 )
|
|
179 #endif
|
|
180
|
771
|
181 /* MSVC version >= 2.x without /Za supports __inline */
|
|
182 #if (_MSC_VER < 900) || defined (__STDC__)
|
|
183 # define inline
|
|
184 #else
|
|
185 # define inline __inline
|
|
186 #endif
|