comparison src/config.h.in @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents 76d5a3dd827a
children e65d9cf16707
comparison
equal deleted inserted replaced
770:336a418893b5 771:943eaba38521
1 /* XEmacs site configuration template file. -*- C -*- 1 /* XEmacs site configuration template file. -*- C -*-
2 Copyright (C) 1986, 1991-1994, 1998, 1999 Free Software Foundation, Inc. 2 Copyright (C) 1986, 1991-1994, 1998, 1999 Free Software Foundation, Inc.
3 Copyright (C) 2000, 2001, 2002 Ben Wing.
3 4
4 This file is part of XEmacs. 5 This file is part of XEmacs.
5 6
6 XEmacs is free software; you can redistribute it and/or modify it 7 XEmacs is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the 8 under the terms of the GNU General Public License as published by the
24 intended to work with other packages as well (like gmalloc.c) 25 intended to work with other packages as well (like gmalloc.c)
25 think they can include it as many times as they like. */ 26 think they can include it as many times as they like. */
26 #ifndef _SRC_CONFIG_H_ 27 #ifndef _SRC_CONFIG_H_
27 #define _SRC_CONFIG_H_ 28 #define _SRC_CONFIG_H_
28 29
30 /*
31 This file now serves both as config.h.in and simply as config.h under
32 Windows NT. Under Windows NT, there is no configure script that
33 operates, so it is necessary for the relevant constants to be set
34 manually, either by the user (for user options) or in s/windowsnt.h.
35
36 Formerly, under NT there were three different places where constants
37 were defined -- nt/config.h, nt/xemacs.mak and s/windowsnt.h; now only
38 the latter two are used. (This separate config.h was a hassle because
39 it required constant synchronization between it and src/config.h.in.)
40 Since the options that are substituted by configure are written in
41 config.h.in with #undef, it is easy to make this file serve as
42 config.h under Windows NT. Options that are set by the user are
43 specified in the file config.inc.samp, which is included by xemacs.mak
44 (the makefile) and used to set command-line options to the
45 compiler. The sorts of options that relate to the system and not to
46 the user and which are normally auto-determined by configure are set
47 in windowsnt.h.
48
49 What this means is that a little more care has to be taken in the way
50 things are arranged in config.h.in. In particular:
51
52 -- Everything that is written with a #undef should be bracketed by
53 #ifdef WIN32_NO_CONFIGURE, and these #ifdefs should in general be
54 grouped together as much as possible.
55
56 -- Things that are not #undefs should not go inside this bracketed
57 #ifdef, because these things typically set constants based on other
58 constants and those latter constants may be set elsewhere under
59 Windows NT.
60
61 -- Any #ifdefs that depend on constants that may be set in windowsnt.h
62 need to be moved after the point at which this file is
63 included. This applies for example to the error checking macros.
64 */
65
66 #if defined (WIN32_NATIVE) && !defined (MINGW)
67 # define WIN32_NO_CONFIGURE
68 #endif
69
29 /* Use this to add code in a structured way to FSF-maintained source 70 /* Use this to add code in a structured way to FSF-maintained source
30 files so as to make it obvious where XEmacs changes are. */ 71 files so as to make it obvious where XEmacs changes are. */
31 #define XEMACS 1 72 #define XEMACS 1
73
74 #ifndef WIN32_NO_CONFIGURE /* Defined in xemacs.mak or s/windowsnt.h: */
32 75
33 /* Program name */ 76 /* Program name */
34 #undef EMACS_PROGNAME 77 #undef EMACS_PROGNAME
35 78
36 /* Allow s&m files to differentiate OS versions without having 79 /* Allow s&m files to differentiate OS versions without having
134 #undef _POSIX_SOURCE 177 #undef _POSIX_SOURCE
135 #undef _BSD_SOURCE 178 #undef _BSD_SOURCE
136 #undef _SVID_SOURCE 179 #undef _SVID_SOURCE
137 #undef X_LOCALE 180 #undef X_LOCALE
138 #undef NARROWPROTO 181 #undef NARROWPROTO
182 #endif /* HAVE_X_WINDOWS */
183
184 #endif /* WIN32_NO_CONFIGURE */
185
186 #ifdef HAVE_X_WINDOWS
139 /* The following should always be defined, no matter what xmkmf thinks. */ 187 /* The following should always be defined, no matter what xmkmf thinks. */
140 #ifndef NeedFunctionPrototypes 188 #ifndef NeedFunctionPrototypes
141 #define NeedFunctionPrototypes 1 189 #define NeedFunctionPrototypes 1
142 #endif 190 #endif
143 #ifndef FUNCPROTO 191 #ifndef FUNCPROTO
161 /* Define HAVE_UNIXOID_EVENT_LOOP if we use select() to wait for events. */ 209 /* Define HAVE_UNIXOID_EVENT_LOOP if we use select() to wait for events. */
162 #if defined (HAVE_X_WINDOWS) || defined (HAVE_TTY) || defined(HAVE_MSG_SELECT) 210 #if defined (HAVE_X_WINDOWS) || defined (HAVE_TTY) || defined(HAVE_MSG_SELECT)
163 #define HAVE_UNIXOID_EVENT_LOOP 211 #define HAVE_UNIXOID_EVENT_LOOP
164 #endif 212 #endif
165 213
214 #ifndef WIN32_NO_CONFIGURE /* Defined in xemacs.mak or s/windowsnt.h: */
215
166 /* XFree86 has a different prototype for this function */ 216 /* XFree86 has a different prototype for this function */
167 #undef HAVE_XREGISTERIMINSTANTIATECALLBACK 217 #undef HAVE_XREGISTERIMINSTANTIATECALLBACK
168 #undef XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE 218 #undef XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE
169 219
170 #undef THIS_IS_X11R4 220 #undef THIS_IS_X11R4
175 225
176 #undef HAVE_BALLOON_HELP 226 #undef HAVE_BALLOON_HELP
177 227
178 /* Where do we find bitmaps? */ 228 /* Where do we find bitmaps? */
179 #undef BITMAPDIR 229 #undef BITMAPDIR
180
181 /* USER_FULL_NAME returns a string that is the user's full name.
182 It can assume that the variable `pw' points to the password file
183 entry for this user.
184
185 At some sites, the pw_gecos field contains the user's full name.
186 If neither this nor any other field contains the right thing, use
187 pw_name, giving the user's login name, since that is better than
188 nothing. */
189 #define USER_FULL_NAME pw->pw_gecos
190 230
191 /* Define AMPERSAND_FULL_NAME if you use the convention 231 /* Define AMPERSAND_FULL_NAME if you use the convention
192 that & in the full name stands for the login id. */ 232 that & in the full name stands for the login id. */
193 #undef AMPERSAND_FULL_NAME 233 #undef AMPERSAND_FULL_NAME
194 234
215 #undef HAVE_LIBINTL_H 255 #undef HAVE_LIBINTL_H
216 #undef HAVE_X11_XLOCALE_H 256 #undef HAVE_X11_XLOCALE_H
217 #undef STDC_HEADERS 257 #undef STDC_HEADERS
218 #undef TIME_WITH_SYS_TIME 258 #undef TIME_WITH_SYS_TIME
219 #undef WORDS_BIGENDIAN 259 #undef WORDS_BIGENDIAN
220 #undef HAVE_VFORK_H
221 #undef vfork
222 260
223 #undef HAVE_LONG_FILE_NAMES 261 #undef HAVE_LONG_FILE_NAMES
224 262
225 /* Use lock files to detect multiple edits of the same file? */ 263 /* Use lock files to detect multiple edits of the same file? */
226 #undef CLASH_DETECTION 264 #undef CLASH_DETECTION
284 #undef HAVE_GETNAMEINFO 322 #undef HAVE_GETNAMEINFO
285 #undef HAVE_GETPAGESIZE 323 #undef HAVE_GETPAGESIZE
286 #undef HAVE_GETTIMEOFDAY 324 #undef HAVE_GETTIMEOFDAY
287 #undef HAVE_GETWD 325 #undef HAVE_GETWD
288 #undef HAVE_GETCWD 326 #undef HAVE_GETCWD
327 #undef HAVE_LINK
289 #undef HAVE_LOGB 328 #undef HAVE_LOGB
290 #undef HAVE_LRAND48 329 #undef HAVE_LRAND48
291 #undef HAVE_MATHERR 330 #undef HAVE_MATHERR
292 #undef HAVE_MKDIR 331 #undef HAVE_MKDIR
293 #undef HAVE_MKTIME 332 #undef HAVE_MKTIME
294 #undef HAVE_PERROR 333 #undef HAVE_PERROR
295 #undef HAVE_POLL 334 #undef HAVE_POLL
296 #undef HAVE_RANDOM 335 #undef HAVE_RANDOM
336 #undef HAVE_READLINK
297 #undef HAVE_REALPATH 337 #undef HAVE_REALPATH
298 #undef HAVE_RENAME 338 #undef HAVE_RENAME
299 #undef HAVE_RES_INIT 339 #undef HAVE_RES_INIT
300 #undef HAVE_RINT 340 #undef HAVE_RINT
301 #undef HAVE_RMDIR 341 #undef HAVE_RMDIR
308 #undef HAVE_SIGPROCMASK 348 #undef HAVE_SIGPROCMASK
309 #undef HAVE_SIGSETJMP 349 #undef HAVE_SIGSETJMP
310 #undef HAVE_SNPRINTF 350 #undef HAVE_SNPRINTF
311 #undef HAVE_STPCPY 351 #undef HAVE_STPCPY
312 #undef HAVE_STRERROR 352 #undef HAVE_STRERROR
353 #undef HAVE_SYMLINK
313 #undef HAVE_TZSET 354 #undef HAVE_TZSET
314 #undef HAVE_ULIMIT 355 #undef HAVE_ULIMIT
315 #undef HAVE_USLEEP 356 #undef HAVE_USLEEP
316 #undef HAVE_UTIME 357 #undef HAVE_UTIME
317 #undef HAVE_UTIMES 358 #undef HAVE_UTIMES
380 #undef HAVE_GIF 421 #undef HAVE_GIF
381 422
382 /* Compile in support for PNG images */ 423 /* Compile in support for PNG images */
383 #undef HAVE_PNG 424 #undef HAVE_PNG
384 425
426 /* Compile in support for GZIP compression */
427 #undef HAVE_ZLIB
428
385 /* Do you have the Xmu library? 429 /* Do you have the Xmu library?
386 This should always be the case except on losing HP-UX systems. */ 430 This should always be the case except on losing HP-UX systems. */
387 #undef HAVE_XMU 431 #undef HAVE_XMU
388 432
389 /* Compile in support for DBM databases? May require libgdbm or libdbm. */ 433 /* Compile in support for DBM databases? May require libgdbm or libdbm. */
444 /* Make sure that all X... macros are dereferencing the correct type, 488 /* Make sure that all X... macros are dereferencing the correct type,
445 and that all XSET... macros (as much as possible) are setting the 489 and that all XSET... macros (as much as possible) are setting the
446 correct type of structure. Highly recommended for all 490 correct type of structure. Highly recommended for all
447 development work. */ 491 development work. */
448 #undef ERROR_CHECK_TYPECHECK 492 #undef ERROR_CHECK_TYPECHECK
449 #ifdef ERROR_CHECK_TYPECHECK
450 #define type_checking_assert(assertion) assert (assertion)
451 #else
452 #define type_checking_assert(assertion)
453 #endif
454 493
455 /* Make sure valid buffer positions are passed to BUF_* macros. */ 494 /* Make sure valid buffer positions are passed to BUF_* macros. */
456 #undef ERROR_CHECK_CHARBPOS 495 #undef ERROR_CHECK_CHARBPOS
457 #ifdef ERROR_CHECK_CHARBPOS
458 #define charbpos_checking_assert(assertion) assert (assertion)
459 #else
460 #define charbpos_checking_assert(assertion)
461 #endif
462 496
463 /* Attempt to catch bugs related to garbage collection (e.g. not GCPRO'ing). */ 497 /* Attempt to catch bugs related to garbage collection (e.g. not GCPRO'ing). */
464 #undef ERROR_CHECK_GC 498 #undef ERROR_CHECK_GC
465 #ifdef ERROR_CHECK_GC
466 #define gc_checking_assert(assertion) assert (assertion)
467 #else
468 #define gc_checking_assert(assertion)
469 #endif
470 499
471 /* Attempt to catch freeing of a non-malloc()ed block, heap corruption, etc. */ 500 /* Attempt to catch freeing of a non-malloc()ed block, heap corruption, etc. */
472 #undef ERROR_CHECK_MALLOC 501 #undef ERROR_CHECK_MALLOC
473 502
474 /* Minor sanity checking of the bytecode interpreter. Useful for 503 /* Minor sanity checking of the bytecode interpreter. Useful for
494 523
495 /* Define PURIFY if using Purify from Rational Software. 524 /* Define PURIFY if using Purify from Rational Software.
496 It is only intended for use by the developers. */ 525 It is only intended for use by the developers. */
497 #undef PURIFY 526 #undef PURIFY
498 527
499 #if (defined (QUANTIFY) || defined (PURIFY)) && !defined (XLIB_ILLEGAL_ACCESS)
500 #define XLIB_ILLEGAL_ACCESS 1
501 #endif
502
503 /* Define EXTERNAL_WIDGET to compile support for using the editor as a 528 /* Define EXTERNAL_WIDGET to compile support for using the editor as a
504 widget within another program. */ 529 widget within another program. */
505 #undef EXTERNAL_WIDGET 530 #undef EXTERNAL_WIDGET
506 531
507 /* There are some special-case defines for gcc and lcc. */ 532 /* There are some special-case defines for gcc and lcc. */
508 #undef USE_GCC 533 #undef USE_GCC
509 #undef USE_LCC 534 #undef USE_LCC
510
511 /* Define this if you want level 2 internationalization compliance
512 (localized collation and formatting). Generally this should be
513 defined, unless your system doesn't have the strcoll() and
514 setlocale() library routines. This really should be (NOT! -mrb)
515 defined in the appropriate s/ or m/ file. */
516 #undef I18N2
517
518 /* Define this if you want level 3 internationalization compliance
519 (localized messaging). This will cause a small runtime performance
520 penalty, as the strings are read from the message catalog(s).
521 For this you need the gettext() and dgetext() library routines.
522 WARNING, this code is under construction. */
523 #undef I18N3
524 535
525 /* Compile in support for CDE (Common Desktop Environment) drag and drop? 536 /* Compile in support for CDE (Common Desktop Environment) drag and drop?
526 Requires libDtSvc, which typically must be present at runtime. */ 537 Requires libDtSvc, which typically must be present at runtime. */
527 #undef HAVE_CDE 538 #undef HAVE_CDE
528 539
538 /* Define this if you want Mule support (multi-byte character support). 549 /* Define this if you want Mule support (multi-byte character support).
539 There may be some performance penalty, although it should be small 550 There may be some performance penalty, although it should be small
540 if you're working with ASCII files. */ 551 if you're working with ASCII files. */
541 #undef MULE 552 #undef MULE
542 553
543 /* Define this if you want file coding support */ 554 /* Define this if you want EOL detection of files to be on by default
544 #undef FILE_CODING 555 in a non-Mule Unix; otherwise, defaults will be set so that all
556 files are read in as binary. Doesn't apply to Cygwin or MinGW. */
557 #undef HAVE_DEFAULT_EOL_DETECTION
545 558
546 /* Do we want to use X window input methods for use with Mule? (requires X11R5) 559 /* Do we want to use X window input methods for use with Mule? (requires X11R5)
547 If so, use raw Xlib or higher level Motif interface? */ 560 If so, use raw Xlib or higher level Motif interface? */
548 #undef HAVE_XIM 561 #undef HAVE_XIM
549 #undef XIM_XLIB 562 #undef XIM_XLIB
550 #undef XIM_MOTIF 563 #undef XIM_MOTIF
551 #undef USE_XFONTSET
552 564
553 /* Non-XIM input methods for use with Mule. */ 565 /* Non-XIM input methods for use with Mule. */
554 #undef HAVE_CANNA 566 #undef HAVE_CANNA
555 #undef HAVE_WNN 567 #undef HAVE_WNN
556 #undef WNN6 568 #undef WNN6
557
558 /* Enable special GNU Make features in the Makefiles. */
559 #undef USE_GNU_MAKE
560 569
561 /* Debugging development option: Remove inessential but time consuming 570 /* Debugging development option: Remove inessential but time consuming
562 actions from happening during build. This saves a lot of time when 571 actions from happening during build. This saves a lot of time when
563 you're repeatedly compiling-running-crashing. This (1) doesn't 572 you're repeatedly compiling-running-crashing. This (1) doesn't
564 garbage-collect after loading each file during dumping, and (2) 573 garbage-collect after loading each file during dumping, and (2)
565 doesn't automatically rebuild the DOC file. (Remove it by hand to 574 doesn't automatically rebuild the DOC file. (Remove it by hand to
566 get it rebuilt.) 575 get it rebuilt.)
567 */ 576 */
568 #undef QUICK_BUILD 577 #undef QUICK_BUILD
578
579 /* If defined, use unions instead of ints. A few systems (DEC Alpha)
580 seem to require this, probably because something with the int
581 definitions isn't right with 64-bit systems. */
582 #undef USE_UNION_TYPE
583
584 /* Enable special GNU Make features in the Makefiles. */
585 #undef USE_GNU_MAKE
569 586
570 /* Defined by AC_C_CONST in configure.in */ 587 /* Defined by AC_C_CONST in configure.in */
571 #undef const 588 #undef const
572 589
573 /* Allow the source to use standard types. Include these before the 590 /* Allow the source to use standard types. Include these before the
579 #undef off_t 596 #undef off_t
580 #undef uid_t 597 #undef uid_t
581 #undef gid_t 598 #undef gid_t
582 #undef socklen_t 599 #undef socklen_t
583 600
584 /* If defined, use unions instead of ints. A few systems (DEC Alpha) 601 #endif /* WIN32_NO_CONFIGURE */
585 seem to require this, probably because something with the int 602
586 definitions isn't right with 64-bit systems. */ 603
587 #undef USE_UNION_TYPE 604 /* USER_FULL_NAME returns a string that is the user's full name.
605 It can assume that the variable `pw' points to the password file
606 entry for this user.
607
608 At some sites, the pw_gecos field contains the user's full name.
609 If neither this nor any other field contains the right thing, use
610 pw_name, giving the user's login name, since that is better than
611 nothing. */
612 #define USER_FULL_NAME pw->pw_gecos
613
614 #if (defined (QUANTIFY) || defined (PURIFY)) && !defined (XLIB_ILLEGAL_ACCESS)
615 #define XLIB_ILLEGAL_ACCESS 1
616 #endif
588 617
589 /* alloca twiddling. 618 /* alloca twiddling.
590 Because we might be #including alloca.h here, feature test macros 619 Because we might be #including alloca.h here, feature test macros
591 such as _XOPEN_SOURCE must be defined above. */ 620 such as _XOPEN_SOURCE must be defined above. */
621
592 #undef HAVE_ALLOCA_H 622 #undef HAVE_ALLOCA_H
593 #ifndef NOT_C_CODE 623 #ifndef NOT_C_CODE
594 #ifdef __GNUC__ 624 #if defined (__CYGWIN__)
625 /* We get complaints about redefinitions if we just use the __GNUC__
626 definition: stdlib.h also includes alloca.h, which defines it slightly
627 differently */
628 #include <alloca.h>
629 #elif defined (__GNUC__)
595 #define alloca __builtin_alloca 630 #define alloca __builtin_alloca
596 #elif defined __DECC 631 #elif defined (WIN32_NO_CONFIGURE)
632 /* Defines size_t and alloca (). */
633 #include <malloc.h>
634 #elif defined (__DECC)
597 #include <alloca.h> 635 #include <alloca.h>
598 #pragma intrinsic(alloca) 636 #pragma intrinsic(alloca)
599 #elif defined HAVE_ALLOCA_H 637 #elif defined (HAVE_ALLOCA_H)
600 #include <alloca.h> 638 #include <alloca.h>
601 #elif defined(_AIX) 639 #elif defined (_AIX)
602 /* AIX requires this before any "real" code in the translation unit. */ 640 /* AIX requires this before any "real" code in the translation unit. */
603 #pragma alloca 641 #pragma alloca
604 #elif ! defined (alloca) 642 #elif ! defined (alloca)
605 void *alloca (); 643 void *alloca ();
606 #endif 644 #endif
613 #if defined (__cplusplus) && !defined (NOT_C_CODE) 651 #if defined (__cplusplus) && !defined (NOT_C_CODE)
614 extern "C" { 652 extern "C" {
615 #endif 653 #endif
616 654
617 #undef config_opsysfile 655 #undef config_opsysfile
618 #ifdef config_opsysfile 656 #ifdef WIN32_NO_CONFIGURE
657 #include "s/windowsnt.h"
658 #elif defined (config_opsysfile)
619 #include config_opsysfile 659 #include config_opsysfile
620 #endif 660 #endif
621 661
622 /* The configuration script may define `machfile' to be the name of 662 /* The configuration script may define `machfile' to be the name of
623 the m/...h file that describes the machine you are using. 663 the m/...h file that describes the machine you are using.
624 The file name is chosen based on the configuration name. */ 664 The file name is chosen based on the configuration name. */
625 665
626 #undef config_machfile 666 #undef config_machfile
627 #ifdef config_machfile 667 #ifdef WIN32_NO_CONFIGURE
668 #include "m/windowsnt.h"
669 #elif defined (config_machfile)
628 #include config_machfile 670 #include config_machfile
629 #endif 671 #endif
630 672
631 #if defined (__cplusplus) && !defined (NOT_C_CODE) 673 #if defined (__cplusplus) && !defined (NOT_C_CODE)
632 } 674 }
654 #ifndef SIGTYPE 696 #ifndef SIGTYPE
655 #define SIGTYPE RETSIGTYPE 697 #define SIGTYPE RETSIGTYPE
656 #define SIGRETURN return 698 #define SIGRETURN return
657 #endif 699 #endif
658 700
701 #ifndef WIN32_NO_CONFIGURE /* Defined in xemacs.mak or s/windowsnt.h: */
702
659 /* Define DYNODUMP if it is necessary to properly dump on this system. 703 /* Define DYNODUMP if it is necessary to properly dump on this system.
660 Currently this is only Solaris 2.x, for x < 6. */ 704 Currently this is only Solaris 2.x, for x < 6. */
661 #undef DYNODUMP 705 #undef DYNODUMP
662 706
663 /* Compile in support for Sun Sparcworks/WorkShop? */ 707 /* Compile in support for Sun Sparcworks/WorkShop? */
666 /* Sun SparcStations, SGI machines, and HP9000s700s have built-in 710 /* Sun SparcStations, SGI machines, and HP9000s700s have built-in
667 support for playing sound files. (On Suns, the sound support is 711 support for playing sound files. (On Suns, the sound support is
668 usually found in /usr/demo/SOUND - you may need to install the 712 usually found in /usr/demo/SOUND - you may need to install the
669 "SUNWaudmo" package.) */ 713 "SUNWaudmo" package.) */
670 #undef HAVE_NATIVE_SOUND 714 #undef HAVE_NATIVE_SOUND
715
671 /* Native sound may be provided via soundcard.h, in various directories */ 716 /* Native sound may be provided via soundcard.h, in various directories */
672 #undef SOUNDCARD_H_FILE 717 #undef SOUNDCARD_H_FILE
673 718
674 /* Compile in support for NAS (Network Audio System)? 719 /* Compile in support for NAS (Network Audio System)?
675 NAS_NO_ERROR_JUMP means that the NAS libraries don't include some 720 NAS_NO_ERROR_JUMP means that the NAS libraries don't include some
687 #undef TOOLTALK 732 #undef TOOLTALK
688 /* tt_c.h might be in "Tt" or "desktop" subdirectories */ 733 /* tt_c.h might be in "Tt" or "desktop" subdirectories */
689 #undef TT_C_H_FILE 734 #undef TT_C_H_FILE
690 735
691 /* Toolkits used by lwlib for various widgets... */ 736 /* Toolkits used by lwlib for various widgets... */
737
692 #undef LWLIB_USES_MOTIF 738 #undef LWLIB_USES_MOTIF
693 #undef LWLIB_USES_ATHENA 739 #undef LWLIB_USES_ATHENA
694 #undef LWLIB_MENUBARS_LUCID 740 #undef LWLIB_MENUBARS_LUCID
695 #undef LWLIB_MENUBARS_MOTIF 741 #undef LWLIB_MENUBARS_MOTIF
696 #undef LWLIB_SCROLLBARS_LUCID 742 #undef LWLIB_SCROLLBARS_LUCID
710 #undef HAVE_SCROLLBARS 756 #undef HAVE_SCROLLBARS
711 #undef HAVE_DIALOGS 757 #undef HAVE_DIALOGS
712 #undef HAVE_TOOLBARS 758 #undef HAVE_TOOLBARS
713 #undef HAVE_WIDGETS 759 #undef HAVE_WIDGETS
714 760
761 #endif /* WIN32_NO_CONFIGURE */
762
763 #if defined (HAVE_MENUBARS) || defined (HAVE_SCROLLBARS) || defined (HAVE_DIALOGS) || defined (HAVE_TOOLBARS) || defined (HAVE_WIDGETS)
764 #define HAVE_GUI_OBJECTS
765 #endif
766
767 /* For the moment, Athena widgets and dialogs may be very unstable and not
768 working well, but things under Windows work much better. configure by
769 default tries to turn Windows widgets and dialogs on, but the Athena
770 ones off, so let's separate the defines. */
771 #if defined (HAVE_WIDGETS) && (defined (LWLIB_WIDGETS_MOTIF) || defined (LWLIB_WIDGETS_ATHENA))
772 #define HAVE_X_WIDGETS
773 #endif
774
775 #if defined (HAVE_DIALOGS) && (defined (LWLIB_DIALOGS_MOTIF) || defined (LWLIB_DIALOGS_ATHENA) || defined (LWLIB_DIALOGS_ATHENA3D))
776 #define HAVE_X_DIALOGS
777 #endif
715 778
716 #if defined (HAVE_MENUBARS) || defined (HAVE_DIALOGS) 779 #if defined (HAVE_MENUBARS) || defined (HAVE_DIALOGS)
717 #define HAVE_POPUPS 780 #define HAVE_POPUPS
718 #endif 781 #endif
719 782
732 I don't know whether this has been fixed as of 4.1.2 or 4.1.3. */ 795 I don't know whether this has been fixed as of 4.1.2 or 4.1.3. */
733 #if defined (sparc) && !defined (USG) 796 #if defined (sparc) && !defined (USG)
734 #define OBJECTS_SYSTEM sunOS-fix.o strcmp.o strcpy.o 797 #define OBJECTS_SYSTEM sunOS-fix.o strcmp.o strcpy.o
735 #endif 798 #endif
736 799
737 /* If you turn this flag on, it forces encapsulation in all
738 circumstances; this can be used to make sure things compile OK
739 on various systems. */
740 #undef DEBUG_ENCAPSULATION
741
742 /* basic system calls */
743
744 #if defined (INTERRUPTIBLE_IO) || defined (DEBUG_ENCAPSULATION)
745 # define ENCAPSULATE_READ
746 # define ENCAPSULATE_WRITE
747 #endif
748 #if defined (INTERRUPTIBLE_OPEN) || defined (MULE) || defined (DEBUG_ENCAPSULATION)
749 # define ENCAPSULATE_OPEN
750 #endif
751 #if defined (INTERRUPTIBLE_CLOSE) || defined (DEBUG_ENCAPSULATION)
752 # define ENCAPSULATE_CLOSE
753 #endif
754
755 /* stdio calls */
756
757 #if defined (INTERRUPTIBLE_IO) || defined (DEBUG_ENCAPSULATION)
758 # define ENCAPSULATE_FREAD
759 # define ENCAPSULATE_FWRITE
760 #endif
761 #if defined (INTERRUPTIBLE_OPEN) || defined (MULE) || defined (DEBUG_ENCAPSULATION)
762 # define ENCAPSULATE_FOPEN
763 #endif
764 #if defined (INTERRUPTIBLE_CLOSE) || defined (DEBUG_ENCAPSULATION)
765 # define ENCAPSULATE_FCLOSE
766 #endif
767
768 /* directory calls */
769
770 #if defined (MULE) || defined (DEBUG_ENCAPSULATION)
771 # define ENCAPSULATE_CHDIR
772 # define ENCAPSULATE_MKDIR
773 # define ENCAPSULATE_OPENDIR
774 # define ENCAPSULATE_CLOSEDIR
775 # define ENCAPSULATE_READDIR
776 # define ENCAPSULATE_RMDIR
777
778 /* file-information calls */
779
780 #ifdef HAVE_EACCESS
781 # define ENCAPSULATE_EACCESS
782 #endif
783 # define ENCAPSULATE_ACCESS
784 # define ENCAPSULATE_LSTAT
785 # define ENCAPSULATE_READLINK
786 # define ENCAPSULATE_STAT
787
788 /* file-manipulation calls */
789
790 # define ENCAPSULATE_CHMOD
791 # define ENCAPSULATE_CREAT
792 # define ENCAPSULATE_LINK
793 # define ENCAPSULATE_RENAME
794 # define ENCAPSULATE_SYMLINK
795 # define ENCAPSULATE_UNLINK
796 # define ENCAPSULATE_EXECVP
797 #endif /* defined (MULE) || defined (DEBUG_ENCAPSULATION) */
798
799 #ifdef HAVE_CANNA 800 #ifdef HAVE_CANNA
800 # define CANNA2 801 # define CANNA2
801 # define CANNA_MULE 802 # define CANNA_MULE
802 # define CANNA_PURESIZE 0 803 # define CANNA_PURESIZE 0
803 #else /* not CANNA */ 804 #else /* not CANNA */
810 #define connect Rconnect 811 #define connect Rconnect
811 #define getsockname Rgetsockname 812 #define getsockname Rgetsockname
812 #define listen Rlisten 813 #define listen Rlisten
813 #endif /* HAVE_SOCKS && !DO_NOT_SOCKSIFY */ 814 #endif /* HAVE_SOCKS && !DO_NOT_SOCKSIFY */
814 815
816 #ifndef WIN32_NO_CONFIGURE /* Defined in xemacs.mak or s/windowsnt.h: */
817
815 #undef SIZEOF_SHORT 818 #undef SIZEOF_SHORT
816 #undef SIZEOF_INT 819 #undef SIZEOF_INT
817 #undef SIZEOF_LONG 820 #undef SIZEOF_LONG
818 #undef SIZEOF_LONG_LONG 821 #undef SIZEOF_LONG_LONG
819 #undef SIZEOF_VOID_P 822 #undef SIZEOF_VOID_P
820 823
824 /* Does the keyword `inline' exist? */
825 #undef inline
826
827 #endif /* WIN32_NO_CONFIGURE */
828
821 #ifndef BITS_PER_CHAR 829 #ifndef BITS_PER_CHAR
822 #define BITS_PER_CHAR 8 830 #define BITS_PER_CHAR 8
823 #endif 831 #endif
824 #define SHORTBITS (SIZEOF_SHORT * BITS_PER_CHAR) 832 #define SHORTBITS (SIZEOF_SHORT * BITS_PER_CHAR)
825 #define INTBITS (SIZEOF_INT * BITS_PER_CHAR) 833 #define INTBITS (SIZEOF_INT * BITS_PER_CHAR)
828 #define VOID_P_BITS (SIZEOF_VOID_P * BITS_PER_CHAR) 836 #define VOID_P_BITS (SIZEOF_VOID_P * BITS_PER_CHAR)
829 837
830 /* Use `INLINE_HEADER' to define inline functions in .h files. 838 /* Use `INLINE_HEADER' to define inline functions in .h files.
831 Use `inline static' to define inline functions in .c files. 839 Use `inline static' to define inline functions in .c files.
832 See the Internals manual for examples and more information. */ 840 See the Internals manual for examples and more information. */
833
834 /* Does the keyword `inline' exist? */
835 #undef inline
836 841
837 #if defined (__cplusplus) || ! defined (__GNUC__) 842 #if defined (__cplusplus) || ! defined (__GNUC__)
838 # define INLINE_HEADER inline static 843 # define INLINE_HEADER inline static
839 #elif defined (DONT_EXTERN_INLINE_HEADER_FUNCTIONS) 844 #elif defined (DONT_EXTERN_INLINE_HEADER_FUNCTIONS)
840 # define INLINE_HEADER inline 845 # define INLINE_HEADER inline
841 #else 846 #else
842 # define INLINE_HEADER inline extern 847 # define INLINE_HEADER inline extern
843 #endif 848 #endif
849
850 /* Use DECLARE_INLINE_HEADER() to declare an inline function in a header
851 file, like this: (This avoids the need to write a prototype directly
852 followed by the function header itself.)
853
854 DECLARE_INLINE_HEADER (int foo (int x))
855 {
856 return x * x;
857 }
858
859 */
860
861 #define DECLARE_INLINE_HEADER(header) \
862 INLINE_HEADER header ; INLINE_HEADER header
844 863
845 #ifndef NOT_C_CODE /* Actually means C or C++ */ 864 #ifndef NOT_C_CODE /* Actually means C or C++ */
846 # if defined (__cplusplus) 865 # if defined (__cplusplus)
847 /* Avoid C++ keywords used as ordinary C identifiers */ 866 /* Avoid C++ keywords used as ordinary C identifiers */
848 # define class c_class 867 # define class c_class
875 #else 894 #else
876 # define SETJMP(x) setjmp (x) 895 # define SETJMP(x) setjmp (x)
877 # define LONGJMP(x, y) longjmp (x, y) 896 # define LONGJMP(x, y) longjmp (x, y)
878 # define JMP_BUF jmp_buf 897 # define JMP_BUF jmp_buf
879 #endif 898 #endif
899
900 #ifndef WIN32_NO_CONFIGURE /* Defined in xemacs.mak or s/windowsnt.h: */
880 901
881 /* movemail options */ 902 /* movemail options */
882 /* Should movemail use POP3 for mail access? */ 903 /* Should movemail use POP3 for mail access? */
883 #undef MAIL_USE_POP 904 #undef MAIL_USE_POP
884 /* Should movemail use kerberos for POP authentication? */ 905 /* Should movemail use kerberos for POP authentication? */
907 #undef INFODIR_USER_DEFINED 928 #undef INFODIR_USER_DEFINED
908 #undef INFOPATH_USER_DEFINED 929 #undef INFOPATH_USER_DEFINED
909 930
910 #undef PDUMP 931 #undef PDUMP
911 932
933 #endif /* WIN32_NO_CONFIGURE */
934
935 #if defined (WIN32_NATIVE) || defined (CYGWIN)
936 # define HAVE_WIN32_CODING_SYSTEMS
937 #endif
938
939 /* Move these down here so that the s/m files (esp. windowsnt.h) can
940 set them. */
941 #ifdef ERROR_CHECK_TYPECHECK
942 #define type_checking_assert(assertion) assert (assertion)
943 #else
944 #define type_checking_assert(assertion)
945 #endif
946 #ifdef ERROR_CHECK_CHARBPOS
947 #define charbpos_checking_assert(assertion) assert (assertion)
948 #else
949 #define charbpos_checking_assert(assertion)
950 #endif
951 #ifdef ERROR_CHECK_GC
952 #define gc_checking_assert(assertion) assert (assertion)
953 #else
954 #define gc_checking_assert(assertion)
955 #endif
956
912 #endif /* _SRC_CONFIG_H_ */ 957 #endif /* _SRC_CONFIG_H_ */