Update FSF's address in the preamble.
[bpt/emacs.git] / src / s / sco4.h
1 /* System description file for SCO 3.2v4.
2 Copyright (C) 1993, 1994 Free Software Foundation, Inc.
3
4 This file is part of GNU Emacs.
5
6 GNU Emacs is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 GNU Emacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GNU Emacs; see the file COPYING. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
20
21 /* Contributed by Ian Lance Taylor, ian@cygnus.com. */
22
23 /* SCO is sort of like SVR3. */
24 #include "usg5-3.h"
25 #define SCO_R4
26
27 #if 0 /* Turned off rather than make the Lisp code check for this. -- rms.
28 I am assuming that (at least most of) the tests for usg-unix-v
29 do the right thing for sco3.2v4 also. Things that *might* be wrong
30 as a result of turning off these lines include the values of
31 ange-ftp-remote-shell-file-name (now remsh)
32 dired-chown-program (now just chown)
33 lpr-command (now lp)
34 nntp-buggy-select (now t)
35 rmail-spool-directory (now /usr/mail?)
36 and the actions of the function print-region-1. */
37
38 /* SYSTEM_TYPE should indicate the kind of system you are using. */
39 #undef SYSTEM_TYPE
40 #define SYSTEM_TYPE "SCO 3.2v4"
41 #endif
42
43 /* SCO supports job control. */
44 #undef NOMULTIPLEJOBS
45
46 /* SCO has termios. */
47 #define HAVE_TERMIOS
48
49 /* SCO has ptys with unusual names. */
50 #define HAVE_PTYS
51
52 #define PTY_ITERATION \
53 for (i = 0; ; i++)
54 #define PTY_NAME_SPRINTF \
55 sprintf (pty_name, "/dev/ptyp%d", i);
56 #define PTY_TTY_NAME_SPRINTF \
57 sprintf (pty_name, "/dev/ttyp%d", i);
58
59 /* Sockets are an option on SCO. If you have X, you have them.
60 They also exist if you have TCP, but we don't know how to test
61 for that. */
62 #ifdef HAVE_X_WINDOWS
63 #define HAVE_SOCKETS
64 #endif
65
66 /* Must use 'cc' to link when build with motif toolkit. */
67 #ifndef __GNUC__
68 #define LINKER cc
69 #endif
70
71 /* This is safe since we already assumed HAVE_SOCKET
72 if using X windows. */
73 #undef LIBX11_SYSTEM
74 #define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s -lsocket
75
76 #ifdef HAVE_INET_SOCKETS /* This comes from autoconf. */
77 #define HAVE_SOCKETS
78 #endif
79
80 #ifdef HAVE_SOCKETS
81 #define LIBS_SYSTEM -lsocket -lPW
82
83 /* SCO has gettimeofday in socket library */
84 /* Autoconf should determine this, but for now,
85 play safe to avoid error rather than deleting this
86 and risking the wrong result. */
87 #ifndef HAVE_GETTIMEOFDAY
88 #define HAVE_GETTIMEOFDAY
89 #endif
90 #endif
91
92 /* This enables configure to tell that we have alloca. */
93 #ifndef LIBS_SYSTEM
94 #define LIBS_SYSTEM -lPW
95 #endif
96
97 #ifdef HAVE_X11R5
98 /* configure can't get this right linking fails unless -lsocket is used. */
99 #undef HAVE_XSCREENNUMBEROFSCREEN
100 #define HAVE_XSCREENNUMBEROFSCREEN
101 #endif
102
103 /* We don't have -loldX, and we don't need it. */
104 #define LIB_XMENU_LIB
105
106 /* SCO does have TIOCGWINSZ. */
107 #undef BROKEN_TIOCGWINSZ
108 #define NEED_PTEM_H
109
110 /* We need to link with crt1.o and crtn.o. */
111 #define START_FILES pre-crt0.o /lib/crt1.o
112 #define LIB_STANDARD -lc /lib/crtn.o
113
114 /* Send signals to subprocesses by "typing" signal chars at them. */
115 #define SIGNALS_VIA_CHARACTERS
116
117 /* Specify program for etc/fakemail to run. Define SMAIL if you are
118 using smail, don't for MMDF. */
119
120 #ifdef SMAIL
121 #define MAIL_PROGRAM_NAME "/bin/smail -q0"
122 #else
123 #define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail"
124 #endif
125
126 /* miano@acosta.enet.dec.com says these are needed. */
127 #define bcopy(b1,b2,len) memmove (b2, b1, len)
128 #define bzero(b,len) memset (b, 0, len)
129 #define bcmp(b1,b2,len) memcmp (b1, b2, len)
130
131 /* Tell process_send_signal to use VSUSP instead of VSWTCH. */
132 #define PREFER_VSUSP
133
134 /* wjs@wang.com (William Smith) says this is needed on 3.2.4.2. */
135 #define POSIX_SIGNALS
136
137 /* wjs@wiis.wang.com says SCO 3.2 v4.2 "has sockets",
138 but only for network connections.
139 It doesn't have the kind of sockets that emacsclient.c
140 and emacsserver.c would use. */
141 #define NO_SOCKETS_IN_FILE_SYSTEM