Remove obsolete configuration options (Windows port).
[bpt/emacs.git] / nt / config.nt
CommitLineData
8553c409 1/* GNU Emacs site configuration template file. -*- C -*-
0116466b 2
9311dcff 3Copyright (C) 1988, 1993-1994, 2001-2012 Free Software Foundation, Inc.
8553c409
GV
4
5This file is part of GNU Emacs.
6
eef0be9e 7GNU Emacs is free software: you can redistribute it and/or modify
bf2b146b 8it under the terms of the GNU General Public License as published by
eef0be9e
GM
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
bf2b146b 11
8553c409 12GNU Emacs is distributed in the hope that it will be useful,
bf2b146b
EN
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
eef0be9e 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
8553c409
GV
19
20
21/* No code in Emacs #includes config.h twice, but some of the code
177c0ea7 22 intended to work with other packages as well (like gmalloc.c)
8553c409
GV
23 think they can include it as many times as they like. */
24#ifndef EMACS_CONFIG_H
25#define EMACS_CONFIG_H
26
8553c409
GV
27/* These are all defined in the top-level Makefile by configure.
28 They're here only for reference. */
29
3336914e 30/* Define GNU_MALLOC if you want to use the GNU memory allocator. */
774fe785 31#define GNU_MALLOC
8553c409 32
3336914e
GV
33/* Define if you are using the GNU C Library. */
34#undef DOUG_LEA_MALLOC
35
8553c409
GV
36/* Define REL_ALLOC if you want to use the relocating allocator for
37 buffer space. */
774fe785 38#define REL_ALLOC
7c98e712
JR
39
40/* Enable conservative stack marking for GC. */
41#define GC_MARK_STACK 1
42
43/* MSVC ignores the "register" keyword, so test fails even though
44 setjmp does work. */
45#define GC_SETJMP_WORKS 1
46
8553c409
GV
47/* Define HAVE_X_WINDOWS if you want to use the X window system. */
48#undef HAVE_X_WINDOWS
49
50/* Define HAVE_X11 if you want to use version 11 of X windows.
51 Otherwise, Emacs expects to use version 10. */
52#undef HAVE_X11
53
54/* Define if using an X toolkit. */
55#undef USE_X_TOOLKIT
56
e447c636
GV
57/* Define this if you have Motif 2.1 or newer. */
58#undef HAVE_MOTIF_2_1
59
3336914e
GV
60/* Define HAVE_MENUS if you have mouse menus.
61 (This is automatic if you use X, but the option to specify it remains.)
62 It is also defined with other window systems that support xmenu.c. */
63#undef HAVE_MENUS
8553c409
GV
64
65/* Define if we have the X11R6 or newer version of Xt. */
66#undef HAVE_X11XTR6
67
3336914e
GV
68/* Define if we have the X11R6 or newer version of Xlib. */
69#undef HAVE_X11R6
70
8553c409
GV
71/* Define if netdb.h declares h_errno. */
72#undef HAVE_H_ERRNO
73
8553c409
GV
74/* If we're using any sort of window system, define some consequences. */
75#ifdef HAVE_X_WINDOWS
bdfab656 76#define HAVE_WINDOW_SYSTEM
8553c409
GV
77#define HAVE_MOUSE
78#endif
79
8553c409
GV
80/* Define USER_FULL_NAME to return a string
81 that is the user's full name.
82 It can assume that the variable `pw'
83 points to the password file entry for this user.
84
85 At some sites, the pw_gecos field contains
86 the user's full name. If neither this nor any other
87 field contains the right thing, use pw_name,
88 giving the user's login name, since that is better than nothing. */
89#define USER_FULL_NAME pw->pw_gecos
90
91/* Define AMPERSAND_FULL_NAME if you use the convention
92 that & in the full name stands for the login id. */
93#undef AMPERSAND_FULL_NAME
94
95/* Things set by --with options in the configure script. */
96
97/* Define to support POP mail retrieval. */
98#undef MAIL_USE_POP
99
100/* Define to support Kerberos-authenticated POP mail retrieval. */
101#undef KERBEROS
774fe785
GV
102/* Define to use Kerberos 5 instead of Kerberos 4 */
103#undef KERBEROS5
8553c409
GV
104
105/* Define to support using a Hesiod database to find the POP server. */
106#undef HESIOD
107
108/* Some things figured out by the configure script, grouped as they are in
109 configure.in. */
110#ifndef _ALL_SOURCE /* suppress warning if this is pre-defined */
111#undef _ALL_SOURCE
112#endif
113#undef HAVE_SYS_SELECT_H
114#undef HAVE_SYS_TIMEB_H
115#undef HAVE_SYS_TIME_H
116#undef HAVE_UNISTD_H
117#undef HAVE_UTIME_H
3336914e
GV
118#undef HAVE_LINUX_VERSION_H
119#undef HAVE_SYS_SYSTEMINFO_H
120#undef HAVE_TERMIOS_H
5eaf5ed9 121#undef HAVE_STRINGS_H
d8905e0d 122#undef HAVE_PWD_H
8553c409
GV
123
124#undef HAVE_LIBDNET
bdfab656 125#undef HAVE_LIBPTHREADS
8553c409 126#undef HAVE_LIBRESOLV
3336914e 127#undef HAVE_LIBXMU
774fe785
GV
128
129/* movemail Kerberos support */
130/* libraries */
3336914e 131#undef HAVE_LIBKRB
774fe785 132#undef HAVE_LIBKRB4
3336914e 133#undef HAVE_LIBDES
774fe785
GV
134#undef HAVE_LIBDES425
135#undef HAVE_LIBKRB5
136#undef HAVE_LIBCRYPTO
137#undef HAVE_LIBCOM_ERR
138/* header files */
139#undef HAVE_KRB5_H
140#undef HAVE_DES_H
141#undef HAVE_KRB_H
142#undef HAVE_KERBEROSIV_DES_H
143#undef HAVE_KERBEROSIV_KRB_H
144#undef HAVE_KERBEROS_DES_H
145#undef HAVE_KERBEROS_KRB_H
146#undef HAVE_COM_ERR_H
147
3336914e
GV
148/* Mail-file locking */
149#undef HAVE_LIBMAIL
150#undef HAVE_MAILLOCK_H
151#undef HAVE_TOUCHLOCK
8553c409
GV
152
153#undef HAVE_ALLOCA_H
154
155#undef HAVE_GETTIMEOFDAY
3336914e
GV
156/* If we don't have gettimeofday,
157 the test for GETTIMEOFDAY_ONE_ARGUMENT may succeed,
158 but we should ignore it. */
159#ifdef HAVE_GETTIMEOFDAY
bdfab656 160#undef GETTIMEOFDAY_ONE_ARGUMENT
3336914e 161#endif
8553c409
GV
162#undef HAVE_GETHOSTNAME
163#undef HAVE_DUP2
164#undef HAVE_RENAME
165#undef HAVE_CLOSEDIR
166
167#undef TM_IN_SYS_TIME
168#undef HAVE_TM_ZONE
804a4315
EZ
169
170/* Define to 1 if you don't have `tm_zone' but do have the external array
171 `tzname'. */
172#define HAVE_TZNAME 1
173
174/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
175 */
176#define HAVE_DECL_TZNAME 1
8553c409
GV
177
178#undef const
179
180#undef HAVE_LONG_FILE_NAMES
181
182#undef CRAY_STACKSEG_END
183
8553c409
GV
184#undef HAVE_XRMSETDATABASE
185#undef HAVE_XSCREENRESOURCESTRING
186#undef HAVE_XSCREENNUMBEROFSCREEN
8553c409
GV
187
188#undef HAVE_MKDIR
189#undef HAVE_RMDIR
190#undef HAVE_RANDOM
191#undef HAVE_LRAND48
8553c409
GV
192#undef HAVE_LOGB
193#undef HAVE_FREXP
194#undef HAVE_FMOD
3336914e
GV
195#undef HAVE_RINT
196#undef HAVE_CBRT
8553c409
GV
197#undef HAVE_RES_INIT /* For -lresolv on Suns. */
198#undef HAVE_SETSID
199#undef HAVE_FPATHCONF
200#undef HAVE_SELECT
3336914e 201#undef HAVE_EUIDACCESS
8553c409 202#undef HAVE_GETPAGESIZE
40da3962 203#undef HAVE_GET_CURRENT_DIR_NAME
3336914e
GV
204#undef HAVE_TZSET
205#undef HAVE_SETLOCALE
206#undef HAVE_UTIMES
207#undef HAVE_SETRLIMIT
208#undef HAVE_SETPGID
581355cc
EZ
209/* If you think about defining HAVE_GETCWD, don't: the alternative
210 getwd is redefined on w32.c, and does not really return the current
211 directory, to get the desired results elsewhere in Emacs */
3336914e
GV
212#undef HAVE_GETCWD
213#undef HAVE_SHUTDOWN
774fe785 214#undef HAVE_STRFTIME
cad19b50
JR
215/* Standard Windows strftime does not support POSIX.2 extensions. */
216#define STRFTIME_NO_POSIX2 1
3336914e 217
89440542
KS
218#define HAVE_SENDTO 1
219#define HAVE_RECVFROM 1
89440542
KS
220#define HAVE_GETSOCKNAME 1
221#define HAVE_GETPEERNAME 1
55e5faa1 222#define HAVE_SNPRINTF 1
feb75452 223#define HAVE_LANGINFO_CODESET 1
89440542
KS
224/* Local (unix) sockets are not supported. */
225#undef HAVE_SYS_UN_H
226
b57e1c98 227#define LOCALTIME_CACHE
8553c409
GV
228#undef HAVE_INET_SOCKETS
229
230#undef HAVE_AIX_SMT_EXP
231
232/* Define if you have the ANSI `strerror' function.
233 Otherwise you must have the variable `char *sys_errlist[]'. */
234#undef HAVE_STRERROR
235
8553c409
GV
236/* Define if `sys_siglist' is declared by <signal.h>. */
237#undef SYS_SIGLIST_DECLARED
238
239/* Define if `struct utimbuf' is declared by <utime.h>. */
240#undef HAVE_STRUCT_UTIMBUF
241
242/* Define if `struct timeval' is declared by <sys/time.h>. */
243#undef HAVE_TIMEVAL
244
79019d4c
EZ
245/* Define to 1 if you have the <getopt.h> header file. */
246#undef HAVE_GETOPT_H
247
248/* Define to 1 if you have the `getopt_long_only' function. */
249#undef HAVE_GETOPT_LONG_ONLY
250
f915f0f7
EZ
251/* Preprocessor macros needed for gnulib imports. */
252
253/* Define to 1 if GCC-style __attribute__ ((__aligned__ (expr))) works. */
254#ifdef __GNUC__
255#define HAVE_ATTRIBUTE_ALIGNED 1
256#else
257#undef HAVE_ATTRIBUTE_ALIGNED
258#endif
259
260/* Define to 1 if strtold conforms to C99. */
261#ifdef __GNUC__
262#define HAVE_C99_STRTOLD 1
263#else
264#undef HAVE_C99_STRTOLD
265#endif
266
267/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
268 */
269#define HAVE_DECL_GETENV 1
270
271/* Define to 1 if you have the declaration of `localtime_r', and to 0 if you
272 don't. */
273#undef HAVE_DECL_LOCALTIME_R
274
275/* Define to 1 if you have the `localtime_r' function. */
276#undef HAVE_LOCALTIME_R
277
8c9afb46
EZ
278/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
279 don't. */
280#define HAVE_DECL_STRTOLL 1
281
fc3b7291
EZ
282/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
283 don't. */
284#define HAVE_DECL_STRTOULL 1
285
286/* Define to 1 if you have the declaration of `strtoumax', and to 0 if you
287 don't. */
288#define HAVE_DECL_STRTOUMAX 1
289
290/* Define to 1 if you have the `strtoull' function. */
291#define HAVE_STRTOULL 1
292
293/* Define to 1 if you have the `strtoumax' function. */
294#define HAVE_STRTOUMAX 1
295
f915f0f7
EZ
296/* Define if you have the 'wchar_t' type. */
297#define HAVE_WCHAR_T 1
298
299/* Name of package */
300#define PACKAGE "emacs"
301
f915f0f7 302/* Version number of package */
f3774f20 303#define VERSION "24.1.50"
f915f0f7 304
a9be7d2b
GM
305/* The type of system you are compiling for; sets `system-type'. */
306#define SYSTEM_TYPE "windows-nt"
307
f915f0f7
EZ
308/* Define to `__inline__' or `__inline' if that's what the C compiler
309 calls it, or to nothing if 'inline' is not supported under any name. */
955f3b13 310#ifdef __GNUC__
f915f0f7
EZ
311#ifndef __cplusplus
312#undef inline
313#endif
955f3b13
EZ
314#else /* MSVC */
315#define inline __inline
316#endif
f915f0f7 317
70b0d280
EZ
318/* Define to the equivalent of the C99 'restrict' keyword, or to
319 nothing if this is not supported. Do not define if restrict is
320 supported directly. */
321#ifdef __GNUC__
322# define restrict __restrict__
323#else
324# define restrict
325#endif
326
1e8110e7
CS
327/* `mode_t' is not defined for MSVC. Define. */
328#ifdef _MSC_VER
329typedef unsigned short mode_t;
600b1907
CS
330#endif
331
39497066
EZ
332/* A va_copy replacement for MSVC. */
333#ifdef _MSC_VER
334# ifdef _WIN64
8c9afb46
EZ
335# ifndef va_copy /* Need to be checked (?) */
336# define va_copy(d,s) ((d) = (s))
39497066
EZ
337# endif
338# else /* not _WIN64 */
339# define va_copy(d,s) ((d) = (s))
340# endif /* not _WIN64 */
341#endif /* _MSC_VER */
342
f915f0f7
EZ
343/* Define as a marker that can be attached to declarations that might not
344 be used. This helps to reduce warnings, such as from
345 GCC -Wunused-parameter. */
346#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
347# define _GL_UNUSED __attribute__ ((__unused__))
348#else
349# define _GL_UNUSED
350#endif
351/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
352 is a misnomer outside of parameter lists. */
353#define _UNUSED_PARAMETER_ _GL_UNUSED
354
355/* End of gnulib-related stuff. */
356
0f1ba050
EZ
357#if __GNUC__ >= 3 /* On GCC 3.0 we might get a warning. */
358#define NO_INLINE __attribute__((noinline))
359#else
360#define NO_INLINE
361#endif
362
628e219f
EZ
363#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1))
364#define EXTERNALLY_VISIBLE __attribute__((externally_visible))
365#else
366#define EXTERNALLY_VISIBLE
367#endif
368
0f1ba050
EZ
369#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
370# define ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
371#else
372# define ATTRIBUTE_FORMAT(spec) /* empty */
373#endif
374
375#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
376# define ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
377 ATTRIBUTE_FORMAT ((__gnu_printf__, formatstring_parameter, first_argument))
378#else
379# define ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
380 ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
381#endif
382
1e574bf0
EZ
383#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
384#define HAVE___BUILTIN_UNWIND_INIT 1
385#endif
386
8553c409
GV
387#undef EMACS_CONFIGURATION
388
389#undef EMACS_CONFIG_OPTIONS
390
391/* The configuration script defines opsysfile to be the name of the
392 s/SYSTEM.h file that describes the system type you are using. The file
393 is chosen based on the configuration name you give.
394
395 See the file ../etc/MACHINES for a list of systems and the
396 configuration names to use for them.
397
398 See s/template.h for documentation on writing s/SYSTEM.h files. */
177c0ea7 399#undef config_opsysfile
a4b984a1 400#include "s/ms-w32.h"
8553c409 401
8553c409
GV
402/* Define `subprocesses' should be defined if you want to
403 have code for asynchronous subprocesses
404 (as used in M-x compile and M-x shell).
77ccee09 405 Only MSDOS does not support this. */
8553c409 406
77ccee09 407#define subprocesses
8553c409 408
8553c409
GV
409/* Define STACK_DIRECTION here, but not if m/foo.h did. */
410#ifndef STACK_DIRECTION
411#undef STACK_DIRECTION
412#endif
413
bdfab656
GV
414#ifdef emacs /* Don't do this for lib-src. */
415/* Tell regex.c to use a type compatible with Emacs. */
774fe785 416#define RE_TRANSLATE_TYPE Lisp_Object
f82f26ba 417#define RE_TRANSLATE(TBL, C) CHAR_TABLE_TRANSLATE (TBL, C)
e447c636 418#define RE_TRANSLATE_P(TBL) (XFASTINT (TBL) != 0)
bdfab656
GV
419#endif
420
aa287913
JD
421#define my_strftime nstrftime /* for strftime.c */
422
e5c96d21
EZ
423/* Define to the type of st_nlink in struct stat, or a supertype. */
424#define nlink_t short
425
50a6026b 426#ifndef WINDOWSNT
8553c409
GV
427/* Some of the files of Emacs which are intended for use with other
428 programs assume that if you have a config.h file, you must declare
0d4bcf4d 429 the type of getenv. */
8553c409
GV
430extern char *getenv ();
431#endif
432
433#endif /* EMACS_CONFIG_H */
bdfab656 434
5e617bc2 435#if defined (__MINGW32__) || _MSC_VER >= 1400
ba366b6d
EZ
436
437/* Define to 1 if the system has the type `long long int'. */
438# define HAVE_LONG_LONG_INT 1
439
440/* Define to 1 if the system has the type `unsigned long long int'. */
441# define HAVE_UNSIGNED_LONG_LONG_INT 1
442
b5611f17
PE
443#elif _MSC_VER >= 1200
444
122b0c86
PE
445/* Temporarily disable wider-than-pointer integers until they're tested more.
446 Build with CFLAGS='-DWIDE_EMACS_INT' to try them out. */
447/* #undef WIDE_EMACS_INT */
448
449# ifdef WIDE_EMACS_INT
450
b28b8799
PE
451/* Use pre-C99-style 64-bit integers. */
452# define EMACS_INT __int64
34374650 453# define EMACS_INT_MAX _I64_MAX
b28b8799 454# define pI "I64"
b5611f17 455
122b0c86
PE
456# endif
457
b28b8799
PE
458#endif
459
dc5ed26e
JR
460#ifndef POINTER_TYPE
461#define POINTER_TYPE void
462#endif
463
dc5ed26e
JR
464#ifndef PROTOTYPES
465#define PROTOTYPES 1
466#endif
467
774fe785 468#include "string.h"
5eaf5ed9
JR
469#ifdef HAVE_STRINGS_H
470#include "strings.h"
471#endif
5eaf5ed9 472#include <stdlib.h>
acc311da 473
845ca893
PE
474/* The _Noreturn keyword of C11. */
475#if ! (defined _Noreturn \
476 || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
5e0881dd 477# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__))
845ca893
PE
478# define _Noreturn __attribute__ ((__noreturn__))
479# elif defined _MSC_VER && 1200 <= _MSC_VER
480# define _Noreturn __declspec (noreturn)
481# else
482# define _Noreturn
483# endif
acc311da 484#endif
ab5796a9 485
5eaf5ed9 486/* Redefine abort. */
5eaf5ed9
JR
487#ifdef HAVE_NTGUI
488#define abort w32_abort
845ca893 489_Noreturn void w32_abort (void);
5eaf5ed9 490#endif
5eaf5ed9 491
43db14bb
JB
492/* Prevent accidental use of features unavailable in
493 older Windows versions we still support. */
494#define _WIN32_WINNT 0x0400
495
496/* Make a leaner executable. */
497#define WIN32_LEAN_AND_MEAN 1