annotate src/s/aix4-2.h @ 108502:9914f26982b7

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Tue, 11 May 2010 22:45:13 +0000
parents b9b3b94979ee
children f8e62c2bf3e9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
96303
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
1 /*
108227
135e34f90ef1 Move C_SWITCH_MACHINE, C_SWITCH_SYSTEM from cpp to autoconf.
Glenn Morris <rgm@gnu.org>
parents: 108205
diff changeset
2 Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
135e34f90ef1 Move C_SWITCH_MACHINE, C_SWITCH_SYSTEM from cpp to autoconf.
Glenn Morris <rgm@gnu.org>
parents: 108205
diff changeset
3 2010 Free Software Foundation, Inc.
96303
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
4
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
5 This file is part of GNU Emacs.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
6
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
7 GNU Emacs is free software: you can redistribute it and/or modify
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
8 it under the terms of the GNU General Public License as published by
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
9 the Free Software Foundation, either version 3 of the License, or
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
10 (at your option) any later version.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
11
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
15 GNU General Public License for more details.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
16
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
17 You should have received a copy of the GNU General Public License
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
19
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
20 /*
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
21 * Define symbols to identify the version of Unix this is.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
22 * Define all the symbols that apply correctly.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
23 */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
24
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
25 #define USG /* System III, System V, etc */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
26 #define USG5
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
27
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
28 /* This symbol should be defined on AIX Version 3 ??????? */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
29 #ifndef _AIX
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
30 #define _AIX
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
31 #endif
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
32
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
33 /* SYSTEM_TYPE should indicate the kind of system you are using.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
34 It sets the Lisp variable system-type. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
35
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
36 #define SYSTEM_TYPE "aix"
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
37
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
38 /* In AIX, you allocate a pty by opening /dev/ptc to get the master side.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
39 To get the name of the slave side, you just ttyname() the master side. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
40
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
41 #define PTY_ITERATION for (c = 0; !c ; c++)
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
42 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
43 #define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
44
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
45 /*
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
46 * Define HAVE_TERMIO if the system provides sysV-style ioctls
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
47 * for terminal control.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
48 */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
49
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
50 #define HAVE_TERMIOS
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
51
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
52 /*
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
53 * Define HAVE_PTYS if the system supports pty devices.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
54 */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
55
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
56 #define HAVE_PTYS
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
57
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
58 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
59
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
60 #define HAVE_SOCKETS
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
61
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
62
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
63 /*
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
64 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
65 * library functions. Almost, but not quite the same as
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
66 * the 4.2 functions
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
67 */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
68
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
69 #define SYSV_SYSTEM_DIR
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
70
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
71 /* Define this symbol if your system has the functions bcopy, etc. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
72
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
73 #define BSTRING
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
74
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
75 /* The file containing the kernel's symbol table is called /unix. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
76
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
77 #define KERNEL_FILE "/unix"
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
78
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
79 /* The symbol in the kernel where the load average is found
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
80 is named avenrun. */
22824
a8482d4262a4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81
96303
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
82 #define LDAV_SYMBOL "avenrun"
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
83
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
84 /* Special itemss needed to make Emacs run on this system. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
85
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
86 #ifndef __GNUC__
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
87 #define LINKER cc
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
88 #endif
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
89
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
90 /* The following definition seems to be needed in AIX version 3.1.6.8.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
91 It may not have been needed in certain earlier versions. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
92 #define HAVE_TCATTR
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
93
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
94 /* AIX doesn't define this. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
95 #define unix 1
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
96
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
97 /* string.h defines rindex as a macro, at least with native cc, so we
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
98 lose declaring char * rindex without this.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
99 It is just a guess which versions of AIX need this definition. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
100 #undef HAVE_STRING_H
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
101
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
102 /* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
103 #define SIGNALS_VIA_CHARACTERS
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
104 #define CLASH_DETECTION
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
105
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
106 /* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
107 #undef sigmask
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
108
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
109 #ifndef HAVE_LIBXMU
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
110 /* Unfortunately without libXmu we cannot support EditRes. */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
111 #define NO_EDITRES
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 74271
diff changeset
112 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44601
diff changeset
113
65657
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
114 /* On AIX Emacs uses the gmalloc.c malloc implementation. But given
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
115 the way this system works, libc functions that return malloced
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
116 memory use the libc malloc implementation. Calling xfree or
108133
d5c67777ae39 Move MOTIF_LIBW to autoconf.
Glenn Morris <rgm@gnu.org>
parents: 107575
diff changeset
117 xrealloc on the results of such functions results in a crash.
65657
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
118
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
119 One solution for this could be to define SYSTEM_MALLOC here, but
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
120 that does not currently work on this system.
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
121
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
122 It is possible to completely override the malloc implementation on
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
123 AIX, but that involves putting the malloc functions in a shared
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
124 library and setting the MALLOCTYPE environment variable to point to
108148
1c3ecdb885b5 Move LIBXMU from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents: 108133
diff changeset
125 that shared library.
1c3ecdb885b5 Move LIBXMU from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents: 108133
diff changeset
126
65657
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
127 Emacs currently calls xrealloc on the results of get_current_dir name,
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
128 to avoid a crash just use the Emacs implementation for that function.
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
129 */
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
130 #define BROKEN_GET_CURRENT_DIR_NAME 1
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
131
107439
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 106815
diff changeset
132 #define UNEXEC unexaix.o
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 106815
diff changeset
133
107452
f18ffe3db4b2 * m/ibmrs6000.h (ORDINARY_LINK): Move definition ...
Dan Nicolaescu <dann@ics.uci.edu>
parents: 107439
diff changeset
134 #define ORDINARY_LINK
f18ffe3db4b2 * m/ibmrs6000.h (ORDINARY_LINK): Move definition ...
Dan Nicolaescu <dann@ics.uci.edu>
parents: 107439
diff changeset
135
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44601
diff changeset
136 /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44601
diff changeset
137 (do not change this comment) */