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