428
|
1 /* XEmacs site configuration template file. -*- C -*-
|
|
2 Copyright (C) 1986, 1991-1994, 1998, 1999 Free Software Foundation, Inc.
|
2367
|
3 Copyright (C) 2000, 2001, 2002, 2004 Ben Wing.
|
428
|
4
|
|
5 This file is part of XEmacs.
|
|
6
|
|
7 XEmacs is free software; you can redistribute it and/or modify it
|
|
8 under the terms of the GNU General Public License as published by the
|
|
9 Free Software Foundation; either version 2, or (at your option) any
|
|
10 later version.
|
|
11
|
|
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT
|
|
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
15 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 /* Significantly divergent from FSF. */
|
|
23
|
|
24 /* No code in XEmacs #includes config.h twice, but some of the code
|
|
25 intended to work with other packages as well (like gmalloc.c)
|
|
26 think they can include it as many times as they like. */
|
|
27 #ifndef _SRC_CONFIG_H_
|
|
28 #define _SRC_CONFIG_H_
|
|
29
|
2367
|
30 /* The proper format of this file:
|
|
31
|
|
32 1. All #undef statements that are changed by configure should go together,
|
|
33 BEFORE the inclusion of the s&m files, and need to be bracketed by
|
|
34 #ifndef WIN32_NO_CONFIGURE. There is currently only one exception to
|
|
35 this: SYSTEM_TYPE.
|
|
36
|
|
37 2. All other code, except for the things that may be referenced in s&m
|
|
38 files (there is very very little of this) need to go AFTER the inclusion
|
|
39 of s&m files.
|
|
40
|
|
41 Together, this ensures that the s&m files can override configure
|
|
42 determinations as necessary, and we will properly notice this.
|
|
43 */
|
|
44
|
771
|
45 /*
|
|
46 This file now serves both as config.h.in and simply as config.h under
|
|
47 Windows NT. Under Windows NT, there is no configure script that
|
|
48 operates, so it is necessary for the relevant constants to be set
|
|
49 manually, either by the user (for user options) or in s/windowsnt.h.
|
|
50
|
|
51 Formerly, under NT there were three different places where constants
|
|
52 were defined -- nt/config.h, nt/xemacs.mak and s/windowsnt.h; now only
|
|
53 the latter two are used. (This separate config.h was a hassle because
|
|
54 it required constant synchronization between it and src/config.h.in.)
|
|
55 Since the options that are substituted by configure are written in
|
|
56 config.h.in with #undef, it is easy to make this file serve as
|
|
57 config.h under Windows NT. Options that are set by the user are
|
|
58 specified in the file config.inc.samp, which is included by xemacs.mak
|
872
|
59 \(the makefile) and used to set command-line options to the
|
771
|
60 compiler. The sorts of options that relate to the system and not to
|
|
61 the user and which are normally auto-determined by configure are set
|
|
62 in windowsnt.h.
|
|
63
|
|
64 What this means is that a little more care has to be taken in the way
|
|
65 things are arranged in config.h.in. In particular:
|
|
66
|
|
67 -- Everything that is written with a #undef should be bracketed by
|
|
68 #ifdef WIN32_NO_CONFIGURE, and these #ifdefs should in general be
|
|
69 grouped together as much as possible.
|
|
70
|
|
71 -- Things that are not #undefs should not go inside this bracketed
|
|
72 #ifdef, because these things typically set constants based on other
|
|
73 constants and those latter constants may be set elsewhere under
|
|
74 Windows NT.
|
|
75
|
|
76 -- Any #ifdefs that depend on constants that may be set in windowsnt.h
|
|
77 need to be moved after the point at which this file is
|
|
78 included. This applies for example to the error checking macros.
|
|
79 */
|
|
80
|
|
81 #if defined (WIN32_NATIVE) && !defined (MINGW)
|
|
82 # define WIN32_NO_CONFIGURE
|
|
83 #endif
|
|
84
|
428
|
85 /* Use this to add code in a structured way to FSF-maintained source
|
|
86 files so as to make it obvious where XEmacs changes are. */
|
|
87 #define XEMACS 1
|
|
88
|
771
|
89 #ifndef WIN32_NO_CONFIGURE /* Defined in xemacs.mak or s/windowsnt.h: */
|
|
90
|
442
|
91 /* Program name */
|
|
92 #undef EMACS_PROGNAME
|
|
93
|
428
|
94 /* Allow s&m files to differentiate OS versions without having
|
|
95 multiple files to maintain. */
|
|
96 #undef OS_RELEASE
|
|
97
|
|
98 /* The configuration name. This is used as the install directory name
|
|
99 for the lib-src programs. */
|
|
100 #undef EMACS_CONFIGURATION
|
|
101
|
|
102 /* The configuration options. This is exported to Lisp. */
|
|
103 #undef EMACS_CONFIG_OPTIONS
|
|
104
|
|
105 /* The version info from version.sh. Used in #pragma ident in emacs.c */
|
|
106 #undef EMACS_MAJOR_VERSION
|
|
107 #undef EMACS_MINOR_VERSION
|
|
108 #undef EMACS_PATCH_LEVEL
|
|
109 #undef EMACS_BETA_VERSION
|
|
110 #undef EMACS_VERSION
|
|
111 #undef XEMACS_CODENAME
|
975
|
112 #undef XEMACS_EXTRA_NAME
|
2602
|
113 #undef XEMACS_RELEASE_DATE
|
428
|
114 /* InfoDock versions, not used with XEmacs */
|
|
115 #undef INFODOCK_MAJOR_VERSION
|
|
116 #undef INFODOCK_MINOR_VERSION
|
|
117 #undef INFODOCK_BUILD_VERSION
|
|
118
|
442
|
119 /* Make functions from IEEE Stds 1003.[123] available. */
|
|
120 #undef _POSIX_C_SOURCE
|
|
121
|
|
122 /* Make some functions from Unix98 available. */
|
|
123 #undef _XOPEN_SOURCE
|
|
124
|
|
125 /* Make "extensions" from Unix98 available. */
|
|
126 #undef _XOPEN_SOURCE_EXTENDED
|
|
127
|
428
|
128 /* Make all functions available on AIX. See AC_AIX. */
|
1294
|
129 /* Some AIX compilers (cc) pre-define _ALL_SOURCE, some (xlc) don't. */
|
1284
|
130 #ifndef _ALL_SOURCE
|
428
|
131 #undef _ALL_SOURCE
|
1284
|
132 #endif
|
428
|
133
|
|
134 /* Make all functions available on GNU libc systems. See features.h. */
|
|
135 #undef _GNU_SOURCE
|
|
136
|
442
|
137 /* Make all functions available on Solaris 2 systems. */
|
|
138 #undef __EXTENSIONS__
|
|
139
|
1799
|
140 /* Define to the name of the typeof extension, if the compiler supports one */
|
|
141 #undef TYPEOF
|
|
142
|
428
|
143 /* Used to identify the XEmacs version in stack traces. */
|
|
144 #undef STACK_TRACE_EYE_CATCHER
|
|
145
|
|
146 /* Allow the configurer to specify if she wants site-lisp. */
|
|
147 #undef INHIBIT_SITE_LISP
|
|
148
|
|
149 /* Allow the configurer to specify if she wants site-modules. */
|
|
150 #undef INHIBIT_SITE_MODULES
|
|
151
|
|
152 /* Undefine on systems which don't have processes */
|
|
153 #undef HAVE_UNIX_PROCESSES
|
|
154
|
|
155 /* Define GNU_MALLOC if you want to use the GNU memory allocator. */
|
|
156 #undef GNU_MALLOC
|
|
157
|
|
158 /* Define if you are using the GNU C Library. -- experimental. */
|
|
159 #undef DOUG_LEA_MALLOC
|
|
160
|
|
161 /* Define if you are using libmcheck.a from the GNU C Library. */
|
|
162 #undef HAVE_LIBMCHECK
|
|
163
|
|
164 /* Define if you are using dlmalloc from the Linux C library. */
|
|
165 #undef _NO_MALLOC_WARNING_
|
|
166
|
|
167 /* Use the system malloc? */
|
|
168 #undef USE_SYSTEM_MALLOC
|
|
169
|
|
170 /* Use a debugging malloc? -- experimental */
|
|
171 #undef USE_DEBUG_MALLOC
|
|
172
|
2367
|
173 /* Use the relocating allocator for buffer space? */
|
|
174 #undef REL_ALLOC
|
|
175
|
|
176 /* If using the C implementation of alloca, define if you know the
|
|
177 direction of stack growth for your system; otherwise it will be
|
|
178 automatically deduced at run-time.
|
|
179 STACK_DIRECTION > 0 => grows toward higher addresses
|
|
180 STACK_DIRECTION < 0 => grows toward lower addresses
|
|
181 STACK_DIRECTION = 0 => direction of growth unknown */
|
|
182 #undef STACK_DIRECTION
|
|
183
|
|
184 /* Is alloca() broken when part of an argument to a function call? */
|
|
185 #undef BROKEN_ALLOCA_IN_FUNCTION_CALLS
|
|
186
|
|
187 /* Define to 1 if you have `alloca', as a function or macro. */
|
|
188 #undef HAVE_ALLOCA
|
|
189
|
|
190 /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
|
191 */
|
|
192 #undef HAVE_ALLOCA_H
|
|
193
|
|
194 /* Define to 1 if using `alloca.c'. */
|
|
195 #undef C_ALLOCA
|
|
196
|
428
|
197 /* Compile in TTY support? */
|
|
198 #undef HAVE_TTY
|
|
199
|
|
200 /* Compile in support for MS windows? */
|
|
201 #undef HAVE_MS_WINDOWS
|
|
202
|
|
203 /* special cygwin process handling? */
|
|
204 #undef HAVE_MSG_SELECT
|
|
205
|
|
206 /* Compile in support for the X window system? */
|
|
207 #undef HAVE_X_WINDOWS
|
|
208
|
|
209 /* Defines for building X applications */
|
|
210 #ifdef HAVE_X_WINDOWS
|
|
211 /* The following will be defined if xmkmf thinks they are necessary */
|
|
212 #undef SVR4
|
|
213 #undef SYSV
|
|
214 #undef AIXV3
|
|
215 #undef _POSIX_SOURCE
|
|
216 #undef _BSD_SOURCE
|
|
217 #undef _SVID_SOURCE
|
|
218 #undef X_LOCALE
|
|
219 #undef NARROWPROTO
|
771
|
220 #endif /* HAVE_X_WINDOWS */
|
|
221
|
462
|
222 /* Defines for building Gtk applications */
|
|
223 #undef HAVE_GNOME
|
|
224 #undef HAVE_GTK
|
|
225 #undef HAVE_GDK_IMLIB_INIT
|
|
226 #undef HAVE_GLADE_GLADE_H
|
|
227 #undef HAVE_GLADE_H
|
|
228 #undef LIBGLADE_XML_TXTDOMAIN
|
|
229
|
444
|
230 /* XFree86 has a different prototype for this function */
|
|
231 #undef HAVE_XREGISTERIMINSTANTIATECALLBACK
|
|
232 #undef XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE
|
428
|
233
|
|
234 #undef THIS_IS_X11R4
|
|
235 #undef THIS_IS_X11R5
|
|
236 #undef THIS_IS_X11R6
|
|
237
|
442
|
238 #undef HAVE_XCONVERTCASE
|
|
239
|
|
240 #undef HAVE_BALLOON_HELP
|
|
241
|
428
|
242 /* Where do we find bitmaps? */
|
|
243 #undef BITMAPDIR
|
|
244
|
|
245 /* Define AMPERSAND_FULL_NAME if you use the convention
|
|
246 that & in the full name stands for the login id. */
|
|
247 #undef AMPERSAND_FULL_NAME
|
|
248
|
|
249 /* Some things figured out by the configure script, grouped as they are in
|
|
250 configure.in. */
|
|
251 #undef HAVE_MCHECK_H
|
442
|
252 #undef HAVE_A_OUT_H
|
446
|
253 #undef HAVE_ELF_H
|
442
|
254 #undef HAVE_CYGWIN_VERSION_H
|
|
255 #undef HAVE_FCNTL_H
|
|
256 #undef HAVE_INTTYPES_H
|
|
257 #undef HAVE_LIBGEN_H
|
|
258 #undef HAVE_LOCALE_H
|
912
|
259 #undef HAVE_WCHAR_H
|
428
|
260 #undef HAVE_MACH_MACH_H
|
442
|
261 #undef HAVE_SYS_PARAM_H
|
|
262 #undef HAVE_SYS_PSTAT_H
|
2263
|
263 #undef HAVE_SYS_RESOURCE_H
|
442
|
264 #undef HAVE_SYS_TIME_H
|
428
|
265 #undef HAVE_SYS_TIMEB_H
|
777
|
266 #undef HAVE_SYS_TIMES_H
|
442
|
267 #undef HAVE_SYS_UN_H
|
2263
|
268 #undef HAVE_SYS_VLIMIT_H
|
442
|
269 #undef HAVE_ULIMIT_H
|
428
|
270 #undef HAVE_UNISTD_H
|
442
|
271
|
428
|
272 #undef HAVE_SYS_WAIT_H
|
|
273 #undef HAVE_LIBINTL_H
|
|
274 #undef HAVE_X11_XLOCALE_H
|
872
|
275
|
|
276 /* About __STDC__: Different compilers differ wrt __STDC__. Sunpro C
|
|
277 defines it, but its value is 0 unless we disable non-ANSI extensions.
|
|
278 VC++ doesn't define it at all unless we disable non-ANSI extensions.
|
|
279 But these compilers are all ANSI-compliant. So don't go testing
|
|
280 __STDC__ anywhere except in code that runs only on known
|
|
281 compilers. --ben
|
|
282
|
|
283 Jamie wrote the following:
|
|
284
|
|
285 [[ The ANSI standard says that defining __STDC__ to a non-zero value
|
|
286 means that the compiler conforms to that standard. The standard
|
|
287 requires certain header files and library functions to be present.
|
|
288 Therefore, if your compiler defines __STDC__ to non-0 but does not have
|
|
289 ANSI headers and the ANSI library routines, then your compiler is
|
|
290 buggy. Conversely, an ANSI-conforming environment (which has both the
|
|
291 ANSI headers and library routines, i.e., stdlib.h and `memmove') does
|
|
292 not necessarily define the STDC_HEADERS flag. Lucid Emacs requires an
|
|
293 ANSI compiler. Therefore, there is no need to consult the abominable
|
|
294 STDC_HEADERS flag. -- jwz ]]
|
|
295
|
|
296 In reality, we should not be testing STDC_HEADERS at all except
|
|
297 possibly in code we're purposely keeping in close sync with FSF code.
|
|
298 STDC_HEADERS should be defined on *ALL* compilers.
|
|
299 */
|
|
300
|
428
|
301 #undef STDC_HEADERS
|
872
|
302
|
428
|
303 #undef TIME_WITH_SYS_TIME
|
|
304 #undef WORDS_BIGENDIAN
|
|
305
|
|
306 #undef HAVE_LONG_FILE_NAMES
|
|
307
|
|
308 /* Use lock files to detect multiple edits of the same file? */
|
|
309 #undef CLASH_DETECTION
|
|
310
|
|
311 /* Have shared library support */
|
|
312 #undef HAVE_DLOPEN
|
|
313 #undef HAVE_DLERROR
|
|
314 #undef HAVE__DLERROR
|
|
315 #undef HAVE_SHL_LOAD
|
1383
|
316 #undef HAVE_DYLD
|
2078
|
317 #undef HAVE_LTDL
|
1259
|
318 #undef DLSYM_NEEDS_UNDERSCORE
|
1790
|
319 #undef HAVE_SHLIB
|
428
|
320
|
|
321 #undef HAVE_LIBINTL
|
|
322 #undef HAVE_LIBDNET
|
|
323 #undef HAVE_LIBRESOLV
|
|
324
|
|
325 /* Is `sys_siglist' declared by <signal.h>? */
|
|
326 #undef SYS_SIGLIST_DECLARED
|
|
327
|
|
328 /* Is `struct timeval' declared by <sys/time.h>? */
|
|
329 #undef HAVE_TIMEVAL
|
|
330
|
|
331
|
|
332 #undef TM_IN_SYS_TIME
|
|
333 #undef HAVE_TM_ZONE
|
|
334 #undef HAVE_TZNAME
|
|
335
|
442
|
336 /* For `getloadavg' provided by system */
|
|
337 #undef HAVE_GETLOADAVG
|
|
338 #undef HAVE_SYS_LOADAVG_H
|
|
339 /* For implementing `getloadavg' ourselves */
|
|
340 #undef HAVE_LIBKSTAT
|
|
341 #undef HAVE_KSTAT_H
|
|
342
|
428
|
343 /* Is `h_errno' declared by <netdb.h>? */
|
|
344 #undef HAVE_H_ERRNO
|
|
345
|
|
346 /* Does `localtime' cache TZ? */
|
|
347 #undef LOCALTIME_CACHE
|
|
348
|
|
349 /* Can `gettimeofday' accept two arguments? */
|
|
350 #undef GETTIMEOFDAY_ONE_ARGUMENT
|
|
351
|
2367
|
352 /* Is scanf() broken? (Under certain versions of Cygwin) */
|
|
353 #undef CYGWIN_SCANF_BUG
|
|
354
|
428
|
355 #undef HAVE_MMAP
|
|
356 #undef HAVE_STRCOLL
|
|
357 #undef HAVE_GETPGRP
|
|
358 #undef GETPGRP_VOID
|
|
359
|
|
360 #undef HAVE_INVERSE_HYPERBOLIC
|
|
361
|
2367
|
362 /* Functions in the big list of functions checked for */
|
428
|
363 #undef HAVE_CBRT
|
|
364 #undef HAVE_CLOSEDIR
|
|
365 #undef HAVE_DUP2
|
|
366 #undef HAVE_EACCESS
|
|
367 #undef HAVE_FMOD
|
|
368 #undef HAVE_FPATHCONF
|
|
369 #undef HAVE_FREXP
|
2367
|
370 #undef HAVE_FSYNC
|
428
|
371 #undef HAVE_FTIME
|
2367
|
372 #undef HAVE_FTRUNCATE
|
440
|
373 #undef HAVE_GETADDRINFO
|
428
|
374 #undef HAVE_GETHOSTNAME
|
440
|
375 #undef HAVE_GETNAMEINFO
|
428
|
376 #undef HAVE_GETPAGESIZE
|
2263
|
377 #undef HAVE_GETRLIMIT
|
428
|
378 #undef HAVE_GETTIMEOFDAY
|
|
379 #undef HAVE_GETCWD
|
771
|
380 #undef HAVE_LINK
|
428
|
381 #undef HAVE_LOGB
|
|
382 #undef HAVE_LRAND48
|
|
383 #undef HAVE_MATHERR
|
|
384 #undef HAVE_MKDIR
|
|
385 #undef HAVE_MKTIME
|
|
386 #undef HAVE_PERROR
|
|
387 #undef HAVE_POLL
|
|
388 #undef HAVE_RANDOM
|
771
|
389 #undef HAVE_READLINK
|
428
|
390 #undef HAVE_RENAME
|
|
391 #undef HAVE_RES_INIT
|
|
392 #undef HAVE_RINT
|
|
393 #undef HAVE_RMDIR
|
|
394 #undef HAVE_SELECT
|
|
395 #undef HAVE_SETITIMER
|
|
396 #undef HAVE_SETPGID
|
|
397 #undef HAVE_SETSID
|
|
398 #undef HAVE_SIGBLOCK
|
|
399 #undef HAVE_SIGHOLD
|
|
400 #undef HAVE_SIGPROCMASK
|
|
401 #undef HAVE_SNPRINTF
|
|
402 #undef HAVE_STRERROR
|
1204
|
403 #undef HAVE_STRLWR
|
|
404 #undef HAVE_STRUPR
|
771
|
405 #undef HAVE_SYMLINK
|
428
|
406 #undef HAVE_TZSET
|
|
407 #undef HAVE_ULIMIT
|
2367
|
408 #undef HAVE_UMASK
|
428
|
409 #undef HAVE_USLEEP
|
2367
|
410 #undef HAVE_VLIMIT
|
|
411 #undef HAVE_VSNPRINTF
|
|
412 #undef HAVE_WAITPID
|
|
413 #undef HAVE_WCSCMP
|
|
414 #undef HAVE_WCSLEN
|
|
415
|
460
|
416 #undef HAVE_UTIME
|
428
|
417 #undef HAVE_UTIMES
|
2367
|
418 #undef HAVE_SIGSETJMP
|
442
|
419
|
535
|
420 /* Many flavors of PTY support */
|
442
|
421 #undef HAVE_GETPT /* glibc's easy pty allocation function */
|
444
|
422 #undef HAVE__GETPTY /* SGI's easy pty allocation function */
|
442
|
423 #undef HAVE_OPENPTY /* BSD's easy pty allocation function */
|
|
424 #undef HAVE_GRANTPT /* Unix98 */
|
|
425 #undef HAVE_UNLOCKPT /* Unix98 */
|
|
426 #undef HAVE_PTSNAME /* Unix98 */
|
|
427 #undef HAVE_KILLPG /* BSD */
|
|
428 #undef HAVE_TCGETPGRP /* Posix 1 */
|
|
429 #undef HAVE_ISASTREAM /* SysV streams */
|
535
|
430 #undef HAVE_SYS_PTY_H /* AIX */
|
|
431 #undef HAVE_SYS_PTYIO_H /* HP-UX */
|
|
432 #undef HAVE_PTY_H /* Linux, Tru64 */
|
442
|
433 #undef HAVE_LIBUTIL_H /* BSD openpty */
|
458
|
434 #undef HAVE_UTIL_H /* NetBSD openpty */
|
444
|
435 #undef HAVE_STROPTS_H /* SysV streams */
|
|
436 #undef HAVE_STRTIO_H /* SysV streams TIOCSIGNAL */
|
442
|
437
|
428
|
438 #undef HAVE_SOCKETS
|
|
439 #undef HAVE_SOCKADDR_SUN_LEN
|
|
440 #undef HAVE_MULTICAST
|
|
441 #undef HAVE_SYSVIPC
|
438
|
442 #undef HAVE_LOCKF
|
|
443 #undef HAVE_FLOCK
|
428
|
444
|
|
445 #undef SYSV_SYSTEM_DIR
|
|
446 #undef NONSYSTEM_DIR_LIBRARY
|
|
447
|
|
448 #undef HAVE_TERMIOS
|
|
449 #undef HAVE_TERMIO
|
|
450 #undef NO_TERMIO
|
|
451 #undef SIGNALS_VIA_CHARACTERS
|
|
452
|
|
453 #undef NLIST_STRUCT
|
|
454
|
724
|
455 /* Do IPv6 hostname canonicalization before IPv4 in getaddrinfo()? */
|
|
456 #undef IPV6_CANONICALIZE
|
|
457
|
428
|
458 /* Compile in support for SOCKS? */
|
|
459 #undef HAVE_SOCKS
|
|
460
|
|
461 /* Compile in support for X pixmaps via the `xpm' library? */
|
|
462 #undef HAVE_XPM
|
|
463 #undef FOR_MSW
|
|
464
|
|
465 /* Compile in support for "X faces" via the `compface' library?
|
|
466 This enables graphical display of X-face headers in mail/news messages */
|
|
467 #undef HAVE_XFACE
|
|
468
|
|
469 /* Compile in support for JPEG images */
|
|
470 #undef HAVE_JPEG
|
|
471
|
|
472 /* Compile in support for TIFF images */
|
|
473 #undef HAVE_TIFF
|
|
474
|
|
475 /* Compile in support for GIF images */
|
|
476 #undef HAVE_GIF
|
|
477
|
|
478 /* Compile in support for PNG images */
|
|
479 #undef HAVE_PNG
|
|
480
|
771
|
481 /* Compile in support for GZIP compression */
|
|
482 #undef HAVE_ZLIB
|
|
483
|
428
|
484 /* Do you have the Xmu library?
|
|
485 This should always be the case except on losing HP-UX systems. */
|
|
486 #undef HAVE_XMU
|
|
487
|
|
488 /* Compile in support for DBM databases? May require libgdbm or libdbm. */
|
|
489 #undef HAVE_DBM
|
|
490
|
|
491 /* Compile in support for Berkeley DB style databases? May require libdb. */
|
|
492 #undef HAVE_BERKELEY_DB
|
|
493 /* Full #include file path for Berkeley DB's db.h */
|
442
|
494 #undef DB_H_FILE
|
428
|
495
|
|
496 /* Do we have either DBM or Berkeley DB database support? */
|
|
497 #undef HAVE_DATABASE
|
|
498
|
|
499 /* Do we have LDAP support? */
|
|
500 #undef HAVE_LDAP
|
|
501 /* Does the library define ldap_set_option () ? */
|
|
502 #undef HAVE_LDAP_SET_OPTION
|
|
503 /* Does the library define ldap_get_lderrno () ? */
|
|
504 #undef HAVE_LDAP_GET_LDERRNO
|
|
505 /* Does the library define ldap_result2error () ? */
|
|
506 #undef HAVE_LDAP_RESULT2ERROR
|
|
507 /* Does the library define ldap_parse_result () ? */
|
|
508 #undef HAVE_LDAP_PARSE_RESULT
|
|
509
|
442
|
510 /* Do we have PostgreSQL RDBMS support? */
|
|
511 #undef HAVE_POSTGRESQL
|
|
512 #undef HAVE_POSTGRESQLV7
|
|
513 #undef LIBPQ_FE_H_FILE /* main PostgreSQL header file */
|
|
514
|
428
|
515 /* Do you have the Xauth library present? This will add some extra
|
|
516 functionality to gnuserv. */
|
|
517 #undef HAVE_XAUTH
|
|
518
|
|
519 /* Compile in support for gpm (General Purpose Mouse)? */
|
|
520 #undef HAVE_GPM
|
|
521
|
|
522 /* Compile in support for ncurses? */
|
|
523 #undef HAVE_NCURSES
|
|
524 /* Full #include file paths for ncurses' curses.h and term.h. */
|
442
|
525 #undef CURSES_H_FILE
|
|
526 #undef TERM_H_FILE
|
428
|
527
|
|
528 /* Define USE_ASSERTIONS if you want the abort() to be changed to assert().
|
|
529 If the assertion fails, assert_failed() will be called. This is
|
|
530 recommended for general use because it gives more info about the crash
|
|
531 than just the abort() message. Too many people "Can't find the corefile"
|
|
532 or have limit-ed core dumps out of existence. */
|
|
533 #undef USE_ASSERTIONS
|
|
534
|
|
535 /* Define one or more of the following if you want lots of extra checks
|
|
536 (e.g. structure validation) compiled in. These should be turned
|
|
537 on during the beta-test cycle. */
|
|
538
|
|
539 /* Check the entire extent structure of a buffer each time an extent
|
|
540 change is done, and do other extent-related checks. */
|
|
541 #undef ERROR_CHECK_EXTENTS
|
440
|
542
|
800
|
543 /* Turn on checks related to types -- make sure that all X... macros are
|
|
544 dereferencing the correct type, and that all XSET... macros (as much as
|
|
545 possible) are setting the correct type of structure; check any other
|
|
546 places that a specific type is expected. */
|
|
547 #undef ERROR_CHECK_TYPES
|
440
|
548
|
800
|
549 /* Turn on checks related to text -- check that text in strings and buffers
|
|
550 is in a valid format before we use it, check that buffer positions are
|
|
551 valid, etc. */
|
|
552 #undef ERROR_CHECK_TEXT
|
440
|
553
|
428
|
554 /* Attempt to catch bugs related to garbage collection (e.g. not GCPRO'ing). */
|
|
555 #undef ERROR_CHECK_GC
|
440
|
556
|
428
|
557 /* Attempt to catch freeing of a non-malloc()ed block, heap corruption, etc. */
|
|
558 #undef ERROR_CHECK_MALLOC
|
440
|
559
|
428
|
560 /* Minor sanity checking of the bytecode interpreter. Useful for
|
|
561 debugging the byte compiler. */
|
|
562 #undef ERROR_CHECK_BYTE_CODE
|
|
563
|
442
|
564 /* Minor sanity checking of glyphs, especially subwindows and
|
|
565 widgets. */
|
|
566 #undef ERROR_CHECK_GLYPHS
|
|
567
|
800
|
568 /* Sanity-check the redisplay structures after each modification. */
|
|
569 #undef ERROR_CHECK_DISPLAY
|
|
570
|
|
571 /* Define for any sanity checks on structures that are not handled by a
|
|
572 more specific error-checking type. */
|
|
573 #undef ERROR_CHECK_STRUCTURES
|
|
574
|
428
|
575 /* Define DEBUG_XEMACS if you want extra debugging code compiled in.
|
|
576 This is mainly intended for use by developers. */
|
|
577 #undef DEBUG_XEMACS
|
|
578
|
|
579 /* Define MEMORY_USAGE_STATS if you want extra code compiled in to
|
|
580 determine where XEmacs' memory is going. */
|
|
581 #undef MEMORY_USAGE_STATS
|
|
582
|
460
|
583 /* Define QUANTIFY if using Quantify from Rational Software.
|
428
|
584 This adds some additional calls to control data collection.
|
|
585 It is only intended for use by the developers. */
|
|
586 #undef QUANTIFY
|
|
587
|
460
|
588 /* Define PURIFY if using Purify from Rational Software.
|
428
|
589 It is only intended for use by the developers. */
|
|
590 #undef PURIFY
|
|
591
|
|
592 /* Define EXTERNAL_WIDGET to compile support for using the editor as a
|
|
593 widget within another program. */
|
|
594 #undef EXTERNAL_WIDGET
|
|
595
|
|
596 /* There are some special-case defines for gcc and lcc. */
|
|
597 #undef USE_GCC
|
|
598 #undef USE_LCC
|
|
599
|
|
600 /* Compile in support for CDE (Common Desktop Environment) drag and drop?
|
|
601 Requires libDtSvc, which typically must be present at runtime. */
|
|
602 #undef HAVE_CDE
|
|
603
|
|
604 /* Compile in support for OffiX Drag and Drop? */
|
|
605 #undef HAVE_OFFIX_DND
|
|
606
|
|
607 /* Compile in generic Drag'n'Drop API */
|
|
608 #undef HAVE_DRAGNDROP
|
|
609
|
|
610 /* Compile in support for proper handling of WM_COMMAND. */
|
|
611 #undef HAVE_WMCOMMAND
|
|
612
|
|
613 /* Define this if you want Mule support (multi-byte character support).
|
|
614 There may be some performance penalty, although it should be small
|
|
615 if you're working with ASCII files. */
|
|
616 #undef MULE
|
|
617
|
771
|
618 /* Define this if you want EOL detection of files to be on by default
|
|
619 in a non-Mule Unix; otherwise, defaults will be set so that all
|
|
620 files are read in as binary. Doesn't apply to Cygwin or MinGW. */
|
|
621 #undef HAVE_DEFAULT_EOL_DETECTION
|
428
|
622
|
1259
|
623 /* Support X FontSets. Evil, yes, but if we're going to make it go away
|
|
624 by using faces in the menubar we should do so. */
|
|
625 #undef USE_XFONTSET
|
|
626
|
428
|
627 /* Do we want to use X window input methods for use with Mule? (requires X11R5)
|
|
628 If so, use raw Xlib or higher level Motif interface? */
|
|
629 #undef HAVE_XIM
|
|
630 #undef XIM_XLIB
|
|
631 #undef XIM_MOTIF
|
|
632
|
|
633 /* Non-XIM input methods for use with Mule. */
|
|
634 #undef HAVE_CANNA
|
|
635 #undef HAVE_WNN
|
|
636 #undef WNN6
|
|
637
|
442
|
638 /* Debugging development option: Remove inessential but time consuming
|
|
639 actions from happening during build. This saves a lot of time when
|
|
640 you're repeatedly compiling-running-crashing. This (1) doesn't
|
|
641 garbage-collect after loading each file during dumping, and (2)
|
|
642 doesn't automatically rebuild the DOC file. (Remove it by hand to
|
|
643 get it rebuilt.)
|
|
644 */
|
|
645 #undef QUICK_BUILD
|
428
|
646
|
872
|
647 /* If true, run the compiler with many files at once rather than one at a
|
|
648 time. May speed up compilation time with some compilers, particularly
|
|
649 if the entire compilation happens in a single process -- the process can
|
|
650 cache the results of processing include files. This definitely helps
|
|
651 with VC++ (although it doesn't use Makefile.in.in) but not with GCC,
|
|
652 which runs many processes per file to compile. */
|
|
653 #undef BATCH_COMPILER_RUNS
|
|
654
|
771
|
655 /* If defined, use unions instead of ints. A few systems (DEC Alpha)
|
|
656 seem to require this, probably because something with the int
|
|
657 definitions isn't right with 64-bit systems. */
|
|
658 #undef USE_UNION_TYPE
|
|
659
|
926
|
660 /* If defined, use experimental pdump-based GC algorithms. */
|
|
661 #undef USE_KKCC
|
|
662
|
771
|
663 /* Enable special GNU Make features in the Makefiles. */
|
|
664 #undef USE_GNU_MAKE
|
|
665
|
428
|
666 /* Defined by AC_C_CONST in configure.in */
|
|
667 #undef const
|
|
668
|
434
|
669 /* Allow the source to use standard types. Include these before the
|
|
670 s&m files so that they can use them. */
|
|
671 #undef ssize_t
|
|
672 #undef size_t
|
|
673 #undef pid_t
|
|
674 #undef mode_t
|
|
675 #undef off_t
|
|
676 #undef uid_t
|
|
677 #undef gid_t
|
442
|
678 #undef socklen_t
|
434
|
679
|
2367
|
680 /* Enhanced numeric support */
|
|
681 #undef WITH_NUMBER_TYPES
|
|
682 #undef WITH_GMP
|
|
683 #undef WITH_MP
|
|
684 #undef MP_PREFIX
|
|
685 #undef HAVE_MP_MOVE
|
771
|
686
|
2367
|
687 #undef SIZEOF_SHORT
|
|
688 #undef SIZEOF_INT
|
|
689 #undef SIZEOF_LONG
|
|
690 #undef SIZEOF_LONG_LONG
|
|
691 #undef SIZEOF_VOID_P
|
|
692 #undef SIZEOF_DOUBLE
|
615
|
693
|
2367
|
694 /* some systems (Cygwin) typedef u?intptr_t in <sys/types.h>
|
|
695 but the standard is <inttypes.h>
|
|
696 ugliness due to last-resort conditional typedef'ing in lisp.h */
|
|
697 #undef HAVE_INTPTR_T_IN_SYS_TYPES_H
|
|
698
|
|
699 /* Does the keyword `inline' exist? */
|
|
700 #undef inline
|
428
|
701
|
2367
|
702 /* movemail options */
|
|
703 /* Should movemail use POP3 for mail access? */
|
|
704 #undef MAIL_USE_POP
|
|
705 /* Should movemail use kerberos for POP authentication? */
|
|
706 #undef KERBEROS
|
|
707 /* Should movemail use hesiod for getting POP server host? */
|
|
708 #undef HESIOD
|
|
709 /* Determine type of mail locking. */
|
|
710 #undef MAIL_LOCK_LOCKF
|
|
711 #undef MAIL_LOCK_FLOCK
|
|
712 #undef MAIL_LOCK_DOT
|
|
713 #undef MAIL_LOCK_LOCKING
|
|
714 #undef MAIL_LOCK_MMDF
|
428
|
715
|
2367
|
716 #undef HAVE_MKSTEMP
|
428
|
717
|
2367
|
718 #undef PREFIX_USER_DEFINED
|
|
719 #undef EXEC_PREFIX_USER_DEFINED
|
|
720 #undef MODULEDIR_USER_DEFINED
|
|
721 #undef SITEMODULEDIR_USER_DEFINED
|
|
722 #undef DOCDIR_USER_DEFINED
|
|
723 #undef LISPDIR_USER_DEFINED
|
|
724 #undef PACKAGE_PATH_USER_DEFINED
|
|
725 #undef SITELISPDIR_USER_DEFINED
|
|
726 #undef ARCHLIBDIR_USER_DEFINED
|
|
727 #undef ETCDIR_USER_DEFINED
|
|
728 #undef INFODIR_USER_DEFINED
|
|
729 #undef INFOPATH_USER_DEFINED
|
872
|
730
|
2367
|
731 #undef PDUMP
|
872
|
732
|
428
|
733 /* Define DYNODUMP if it is necessary to properly dump on this system.
|
|
734 Currently this is only Solaris 2.x, for x < 6. */
|
|
735 #undef DYNODUMP
|
|
736
|
|
737 /* Compile in support for Sun Sparcworks/WorkShop? */
|
|
738 #undef SUNPRO
|
|
739
|
|
740 /* Sun SparcStations, SGI machines, and HP9000s700s have built-in
|
|
741 support for playing sound files. (On Suns, the sound support is
|
|
742 usually found in /usr/demo/SOUND - you may need to install the
|
|
743 "SUNWaudmo" package.) */
|
|
744 #undef HAVE_NATIVE_SOUND
|
771
|
745
|
428
|
746 /* Native sound may be provided via soundcard.h, in various directories */
|
442
|
747 #undef SOUNDCARD_H_FILE
|
428
|
748
|
|
749 /* Compile in support for NAS (Network Audio System)?
|
|
750 NAS_NO_ERROR_JUMP means that the NAS libraries don't include some
|
|
751 error handling changes. */
|
|
752 #undef HAVE_NAS_SOUND
|
|
753 #undef NAS_NO_ERROR_JUMP
|
|
754
|
|
755 /* Compile in support for ESD (Enlightened Sound Daemon)? */
|
|
756 #undef HAVE_ESD_SOUND
|
|
757
|
|
758 /* Compile in support for SunPro usage-tracking code? */
|
|
759 #undef USAGE_TRACKING
|
|
760
|
|
761 /* Compile in support for Tooltalk? */
|
|
762 #undef TOOLTALK
|
|
763 /* tt_c.h might be in "Tt" or "desktop" subdirectories */
|
442
|
764 #undef TT_C_H_FILE
|
428
|
765
|
|
766 /* Toolkits used by lwlib for various widgets... */
|
771
|
767
|
428
|
768 #undef LWLIB_USES_MOTIF
|
|
769 #undef LWLIB_USES_ATHENA
|
|
770 #undef LWLIB_MENUBARS_LUCID
|
|
771 #undef LWLIB_MENUBARS_MOTIF
|
|
772 #undef LWLIB_SCROLLBARS_LUCID
|
|
773 #undef LWLIB_SCROLLBARS_MOTIF
|
|
774 #undef LWLIB_SCROLLBARS_ATHENA
|
|
775 #undef LWLIB_SCROLLBARS_ATHENA3D
|
|
776 #undef LWLIB_DIALOGS_MOTIF
|
|
777 #undef LWLIB_DIALOGS_ATHENA
|
|
778 #undef LWLIB_DIALOGS_ATHENA3D
|
|
779 #undef LWLIB_TABS_LUCID
|
|
780 #undef LWLIB_WIDGETS_MOTIF
|
|
781 #undef LWLIB_WIDGETS_ATHENA
|
440
|
782 #undef HAVE_ATHENA_3D
|
428
|
783
|
|
784 /* Other things that can be disabled by configure. */
|
|
785 #undef HAVE_MENUBARS
|
|
786 #undef HAVE_SCROLLBARS
|
|
787 #undef HAVE_DIALOGS
|
|
788 #undef HAVE_TOOLBARS
|
|
789 #undef HAVE_WIDGETS
|
|
790
|
771
|
791 #endif /* WIN32_NO_CONFIGURE */
|
|
792
|
2367
|
793 /* alloca twiddling.
|
|
794 Because we might be #including alloca.h here, feature test macros
|
|
795 such as _XOPEN_SOURCE must be defined above.
|
|
796
|
|
797 #### This really should go below the inclusion of s&m files, like
|
|
798 everything else. */
|
|
799
|
|
800 #ifndef NOT_C_CODE
|
|
801 #if defined (__CYGWIN__)
|
|
802 /* We get complaints about redefinitions if we just use the __GNUC__
|
|
803 definition: stdlib.h also includes alloca.h, which defines it slightly
|
|
804 differently */
|
|
805 #include <alloca.h>
|
|
806 #elif defined (__GNUC__)
|
|
807 #define alloca __builtin_alloca
|
|
808 #elif defined (WIN32_NO_CONFIGURE)
|
|
809 /* Defines size_t and alloca (). */
|
|
810 #include <malloc.h>
|
|
811 #elif defined (__DECC)
|
|
812 #include <alloca.h>
|
|
813 #pragma intrinsic(alloca)
|
|
814 #elif defined (HAVE_ALLOCA_H)
|
|
815 #include <alloca.h>
|
|
816 #elif defined (_AIX)
|
|
817 /* AIX requires this before any "real" code in the translation unit. */
|
|
818 #pragma alloca
|
|
819 #elif ! defined (alloca)
|
|
820 #ifdef C_ALLOCA
|
|
821 #define alloca xemacs_c_alloca
|
|
822 #else
|
|
823 void *alloca ();
|
|
824 #endif /* C_ALLOCA */
|
|
825 #endif /* !defined (alloca) */
|
|
826 #endif /* C code */
|
|
827
|
|
828 /* The configuration script may define `opsysfile' to be the name of
|
|
829 the s/...h file that describes your operating system.
|
|
830 The file name is chosen based on the configuration name. */
|
|
831
|
|
832 #if defined (__cplusplus) && !defined (NOT_C_CODE)
|
|
833 extern "C" {
|
|
834 #endif
|
|
835
|
|
836 #undef config_opsysfile
|
|
837 #ifdef WIN32_NO_CONFIGURE
|
|
838 #include "s/windowsnt.h"
|
|
839 #elif defined (config_opsysfile)
|
|
840 #include config_opsysfile
|
|
841 #endif
|
|
842
|
|
843 /* The configuration script may define `machfile' to be the name of
|
|
844 the m/...h file that describes the machine you are using.
|
|
845 The file name is chosen based on the configuration name. */
|
|
846
|
|
847 #undef config_machfile
|
|
848 #ifdef WIN32_NO_CONFIGURE
|
|
849 #include "m/windowsnt.h"
|
|
850 #elif defined (config_machfile)
|
|
851 #include config_machfile
|
|
852 #endif
|
|
853
|
|
854 #if defined (__cplusplus) && !defined (NOT_C_CODE)
|
|
855 }
|
|
856 #endif
|
|
857
|
|
858 /* This will be removed in 19.15. */
|
|
859 /* Hah! Try 20.3 ... */
|
|
860 /* Hah! Try never ... */
|
|
861 /* If at first you don't succeed, try, try again. */
|
|
862 /* #define LOSING_BYTECODE */
|
|
863
|
|
864 /* USER_FULL_NAME returns a string that is the user's full name.
|
|
865 It can assume that the variable `pw' points to the password file
|
|
866 entry for this user.
|
|
867
|
|
868 At some sites, the pw_gecos field contains the user's full name.
|
|
869 If neither this nor any other field contains the right thing, use
|
|
870 pw_name, giving the user's login name, since that is better than
|
|
871 nothing. */
|
|
872 #define USER_FULL_NAME pw->pw_gecos
|
|
873
|
|
874 #define XEMACS_WANTS_C_ALLOCA
|
|
875
|
|
876 /* s&m files shouldn't be required to define anything, or even to exist.
|
|
877 If the s&m files don't define SYSTEM_TYPE, configure will select an
|
|
878 appropriate default value. */
|
|
879 #ifndef SYSTEM_TYPE
|
|
880 #undef SYSTEM_TYPE
|
|
881 #endif
|
|
882
|
|
883 #if defined (USE_SYSTEM_MALLOC) && !defined (SYSTEM_MALLOC)
|
|
884 #define SYSTEM_MALLOC
|
|
885 #endif
|
|
886
|
|
887 /* Define the return type of signal handlers if the s/xxx.h file
|
|
888 did not already do so. */
|
|
889 #define RETSIGTYPE void
|
|
890
|
|
891 #ifndef XCDECL
|
|
892 #define XCDECL
|
|
893 #endif
|
|
894
|
|
895 /* SIGTYPE is the macro we actually use. */
|
|
896 #ifndef SIGTYPE
|
|
897 #define SIGTYPE RETSIGTYPE XCDECL
|
|
898 #define SIGRETURN return
|
|
899 #endif
|
|
900
|
|
901 /* Define HAVE_WINDOW_SYSTEM if any windowing system is available. */
|
|
902 #if defined (HAVE_GTK) || defined (HAVE_X_WINDOWS) || defined (HAVE_MS_WINDOWS) /* || defined (HAVE_NEXTSTEP) */
|
|
903 #define HAVE_WINDOW_SYSTEM
|
|
904 #endif
|
|
905
|
771
|
906 #if defined (HAVE_MENUBARS) || defined (HAVE_SCROLLBARS) || defined (HAVE_DIALOGS) || defined (HAVE_TOOLBARS) || defined (HAVE_WIDGETS)
|
|
907 #define HAVE_GUI_OBJECTS
|
|
908 #endif
|
|
909
|
2367
|
910 #if defined (HAVE_MENUBARS) || defined (HAVE_DIALOGS)
|
|
911 #define HAVE_POPUPS
|
|
912 #endif
|
|
913
|
|
914 #if defined (HAVE_GTK) || defined (HAVE_X_WINDOWS)
|
|
915 #define HAVE_XLIKE
|
|
916 #endif
|
|
917
|
771
|
918 /* For the moment, Athena widgets and dialogs may be very unstable and not
|
|
919 working well, but things under Windows work much better. configure by
|
|
920 default tries to turn Windows widgets and dialogs on, but the Athena
|
|
921 ones off, so let's separate the defines. */
|
|
922 #if defined (HAVE_WIDGETS) && (defined (LWLIB_WIDGETS_MOTIF) || defined (LWLIB_WIDGETS_ATHENA))
|
|
923 #define HAVE_X_WIDGETS
|
|
924 #endif
|
|
925
|
|
926 #if defined (HAVE_DIALOGS) && (defined (LWLIB_DIALOGS_MOTIF) || defined (LWLIB_DIALOGS_ATHENA) || defined (LWLIB_DIALOGS_ATHENA3D))
|
|
927 #define HAVE_X_DIALOGS
|
|
928 #endif
|
428
|
929
|
2367
|
930 #ifdef HAVE_X_WINDOWS
|
|
931 /* The following should always be defined, no matter what xmkmf thinks. */
|
|
932 #ifndef NeedFunctionPrototypes
|
|
933 #define NeedFunctionPrototypes 1
|
|
934 #endif
|
|
935 #ifndef FUNCPROTO
|
|
936 #define FUNCPROTO 15
|
|
937 #endif
|
|
938 #endif /* HAVE_X_WINDOWS */
|
|
939
|
|
940 #if (defined (QUANTIFY) || defined (PURIFY)) && !defined (XLIB_ILLEGAL_ACCESS)
|
|
941 #define XLIB_ILLEGAL_ACCESS 1
|
|
942 #endif
|
|
943
|
|
944 /* Define HAVE_UNIXOID_EVENT_LOOP if we use select() to wait for events. */
|
|
945 #if defined (HAVE_X_WINDOWS) || defined (HAVE_TTY) || defined (HAVE_MSG_SELECT)
|
|
946 #define HAVE_UNIXOID_EVENT_LOOP
|
428
|
947 #endif
|
|
948
|
|
949 /* If you are using SunOS 4.1.1 and X11r5, then you need this patch.
|
|
950 There is a stupid bug in the SunOS libc.a: two functions which X11r5
|
|
951 uses, mbstowcs() and wcstombs(), are unusable when programs are
|
|
952 statically linked (as XEmacs must be) because the static version of
|
|
953 libc.a contains the *dynamic* versions of these functions. These
|
|
954 functions don't seem to be called when XEmacs is running, so it's
|
|
955 enough to define stubs for them.
|
|
956
|
|
957 This appears to be fixed in SunOS 4.1.2.
|
|
958
|
|
959 Also, SunOS 4.1.1 contains buggy versions of strcmp and strcpy that
|
|
960 sometimes reference memory past the end of the string, which can segv.
|
444
|
961 I don't know whether this has been fixed as of 4.1.2 or 4.1.3. */
|
428
|
962 #if defined (sparc) && !defined (USG)
|
|
963 #define OBJECTS_SYSTEM sunOS-fix.o strcmp.o strcpy.o
|
|
964 #endif
|
|
965
|
|
966 #ifdef HAVE_CANNA
|
|
967 # define CANNA2
|
|
968 # define CANNA_MULE
|
|
969 # define CANNA_PURESIZE 0
|
|
970 #else /* not CANNA */
|
|
971 # define CANNA_PURESIZE 0
|
|
972 #endif /* not CANNA */
|
|
973
|
|
974 #if defined (HAVE_SOCKS) && !defined (DO_NOT_SOCKSIFY)
|
|
975 #define accept Raccept
|
|
976 #define bind Rbind
|
|
977 #define connect Rconnect
|
|
978 #define getsockname Rgetsockname
|
|
979 #define listen Rlisten
|
|
980 #endif /* HAVE_SOCKS && !DO_NOT_SOCKSIFY */
|
|
981
|
|
982 #ifndef BITS_PER_CHAR
|
|
983 #define BITS_PER_CHAR 8
|
|
984 #endif
|
|
985 #define SHORTBITS (SIZEOF_SHORT * BITS_PER_CHAR)
|
|
986 #define INTBITS (SIZEOF_INT * BITS_PER_CHAR)
|
|
987 #define LONGBITS (SIZEOF_LONG * BITS_PER_CHAR)
|
|
988 #define LONG_LONG_BITS (SIZEOF_LONG_LONG * BITS_PER_CHAR)
|
|
989 #define VOID_P_BITS (SIZEOF_VOID_P * BITS_PER_CHAR)
|
1983
|
990 #define DOUBLE_BITS (SIZEOF_DOUBLE * BITS_PER_CHAR)
|
|
991
|
442
|
992 /* Use `INLINE_HEADER' to define inline functions in .h files.
|
|
993 Use `inline static' to define inline functions in .c files.
|
|
994 See the Internals manual for examples and more information. */
|
|
995
|
|
996 #if defined (__cplusplus) || ! defined (__GNUC__)
|
|
997 # define INLINE_HEADER inline static
|
|
998 #elif defined (DONT_EXTERN_INLINE_HEADER_FUNCTIONS)
|
|
999 # define INLINE_HEADER inline
|
|
1000 #else
|
|
1001 # define INLINE_HEADER inline extern
|
|
1002 #endif
|
428
|
1003
|
771
|
1004 /* Use DECLARE_INLINE_HEADER() to declare an inline function in a header
|
|
1005 file, like this: (This avoids the need to write a prototype directly
|
|
1006 followed by the function header itself.)
|
|
1007
|
|
1008 DECLARE_INLINE_HEADER (int foo (int x))
|
|
1009 {
|
|
1010 return x * x;
|
|
1011 }
|
|
1012
|
|
1013 */
|
|
1014
|
|
1015 #define DECLARE_INLINE_HEADER(header) \
|
|
1016 INLINE_HEADER header ; INLINE_HEADER header
|
|
1017
|
442
|
1018 #ifndef NOT_C_CODE /* Actually means C or C++ */
|
|
1019 # if defined (__cplusplus)
|
428
|
1020 /* Avoid C++ keywords used as ordinary C identifiers */
|
442
|
1021 # define new c_new
|
|
1022 # define catch c_catch
|
|
1023
|
|
1024 # define EXTERN_C extern "C"
|
|
1025 # else /* C code */
|
|
1026 # define EXTERN_C extern
|
|
1027 # endif
|
|
1028 #endif /* C or C++ */
|
428
|
1029
|
|
1030 /* Strictly speaking, only int or unsigned int are valid types in a
|
|
1031 bitfield. In practice, we would like to use enums as bitfields.
|
|
1032 The following should just result in warning avoidance:
|
|
1033 warning: nonportable bit-field type */
|
|
1034 #ifdef __GNUC__
|
|
1035 #define enum_field(enumeration_type) enum enumeration_type
|
|
1036 #else
|
|
1037 #define enum_field(enumeration_type) unsigned int
|
|
1038 #endif
|
|
1039
|
|
1040 /* We want to avoid saving the signal mask if possible, because
|
|
1041 that necessitates a system call. */
|
|
1042 #ifdef HAVE_SIGSETJMP
|
|
1043 # define SETJMP(x) sigsetjmp (x, 0)
|
|
1044 # define LONGJMP(x, y) siglongjmp (x, y)
|
|
1045 # define JMP_BUF sigjmp_buf
|
|
1046 #else
|
|
1047 # define SETJMP(x) setjmp (x)
|
|
1048 # define LONGJMP(x, y) longjmp (x, y)
|
|
1049 # define JMP_BUF jmp_buf
|
|
1050 #endif
|
|
1051
|
838
|
1052 /* For the moment, we go ahead and keep this, since it's used in mouse.el.
|
|
1053 #### font-lock does its own version using parse-partial-sexp. We should
|
|
1054 merge the two. */
|
|
1055 #define USE_C_FONT_LOCK
|
|
1056
|
800
|
1057 #ifdef ERROR_CHECK_ALL
|
|
1058 #define ERROR_CHECK_EXTENTS
|
|
1059 #define ERROR_CHECK_TYPES
|
|
1060 #define ERROR_CHECK_TEXT
|
|
1061 #define ERROR_CHECK_GC
|
|
1062 #define ERROR_CHECK_MALLOC
|
|
1063 #define ERROR_CHECK_BYTE_CODE
|
|
1064 #define ERROR_CHECK_GLYPHS
|
|
1065 #define ERROR_CHECK_DISPLAY
|
|
1066 #define ERROR_CHECK_STRUCTURES
|
|
1067 #endif /* ERROR_CHECK_ALL */
|
|
1068
|
428
|
1069 #endif /* _SRC_CONFIG_H_ */
|