Merge from emacs--rel--22
[emacs.git] / admin / CPP-DEFINES
blob621f65a1134de4e1e58d7409966e9870f3ead84c
1 Here are some of the cpp macros used, together with some short explanation
2 of their use.  Feel free to add more macros and more categories.
4 ** Distinguishing OSes **
6 MAC_OS          Compiling for the `mac' window-system.
7 MAC_OS8         Compiling for Mac OS Classic (v8 or v9). No longer supported, all code using it can be removed.
8 MAC_OSX         Compiling for Mac OS X.  Not bare Darwin.
9 CYGWIN          Compiling the Cygwin port.
10 __CYGWIN__      Ditto
11 MSDOS           Compiling the MS-DOS port.
12 __MSDOS__       Ditto.
13 __DJGPP__       Major version number of the DJGPP library for the DOS port.
14 __DJGPP_MINOR__ Minor version number of the DJGPP library.
15 __GO32__        Compiling the DOS port with DJGPP v1.x (obsolete).
16 DOS_NT          Compiling for either the MS-DOS or native MS-Windows port.
17 WINDOWSNT       Compiling the native MS-Windows (W32) port.
18 __MINGW32__     Compiling the W32 port with the MinGW port of GCC.
19 _MSC_VER        Compiling the W32 port with the Microsoft C compiler.
20 IRIX6_5         Compiling on Irix-6.5
22 ** Distinguishing GUIs **
24 HAVE_NTGUI      Use the native W32 GUI for windows, frames, menus&scrollbars.
25 HAVE_CARBON     Compile support for the Carbon GUI.  Requires MAC_OS?
26 HAVE_X11        Compile support for the X11 GUI.
27 HAVE_X_WINDOWS  Compile support for X Window system
28 X11             ??  Makefile.in suggests it's equivalent to HAVE_X11
29 USE_LUCID       Use the Lucid toolkit for menus&scrollbars.  Requires HAVE_X11.
30 USE_MOTIF       Use the Motif toolkit for menus&scrollbars.  Requires HAVE_X11.
31 USE_GTK         Use the Gtk   toolkit for menus&scrollbars.  Requires HAVE_X11.
33 ** Frame types **
35 FRAME_TERMCAP_P A tty (character terminal) frame.
36 FRAME_X_P       A frame on X Window system.
37 FRAME_MSDOS_P   An MS-DOS frame (used only by the DOS port).
38 FRAME_MAC_P     A Mac frame.
39 FRAME_W32_P     A frame using native MS-Windows GUI.
40 FRAME_WINDOW_P  A GUI frame (like X, w32, etc.)
42 ** Compile-time options **
43 REL_ALLOC       Compile in the relocatable memory allocator ralloc.c.
44 SYSTEM_MALLOC   Use the system library's malloc.
46 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
48 ** Temporarily put defines from removed files here, check if these macros need to be documented or removed because they are not used anymore.  ** 
50 ADDR_CORRECT
51 ADJUST_TEXTBASE
52 ADJUST_TEXT_SCNHDR_SIZE
53 A_TEXT_OFFSET
54 A_TEXT_SEEK
55 BAUD_CONVERT
56 BROKEN_FIONREAD
57 BROKEN_SIGIO
58 BROKEN_TIOCGETC
59 BROKEN_TIOCGWINSZ
60 BSD4_2
61 BSD4_3
62 BSD4_4
63 BSD_PGRPS
64 BSD_SYSTEM
65 BSTRING
66 CANNOT_DUMP
67 CLASH_DETECTION
68 COFF
69 COFF_BSD_SYMBOLS
70 CRT0_DUMMIES
71 C_DEBUG_SWITCH
72 C_OPTIMIZE_SWITCH
73 C_SWITCH_MACHINE
74 C_SWITCH_SYSTEM
75 DATA_END
76 DATA_SECTION_ALIGNMENT
77 DATA_SEG_BITS
78 DATA_START
79 DEBUG
80 DECLARE_GETPWUID_WITH_UID_T
81 DEFAULT_ENTRY_ADDRESS
82 DOT_GLOBAL_START
83 DUMMIES
84 ELF
85 EXEC_PAGESIZE
86 EXPLICIT_SIGN_EXTEND
87 FIRST_PTY_LETTER
88 FSCALE
89 GC_MARK_STACK
90 GC_SETJMP_WORKS
91 GETPGRP_NO_ARG
92 GNU_MALLOC
93 HAVE_ALLOCA
94 HAVE_CLOSEDIR
95 HAVE_CONFIG_H
96 HAVE_CRTN
97 HAVE_GETTIMEOFDAY
98 HAVE_INET_SOCKETS
99 HAVE_LIBDNET
100 HAVE_LIBINTL
101 HAVE_LIBRESOLV
102 HAVE_PTYS
103 HAVE_SELECT
104 HAVE_SOCKETS
105 HAVE_SYSVIPC
106 HAVE_SYSV_SIGPAUSE
107 HAVE_SYS_WAIT_H
108 HAVE_TCATTR
109 HAVE_TERMIO
110 HAVE_TERMIOS
111 HAVE_TEXT_START
112 HAVE_UNION_WAIT
113 HAVE_UNISTD_H
114 HAVE_UNIX_DOMAIN
115 HAVE_UTIMES
116 HAVE_WAIT_HEADER
117 HAVE_X11R6
118 HAVE_XSCREENNUMBEROFSCREEN
119 HAVE_X_WINDOWS
120 INHIBIT_X11R6_XIM
121 INTEL386
122 INTERRUPT_INPUT
123 IRIS
124 IRIS_4D
125 KERNEL_FILE
126 LDAV_SYMBOL
127 LD_SWITCH_MACHINE
128 LD_SWITCH_SYSTEM
129 LD_SWITCH_SYSTEM_TEMACS
130 LIBS_DEBUG
131 LIBS_MACHINE
132 LIBS_SYSTEM
133 LIBS_TERMCAP
134 LIBX11_SYSTEM
135 LIBXMU
136 LIB_GCC
137 LIB_MOTIF
138 LIB_STANDARD
139 LIB_X11_LIB
140 LINKER
141 LOAD_AVE_CVT
142 LOAD_AVE_TYPE
143 MAIL_USE_FLOCK
144 MKDIR_PROTOTYPE
145 MOTIF
146 NARROWPROTO
147 NEED_ERRNO
148 NEED_PTEM_H
149 NEED_SIOCTL
150 NLIST_STRUCT
151 NOMULTIPLEJOBS
152 NONSYSTEM_DIR_LIBRARY
153 NOT_C_CODE
154 NO_ARG_ARRAY
155 NO_REMAP
156 NO_SIOCTL_H
157 NO_SOCK_SIGIO
158 NO_TERMIO
159 NO_UNION_TYPE
160 NSIG
161 NSIG_MINIMUM
162 OBJECTS_MACHINE
163 ORDINARY_LINK
164 O_NDELAY
165 PENDING_OUTPUT_COUNT
166 PERROR
167 PNTR_COMPARISON_TYPE
168 POSIX_SIGNALS
169 PREFER_VSUSP
170 PTY_ITERATION
171 PTY_NAME_SPRINTF
172 PTY_OPEN
173 PTY_TTY_NAME_SPRINTF
174 PURESIZE
175 READ
176 REL_ALLOC
177 RUN_TIME_REMAP
178 SECTION_ALIGNMENT
179 SEEK
180 SEGMENT_MASK
181 SEGSIZ
182 SETUP_SLAVE_PTY
183 SIGMASKTYPE
184 SIGNALS_VIA_CHARACTERS
185 SIGN_EXTEND_CHAR
186 SIGTYPE
187 START_FILES
188 SVR4
189 SYSTEM_MALLOC
190 SYSTEM_TYPE
191 SYSV_PTYS
192 SYSV_SYSTEM_DIR
193 S_IEXEC
194 S_IFDIR
195 S_IFLNK
196 S_IFMT
197 S_IREAD
198 S_IWRITE
199 TERMCAP
200 TERMINFO
201 TEXT_END
202 TEXT_START
203 THIS_IS_MAKEFILE
204 ULIMIT_BREAK_VALUE
205 UNEXEC
206 USE_MMAP_FOR_BUFFERS
208 USG5
209 USG5_3
210 USG5_4
211 USG_JOBCTRL
212 USG_SHARED_LIBRARIES
213 VIRT_ADDR_VARIES
214 WORDS_BIG_ENDIAN
215 WORD_MACHINE
216 XINT
217 XSET
218 XUINT
219 X_DEFAULT_FONT
220 _ABIN32
221 _MIPS_SZLONG
222 _POSIX_SOURCE
223 _longjmp
224 _setjmp
225 alloca
226 data_start
227 drem
228 emacs
229 entry
230 etext
231 fatal
232 fchmod
233 getpgrp
234 hp9000s800
235 index
236 jmp_buf
237 longjmp
238 m68000
239 m68k
240 magic
241 mc68000
242 mips
244 subprocesses
246 text_start
248 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250