(lisp2): Add minibuffer.elc.
[emacs.git] / src / s / aix3-1.h
blobbcc4b10dc7a867f11da6660c6af6e8d020105eb0
1 /* Definitions file for GNU Emacs running on IBM AIX version 3.1
2 Copyright (C) 1985, 1986, 1990, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5 This file is part of GNU Emacs.
7 GNU Emacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
26 #define USG /* System III, System V, etc */
27 #define USG5
29 /* Specify IBM AIX version of system */
31 #ifndef AIX
32 #define AIX
33 #endif
35 /* turn off c prototypes */
36 #ifndef _NO_PROTO
37 #define _NO_PROTO
38 #endif
40 /* This symbol should be defined on AIX Version 3 ??????? */
41 #ifndef _AIX
42 #define _AIX
43 #endif
45 /* Specify "_BSD" to invoke Berkeley compatibility in header files */
46 /*#ifndef _BSD
47 #define _BSD
48 #endif
51 /* SYSTEM_TYPE should indicate the kind of system you are using.
52 It sets the Lisp variable system-type. */
54 #define SYSTEM_TYPE "aix"
57 /* nomultiplejobs should be defined if your system's shell
58 does not have "job control" (the ability to stop a program,
59 run some other program, then continue the first one). */
61 /* #define NOMULTIPLEJOBS */
63 /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
65 /* #define INTERRUPT_INPUT */
67 /* In AIX, you allocate a pty by opening /dev/ptc to get the master side.
68 To get the name of the slave side, you just ttyname() the master side. */
70 #define PTY_ITERATION for (c = 0; !c ; c++)
71 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
72 #define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
75 * Define HAVE_TERMIO if the system provides sysV-style ioctls
76 * for terminal control.
79 #define HAVE_TERMIOS
82 * Define HAVE_PTYS if the system supports pty devices.
85 #define HAVE_PTYS
87 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
89 #define HAVE_SOCKETS
92 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
93 * The 4.2 opendir, etc., library functions.
96 /* #define NONSYSTEM_DIR_LIBRARY */
99 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
100 * library functions. Almost, but not quite the same as
101 * the 4.2 functions
104 #define SYSV_SYSTEM_DIR
106 /* Define this symbol if your system has the functions bcopy, etc. */
108 #define BSTRING
110 /* subprocesses should be defined if you want to
111 have code for asynchronous subprocesses
112 (as used in M-x compile and M-x shell).
113 This is supposed to work now on system V release 2. */
115 #define subprocesses
117 /* If your system uses COFF (Common Object File Format) then define the
118 preprocessor symbol "COFF". */
120 /* #define COFF */
122 /* define MAIL_USE_FLOCK if the mailer uses flock
123 to interlock access to /usr/spool/mail/$USER.
124 The alternative is that a lock file named
125 /usr/spool/mail/$USER.lock. */
127 /* #define MAIL_USE_FLOCK */
129 /* Define CLASH_DETECTION if you want lock files to be written
130 so that Emacs can tell instantly when you try to modify
131 a file that someone else has modified in his Emacs. */
133 /* #define CLASH_DETECTION */
135 /* The file containing the kernel's symbol table is called /unix. */
137 #define KERNEL_FILE "/unix"
139 /* The symbol in the kernel where the load average is found
140 is named avenrun. */
142 #define LDAV_SYMBOL "avenrun"
144 /* Special itemss needed to make Emacs run on this system. */
147 * Make the sigsetmask function go away. Don't know what the
148 * ramifications of this are, but doesn't seem possible to
149 * emulate it properly anyway at this point.
152 #define sigsetmask(mask) /* Null expansion */
154 /* setjmp and longjmp can safely replace _setjmp and _longjmp,
155 but they will run slower. */
157 #define _setjmp setjmp
158 #define _longjmp longjmp
160 /* On USG systems these have different names */
162 #define index strchr
163 #define rindex strrchr
165 /* USG systems tend to put everything declared static
166 into the initialized data area, which becomes pure after dumping Emacs.
167 Foil this. Emacs carefully avoids static vars inside functions. */
169 #undef static
171 /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
173 /* #define ADDR_CORRECT(x) (x) */
175 #ifndef __GNUC__
176 #define LINKER cc
177 #endif
179 /* Prevent -lg from being used for debugging. Not needed. */
181 #define LIBS_DEBUG
183 /* No need to specify -lc when linking. */
185 #define LIB_STANDARD
187 /* Use terminfo instead of termcap. */
189 #define TERMINFO
191 /* The following definition seems to be needed in AIX version 3.1.6.8.
192 It may not have been needed in certain earlier versions. */
193 #define HAVE_TCATTR
195 #define SYSTEM_MALLOC
197 /* Include unistd.h, even though we don't define POSIX. */
198 #define NEED_UNISTD_H
200 /* AIX doesn't define this. */
201 #define unix 1
203 /* AIX 3.1 has the HFT features. */
204 #define AIXHFT
206 /* For unexaix.c. */
207 #define ALIGN_DATA_RELOC
209 /* arch-tag: bfff798c-542d-4290-91f2-267394c85b7b
210 (do not change this comment) */