Mercurial > emacs
annotate src/s/dgux.h @ 9947:84efab2ce30b
(GC_INTEGERP, etc): New type-test macros for use during GC.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 15 Nov 1994 23:38:26 +0000 |
parents | 191acacfa1ec |
children | 6a4d66df8a31 |
rev | line source |
---|---|
457 | 1 /* Definitions file for GNU Emacs running on Data General's DG/UX |
7236
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
2 version 4.32 upto and including 5.4.1. |
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
3 Copyright (C) 1994 Free Software Foundation, Inc. |
457 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
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 | |
3699 | 9 the Free Software Foundation; either version 2, or (at your option) |
457 | 10 any later version. |
11 | |
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. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with GNU Emacs; see the file COPYING. If not, write to | |
19 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |
20 | |
21 /* | |
22 * Define symbols to identify the version of Unix this is. | |
23 * Define all the symbols that apply correctly. | |
24 */ | |
25 | |
26 /* #define UNIPLUS */ | |
27 /* #define USG5 */ | |
28 /* #define USG */ | |
29 /* #define HPUX */ | |
30 /* #define UMAX */ | |
31 /* #define BSD4_1 */ | |
32 #define BSD4_2 | |
33 #define BSD4_3 | |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
34 #define BSD4_4 |
457 | 35 #define BSD |
36 | |
37 /* SYSTEM_TYPE should indicate the kind of system you are using. | |
38 It sets the Lisp variable system-type. */ | |
39 | |
5258
8415001e90e2
(SYSTEM_TYPE): Make it dgux.
Richard M. Stallman <rms@gnu.org>
parents:
5094
diff
changeset
|
40 #define SYSTEM_TYPE "dgux" |
457 | 41 |
42 /* NOMULTIPLEJOBS should be defined if your system's shell | |
43 does not have "job control" (the ability to stop a program, | |
44 run some other program, then continue the first one). */ | |
45 | |
46 /* #define NOMULTIPLEJOBS */ | |
47 | |
48 /* Emacs can read input using SIGIO and buffering characters itself, | |
49 or using CBREAK mode and making C-g cause SIGINT. | |
50 The choice is controlled by the variable interrupt_input. | |
51 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) | |
52 | |
53 SIGIO can be used only on systems that implement it (4.2 and 4.3). | |
3591
507f64624555
Apply typo patches from Paul Eggert.
Jim Blandy <jimb@redhat.com>
parents:
3584
diff
changeset
|
54 CBREAK mode has two disadvantages |
457 | 55 1) At least in 4.2, it is impossible to handle the Meta key properly. |
56 I hear that in system V this problem does not exist. | |
57 2) Control-G causes output to be discarded. | |
58 I do not know whether this can be fixed in system V. | |
59 | |
60 Another method of doing input is planned but not implemented. | |
61 It would have Emacs fork off a separate process | |
62 to read the input and send it to the true Emacs process | |
63 through a pipe. | |
5008
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
64 |
457 | 65 */ |
66 | |
7236
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
67 #define INTERRUPT_INPUT |
457 | 68 |
69 /* | |
70 * Define HAVE_SOCKETS if the system supports sockets. | |
71 */ | |
72 | |
73 #define HAVE_SOCKETS | |
74 | |
75 /* | |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
76 * Define HAVE_UNIX_DOMAIN if the system supports Unix |
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
77 * domain sockets. |
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
78 */ |
5008
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
79 |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
80 #define HAVE_UNIX_DOMAIN |
5008
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
81 |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
82 /* |
457 | 83 * Define HAVE_PTYS if the system supports pty devices. |
84 */ | |
85 | |
86 #define HAVE_PTYS | |
87 | |
5008
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
88 /* (Assume) we do have vfork. */ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
89 |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
90 #define HAVE_VFORK |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
91 |
457 | 92 /* |
93 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | |
94 * The 4.2 opendir, etc., library functions. | |
95 */ | |
96 | |
97 /* #define NONSYSTEM_DIR_LIBRARY */ | |
98 | |
99 /* Define this symbol if your system has the functions bcopy, etc. */ | |
100 | |
101 #define BSTRING | |
102 | |
103 /* subprocesses should be defined if you want to | |
104 have code for asynchronous subprocesses | |
105 (as used in M-x compile and M-x shell). | |
106 This is generally OS dependent, and not supported | |
107 under most USG systems. */ | |
108 | |
109 #define subprocesses | |
110 | |
111 /* If your system uses COFF (Common Object File Format) then define the | |
2010
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
112 preprocessor symbol "COFF". |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
113 |
2318
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
114 DGUX can use either COFF or ELF; the default is ELF. |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
115 To compile for COFF (or BCS) use the TARGET_BINARY_INTERFACE |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
116 environment variable. */ |
2010
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
117 |
2318
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
118 #if defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
119 #undef ELF |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
120 #ifndef COFF |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
121 #define COFF |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
122 #endif /* COFF */ |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
123 #else /* defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) */ |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
124 #undef COFF |
2010
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
125 #ifndef ELF |
2318
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
126 #define ELF |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
127 #endif /* ELF */ |
50737ca2fd45
Decide automatically whether to use COFF or ELF.
Richard M. Stallman <rms@gnu.org>
parents:
2302
diff
changeset
|
128 #endif /* defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) */ |
2010
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
129 |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
130 #ifndef COFF /* People will probably find this apparently unreliable |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
131 till the NFS dumping bug is fixed. */ |
457 | 132 |
2010
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
133 /* It is possible to undump to ELF with DG/UX 5.4, but for revisions below |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
134 5.4.1 the undump MUST be done on a local file system, or the kernel will |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
135 panic. ELF executables have the advantage of using shared libraries, |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
136 while COFF executables will still work on 4.2x systems. */ |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
137 |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
138 #define UNEXEC unexelf.o |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
139 |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
140 /* This makes sure that all segments in the executable are undumped, |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
141 not just text, data, and bss. In the case of Mxdb and shared |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
142 libraries, additional information is stored in other sections. |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
143 It does not hurt to have this defined if you don't use Mxdb or |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
144 shared libraries. In fact, it makes no difference. */ |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
145 |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
146 /* Necessary for shared libraries and Mxdb debugging information. */ |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
147 #define USG_SHARED_LIBRARIES |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
148 #endif |
457 | 149 |
150 /* define MAIL_USE_FLOCK if the mailer uses flock | |
151 to interlock access to /usr/spool/mail/$USER. | |
152 The alternative is that a lock file named | |
153 /usr/spool/mail/$USER.lock. */ | |
154 | |
155 /* #define MAIL_USE_FLOCK */ | |
156 | |
157 /* Define CLASH_DETECTION if you want lock files to be written | |
158 so that Emacs can tell instantly when you try to modify | |
159 a file that someone else has modified in his Emacs. */ | |
160 | |
161 /* #define CLASH_DETECTION */ | |
162 | |
163 /* Define a replacement for the baud rate switch, since DG/UX uses a different | |
164 from BSD. */ | |
165 | |
166 #define BAUD_CONVERT { 0, 110, 134, 150, 300, 600, 1200, 1800, 2400, \ | |
167 4800, 9600, 19200, 38400 } | |
168 | |
169 /* | |
170 * Define NLIST_STRUCT if the system has nlist.h | |
171 */ | |
172 | |
173 #define NLIST_STRUCT | |
174 | |
175 /* | |
176 * Make WM Interface Compliant. | |
177 */ | |
178 | |
179 #define XICCC | |
180 | |
181 /* Here, on a separate page, add any special hacks needed | |
182 to make Emacs work on this system. For example, | |
183 you might define certain system call names that don't | |
184 exist on your system, or that do different things on | |
185 your system and must be used only through an encapsulation | |
186 (Which you should place, by convention, in sysdep.c). */ | |
187 | |
188 /* Some compilers tend to put everything declared static | |
189 into the initialized data area, which becomes pure after dumping Emacs. | |
190 On these systems, you must #define static as nothing to foil this. | |
191 Note that emacs carefully avoids static vars inside functions. */ | |
192 | |
193 /* #define static */ | |
194 | |
195 /* DG/UX SPECIFIC ADDITIONS TO TEMPLATE FOLLOW: */ | |
196 | |
197 /* Use the Berkeley flavors of the library routines, instead of System V. */ | |
198 | |
199 #define setpgrp(pid,pgrp) setpgrp2(pid,pgrp) | |
200 #define getpgrp(pid) getpgrp2(pid) | |
201 | |
202 /* Act like Berkeley. */ | |
203 | |
204 #define _setjmp(env) sigsetjmp(env,0) | |
205 #define _longjmp(env,val) longjmp(env,val) | |
206 | |
207 /* Use TERMINFO instead of termcap */ | |
208 | |
209 #define TERMINFO | |
210 | |
211 /* | |
5258
8415001e90e2
(SYSTEM_TYPE): Make it dgux.
Richard M. Stallman <rms@gnu.org>
parents:
5094
diff
changeset
|
212 * Send signals to subprocesses using characters. |
8415001e90e2
(SYSTEM_TYPE): Make it dgux.
Richard M. Stallman <rms@gnu.org>
parents:
5094
diff
changeset
|
213 * |
8415001e90e2
(SYSTEM_TYPE): Make it dgux.
Richard M. Stallman <rms@gnu.org>
parents:
5094
diff
changeset
|
214 */ |
8415001e90e2
(SYSTEM_TYPE): Make it dgux.
Richard M. Stallman <rms@gnu.org>
parents:
5094
diff
changeset
|
215 |
8415001e90e2
(SYSTEM_TYPE): Make it dgux.
Richard M. Stallman <rms@gnu.org>
parents:
5094
diff
changeset
|
216 #define SIGNALS_VIA_CHARACTERS |
8415001e90e2
(SYSTEM_TYPE): Make it dgux.
Richard M. Stallman <rms@gnu.org>
parents:
5094
diff
changeset
|
217 |
8415001e90e2
(SYSTEM_TYPE): Make it dgux.
Richard M. Stallman <rms@gnu.org>
parents:
5094
diff
changeset
|
218 /* |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
219 * Define HAVE_TERMIOS since this is POSIX, |
5008
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
220 * for terminal control. Prevent redundant inclusion of termio.h. |
457 | 221 */ |
222 | |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
223 #define HAVE_TERMIOS |
5008
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
224 #define NO_TERMIO |
457 | 225 |
226 /* | |
227 * Use a Berkeley style sys/wait.h. | |
228 * This makes WIF* macros operate on structures instead of ints. | |
229 */ | |
230 | |
231 #define _BSD_WAIT_FLAVOR | |
232 | |
233 /* | |
234 * Use BSD and POSIX-style signals. This is crucial! | |
235 */ | |
236 | |
4995
51d0545729fa
(SYSTEM_MALLOC): Turn off.
Richard M. Stallman <rms@gnu.org>
parents:
4485
diff
changeset
|
237 /* #define SYSTEM_MALLOC */ |
3584
06708f4682d0
* s/dgux.h: Move #definition of SYSTEM_MALLOC outside of
Jim Blandy <jimb@redhat.com>
parents:
3544
diff
changeset
|
238 |
457 | 239 /* MAKING_MAKEFILE must be defined in "ymakefile" before including config.h */ |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
240 #ifndef THIS_IS_YMAKEFILE |
457 | 241 |
242 /* Make sure signal.h is included so macros below don't mess with it. */ | |
243 /* DG/UX include files prevent multiple inclusion. */ | |
244 | |
245 #include <signal.h> | |
246 | |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
247 /* but undefine the sigmask and sigpause macros since they will get |
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
248 #define'd later. */ |
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
249 #undef sigmask |
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
250 #undef sigpause |
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
251 |
457 | 252 #define POSIX_SIGNALS |
253 | |
254 /* Define this if you use System 5 Release 4 Streams */ | |
255 #define open sys_open | |
256 #define close sys_close | |
257 #define read sys_read | |
258 #define write sys_write | |
259 | |
3544
a1ccd96244f3
(INTERRUPTIBLE_*): Fix spelling of macros.
Richard M. Stallman <rms@gnu.org>
parents:
3318
diff
changeset
|
260 #define INTERRUPTIBLE_OPEN |
a1ccd96244f3
(INTERRUPTIBLE_*): Fix spelling of macros.
Richard M. Stallman <rms@gnu.org>
parents:
3318
diff
changeset
|
261 #define INTERRUPTIBLE_CLOSE |
457 | 262 /* can't hurt to define these, even though read/write should auto restart */ |
3544
a1ccd96244f3
(INTERRUPTIBLE_*): Fix spelling of macros.
Richard M. Stallman <rms@gnu.org>
parents:
3318
diff
changeset
|
263 #define INTERRUPTIBLE_IO |
457 | 264 |
265 /* Can't use sys_signal because then etc/server.c would need sysdep.o. */ | |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
266 extern struct sigaction act, oact; |
457 | 267 #define signal(SIG,FUNC) berk_signal(SIG,FUNC) |
268 | |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
269 #else /* THIS_IS_YMAKEFILE */ |
457 | 270 /* force gcc to be used */ |
271 CC=gcc | |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
272 #endif /* not THIS_IS_YMAKEFILE */ |
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
273 |
7236
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
274 #define ORDINARY_LINK |
3600
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
275 #define START_FILES pre-crt0.o |
c0b91ff8928a
* s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
Jim Blandy <jimb@redhat.com>
parents:
3591
diff
changeset
|
276 #define LIB_GCC /usr/lib/gcc/libgcc.a |
3005
8a5b38421850
(NO_GET_LOAD_AVG): Define, if __GNUC__.
Richard M. Stallman <rms@gnu.org>
parents:
2318
diff
changeset
|
277 |
3046
965eb3b38ba2
(NO_GET_LOAD_AVG): Test _M88KBCS_TARGET, not __GNUC__.
Richard M. Stallman <rms@gnu.org>
parents:
3005
diff
changeset
|
278 #ifdef _M88KBCS_TARGET |
3005
8a5b38421850
(NO_GET_LOAD_AVG): Define, if __GNUC__.
Richard M. Stallman <rms@gnu.org>
parents:
2318
diff
changeset
|
279 /* Karl Berry says: the environment |
8a5b38421850
(NO_GET_LOAD_AVG): Define, if __GNUC__.
Richard M. Stallman <rms@gnu.org>
parents:
2318
diff
changeset
|
280 recommended by gcc (88/open, a.k.a. m88kbcs) doesn't support some system |
8a5b38421850
(NO_GET_LOAD_AVG): Define, if __GNUC__.
Richard M. Stallman <rms@gnu.org>
parents:
2318
diff
changeset
|
281 functions, and gcc doesn't make it easy to switch environments. */ |
8a5b38421850
(NO_GET_LOAD_AVG): Define, if __GNUC__.
Richard M. Stallman <rms@gnu.org>
parents:
2318
diff
changeset
|
282 #define NO_GET_LOAD_AVG |
8a5b38421850
(NO_GET_LOAD_AVG): Define, if __GNUC__.
Richard M. Stallman <rms@gnu.org>
parents:
2318
diff
changeset
|
283 #endif |
2010
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
284 |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
285 /* definitions for xmakefile production */ |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
286 #ifdef COFF |
5008
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
287 |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
288 /* Define the following to use all of the available pty's. */ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
289 |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
290 #define PTY_ITERATION \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
291 for (c = 'p'; c < 't'; c++) \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
292 for (i = 0; (((c == 'p') && (i < 64)) || ((c != 'p') && (i < 16))); i++) |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
293 |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
294 #define PTY_NAME_SPRINTF \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
295 if (c == 'p') \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
296 sprintf (pty_name, "/dev/pty%c%d", c, i); \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
297 else \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
298 sprintf (pty_name, "/dev/pty%c%x", c, i); |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
299 |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
300 #define PTY_TTY_NAME_SPRINTF \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
301 if (c == 'p') \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
302 sprintf (pty_name, "/dev/tty%c%d", c, i); \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
303 else \ |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
304 sprintf (pty_name, "/dev/tty%c%x", c, i); |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
305 |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
306 #define C_DEBUG_SWITCH -g |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
307 |
2010
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
308 #else /* not COFF */ |
50b1987ff38a
(ELF): Handle this parameter.
Richard M. Stallman <rms@gnu.org>
parents:
1549
diff
changeset
|
309 |
7236
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
310 /* We are generating ELF object format. This makes the system more |
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
311 SVR4 like. */ |
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
312 |
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
313 #define SVR4 |
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
314 |
5094
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
315 /* Pseudo-terminal support under SVR4 only loops to deal with errors. */ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
316 |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
317 #define PTY_ITERATION for (i = 0; i < 1; i++) |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
318 |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
319 /* This sets the name of the master side of the PTY. */ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
320 |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
321 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
322 |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
323 /* This sets the name of the slave side of the PTY. On SysVr4, |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
324 grantpt(3) forks a subprocess, so keep sigchld_handler() from |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
325 intercepting that death. If any child but grantpt's should die |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
326 within, it should be caught after sigrelse(2). */ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
327 |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
328 #define PTY_TTY_NAME_SPRINTF \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
329 { \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
330 char *ptsname(), *ptyname; \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
331 \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
332 sigblock(sigmask(SIGCLD)); \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
333 if (grantpt(fd) == -1) \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
334 fatal("could not grant slave pty"); \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
335 sigunblock(sigmask(SIGCLD)); \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
336 if (unlockpt(fd) == -1) \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
337 fatal("could not unlock slave pty"); \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
338 if (!(ptyname = ptsname(fd))) \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
339 fatal ("could not enable slave pty"); \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
340 strncpy(pty_name, ptyname, sizeof(pty_name)); \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
341 pty_name[sizeof(pty_name) - 1] = 0; \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
342 } |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
343 |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
344 /* Push various streams modules onto a PTY channel. */ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
345 |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
346 #define SETUP_SLAVE_PTY \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
347 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
348 fatal ("ioctl I_PUSH ptem", errno); \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
349 if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
350 fatal ("ioctl I_PUSH ldterm", errno); \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
351 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
352 fatal ("ioctl I_PUSH ttcompat", errno); |
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
353 |
7236
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
354 #define C_DEBUG_SWITCH -g -V2 -mversion-03.00 -mstandard |
5094
8b59fb13665e
(PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Richard M. Stallman <rms@gnu.org>
parents:
5062
diff
changeset
|
355 |
7236
b7d077dccd9e
Remove the SVR4 macro. Move the kernel INTERRUPT_INPUT bug note to
Paul Reilly <pmr@pajato.com>
parents:
7131
diff
changeset
|
356 #endif /* ELF */ |
3601
d83673a740e8
* s/dgux.h (BROKEN_FASYNC): #define this.
Jim Blandy <jimb@redhat.com>
parents:
3600
diff
changeset
|
357 |
5008
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
358 /* Extra stuff which probably should be someplace else but is here out |
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
359 of expediency. */ |
4485 | 360 |
5008
0f979427b6ac
(INTERRUPT_INPUT): Undefined.
Richard M. Stallman <rms@gnu.org>
parents:
4995
diff
changeset
|
361 #define LIB_X11_LIB -lX11 |
5966 | 362 |
363 /* Process groups work in the traditional BSD manner. */ | |
364 | |
365 #define BSD_PGRPS |