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  Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING.  If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA.  */
21
22
23/*
24 *	Define symbols to identify the version of Unix this is.
25 *	Define all the symbols that apply correctly.
26 */
27
28#define USG				/* System III, System V, etc */
29#define USG5
30
31/*      Specify IBM AIX version of system */
32
33#ifndef AIX
34#define AIX
35#endif
36
37/*      turn off c prototypes */
38#ifndef _NO_PROTO
39#define _NO_PROTO
40#endif
41
42/*      This symbol should be defined on AIX Version 3  ??????? */
43#ifndef _AIX
44#define _AIX
45#endif
46
47/*      Specify "_BSD" to invoke Berkeley compatibility in header files */
48/*#ifndef _BSD
49#define _BSD
50#endif
51*/
52
53/* SYSTEM_TYPE should indicate the kind of system you are using.
54 It sets the Lisp variable system-type.  */
55
56#define SYSTEM_TYPE "aix"
57
58
59/* nomultiplejobs should be defined if your system's shell
60 does not have "job control" (the ability to stop a program,
61 run some other program, then continue the first one).  */
62
63/* #define NOMULTIPLEJOBS */
64
65/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
66
67/* #define INTERRUPT_INPUT */
68
69/* In AIX, you allocate a pty by opening /dev/ptc to get the master side.
70   To get the name of the slave side, you just ttyname() the master side.  */
71
72#define PTY_ITERATION for (c = 0; !c ; c++)
73#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
74#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
75
76/*
77 *	Define HAVE_TERMIO if the system provides sysV-style ioctls
78 *	for terminal control.
79 */
80
81#define HAVE_TERMIOS
82
83/*
84 *	Define HAVE_PTYS if the system supports pty devices.
85 */
86
87#define HAVE_PTYS
88
89/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
90
91#define HAVE_SOCKETS
92
93/*
94 *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
95 *      The 4.2 opendir, etc., library functions.
96 */
97
98/* #define NONSYSTEM_DIR_LIBRARY */
99
100/*
101 * 	Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
102 *	library functions.  Almost, but not quite the same as
103 *	the 4.2 functions
104 */
105
106#define SYSV_SYSTEM_DIR
107
108/* Define this symbol if your system has the functions bcopy, etc. */
109
110#define BSTRING
111
112/* subprocesses should be defined if you want to
113 have code for asynchronous subprocesses
114 (as used in M-x compile and M-x shell).
115 This is supposed to work now on system V release 2.  */
116
117#define subprocesses
118
119/* If your system uses COFF (Common Object File Format) then define the
120   preprocessor symbol "COFF". */
121
122/* #define COFF */
123
124/* define MAIL_USE_FLOCK if the mailer uses flock
125   to interlock access to /usr/spool/mail/$USER.
126   The alternative is that a lock file named
127   /usr/spool/mail/$USER.lock.  */
128
129/* #define MAIL_USE_FLOCK */
130
131/* Define CLASH_DETECTION if you want lock files to be written
132   so that Emacs can tell instantly when you try to modify
133   a file that someone else has modified in his Emacs.  */
134
135/* #define CLASH_DETECTION */
136
137/* Define SHORTNAMES if the C compiler can distinguish only
138   short names.  It means that the stuff in ../shortnames
139   must be run to convert the long names to short ones.  */
140
141/* #define SHORTNAMES */
142
143/* The file containing the kernel's symbol table is called /unix.  */
144
145#define KERNEL_FILE "/unix"
146
147/* The symbol in the kernel where the load average is found
148   is named avenrun.  */
149
150#define LDAV_SYMBOL "avenrun"
151
152/* Special itemss needed to make Emacs run on this system.  */
153
154/*
155 *	Make the sigsetmask function go away.  Don't know what the
156 *	ramifications of this are, but doesn't seem possible to
157 *	emulate it properly anyway at this point.
158 */
159
160#define sigsetmask(mask)	/* Null expansion */
161
162/* setjmp and longjmp can safely replace _setjmp and _longjmp,
163   but they will run slower.  */
164
165#define _setjmp setjmp
166#define _longjmp longjmp
167
168/* On USG systems these have different names */
169
170#define index strchr
171#define rindex strrchr
172
173/* USG systems tend to put everything declared static
174   into the initialized data area, which becomes pure after dumping Emacs.
175   Foil this.  Emacs carefully avoids static vars inside functions.  */
176
177#undef static
178
179/* Compiler bug bites on many systems when default ADDR_CORRECT is used.  */
180
181/* #define ADDR_CORRECT(x) (x) */
182
183#ifndef __GNUC__
184#define LINKER cc
185#endif
186
187/* Prevent -lg from being used for debugging.  Not needed.  */
188
189#define LIBS_DEBUG
190
191/* No need to specify -lc when linking.  */
192
193#define LIB_STANDARD
194
195/* Use terminfo instead of termcap.  */
196
197#define TERMINFO
198
199/* The following definition seems to be needed in AIX version 3.1.6.8.
200   It may not have been needed in certain earlier versions.  */
201#define HAVE_TCATTR
202
203#define SYSTEM_MALLOC
204
205/* Include unistd.h, even though we don't define POSIX.  */
206#define NEED_UNISTD_H
207
208/* AIX doesn't define this.  */
209#define unix 1
210
211/* AIX 3.1 has the HFT features.  */
212#define AIXHFT
213
214/* For unexaix.c. */
215#define ALIGN_DATA_RELOC
216
217/* arch-tag: bfff798c-542d-4290-91f2-267394c85b7b
218   (do not change this comment) */
219