1/* System description file for SCO 3.2v5.
2   Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, 2006,
3                 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 the
19Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA.  */
21
22/* Contributed by Mark Diekhans <markd@grizzly.com>.  */
23
24/* SCO is sort of like SVR3.  */
25#include "usg5-3.h"
26#define SCO_R5
27
28#if 0 /* Turned off rather than make the Lisp code check for this. -- rms.
29	 I am assuming that (at least most of) the tests for usg-unix-v
30	 do the right thing for sco3.2v4 also.  Things that *might* be wrong
31	 as a result of turning off these lines include the values of
32	 ange-ftp-remote-shell-file-name (now remsh)
33	 dired-chown-program (now just chown)
34	 lpr-command (now lp)
35	 nntp-buggy-select (now t)
36	 rmail-spool-directory (now /usr/mail?)
37	 and the actions of the function print-region-1.  */
38
39/* SYSTEM_TYPE should indicate the kind of system you are using.  */
40#undef SYSTEM_TYPE
41#define SYSTEM_TYPE "SCO 3.2v4"
42#endif
43
44/* SCO supports job control.  */
45#undef NOMULTIPLEJOBS
46
47/* SCO has termios.  */
48#define HAVE_TERMIOS
49
50/* SCO has ptys with unusual names.  */
51#define HAVE_PTYS
52
53#define PTY_ITERATION \
54   for (i = 0; ; i++)
55#define PTY_NAME_SPRINTF \
56  sprintf (pty_name, "/dev/ptyp%d", i);
57#define PTY_TTY_NAME_SPRINTF \
58  sprintf (pty_name, "/dev/ttyp%d", i);
59
60/* Sockets are an option on SCO.  If you have X, you have them.
61   They also exist if you have TCP, but we don't know how to test
62   for that.  */
63#ifdef HAVE_X_WINDOWS
64#define HAVE_SOCKETS
65#endif
66
67#ifndef __GNUC__
68#define LINKER ld
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_COMMON -lpt -lnls -lnsl -lc -lsocket
75#ifdef MOTIF
76# define LIBX11_SYSTEM -lgen LIBX11_SYSTEM_COMMON
77#else /* ndef MOTIF */
78# define LIBX11_SYSTEM LIBX11_SYSTEM_COMMON
79#endif /* ndef MOTIF */
80
81#undef LIB_X11_LIB
82#define LIB_X11_LIB -lX11
83
84#ifdef HAVE_INET_SOCKETS /* This comes from autoconf.  */
85#define HAVE_SOCKETS
86#endif
87
88#ifdef HAVE_SOCKETS
89#define LIBS_SYSTEM -lsocket -lPW
90#endif
91
92#ifndef HAVE_GETTIMEOFDAY
93#define HAVE_GETTIMEOFDAY
94#endif
95
96/* This enables configure to tell that we have alloca.  */
97#ifndef LIBS_SYSTEM
98#define LIBS_SYSTEM -lPW
99#endif
100
101#ifdef HAVE_X11R5
102/* configure can't get this right linking fails unless -lsocket is used.  */
103#undef HAVE_XSCREENNUMBEROFSCREEN
104#define HAVE_XSCREENNUMBEROFSCREEN
105#endif
106
107/* We don't have -loldX, and we don't need it.  */
108#define LIB_XMENU_LIB
109
110/* SCO does have TIOCGWINSZ.  */
111#undef BROKEN_TIOCGWINSZ
112#define NEED_PTEM_H
113
114/* We need to link with crt1.o and crtn.o.  */
115#define START_FILES pre-crt0.o /lib/crt1.o
116#define LIB_STANDARD -lc /lib/crtn.o
117
118/* Send signals to subprocesses by "typing" signal chars at them.  */
119#define SIGNALS_VIA_CHARACTERS
120
121/* Specify program for etc/fakemail to run.  Define SMAIL if you are
122   using smail, don't for MMDF.  */
123
124#ifdef SMAIL
125#define MAIL_PROGRAM_NAME "/bin/smail -q0"
126#else
127#define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail"
128#endif
129
130/* Tell process_send_signal to use VSUSP instead of VSWTCH.  */
131#define PREFER_VSUSP
132
133/* SCO Unix has Posix signals, but in 3.2.5 something broken that causes
134 * all keyboard-quit signals to be lost after the first one. */
135#undef POSIX_SIGNALS
136
137#define SIGMASKTYPE long
138
139#ifndef NOT_C_CODE
140extern SIGMASKTYPE sigprocmask_set;
141#endif /* not NOT_C_CODE */
142
143#define sigblock(sig)					\
144     (sigprocmask_set = SIGEMPTYMASK | (sig),		\
145      sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL))
146#define sigunblock(sig)						\
147     (sigprocmask_set = SIGFULLMASK & ~(sig),			\
148      sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL))
149
150#ifndef PENDING_OUTPUT_COUNT
151#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base)
152#endif
153
154/* Use ELF and get real shared libraries */
155
156#undef COFF
157#define ELF
158
159#define UNEXEC unexelf.o
160
161#ifndef __GNUC__
162#define C_SWITCH_SYSTEM -belf
163#define LD_SWITCH_SYSTEM -belf
164#endif
165
166/* Don't disable static function, as SCO's header files have some.*/
167#undef static
168
169#undef START_FILES
170#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/values-Xt.o
171#undef LIB_STANDARD
172#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o
173
174#define NARROWPROTO 1
175
176/* arch-tag: 930541b5-52d9-4cbe-b73c-f4c72091f5df
177   (do not change this comment) */
178