Rename our max_align_t to sxe_max_align_t
[sxemacs] / src / s / sco5.h
1 /* System description file for SCO OpenServer Release 5
2    Copyright (C) 1993, 1994 Free Software Foundation, Inc.
3
4 This file is part of SXEmacs
5
6 SXEmacs 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 3 of the License, or
9 (at your option) any later version.
10
11 SXEmacs 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 this program.  If not, see <http://www.gnu.org/licenses/>. */
18
19
20 /* Synched up with: Not in FSF. */
21
22 /* Changes for SCO OpenServer 5 by Robert Lipe, robertl@dgii.com
23  * Additions, enhancements by J. Kean Johnston, hug@netcom.com
24  */
25
26 #define DONT_DEFINE_NO_REMAP    /* `static' hack not needed */
27
28 /* JKJ: Yes its a lot like SCO 4, but different enough that its easier to
29  * base it on stock SVR3 and add our stuff
30  */
31 #include "usg5-3.h"
32 #define SCO_R4
33 #define SCO_R5
34
35 #undef SYSTEM_TYPE
36 #define SYSTEM_TYPE "SCO 3.2v5"
37
38 /* SCO has ptys, but with weird names */
39 #define HAVE_PTYS
40 #define PTY_ITERATION \
41         for (i = 0; ; i++)
42 #define PTY_NAME_SPRINTF                                        \
43         do {                                                    \
44                 int sz = snprintf (pty_name, sizeof(pty_name),  \
45                                    "/dev/ptyp%d", i);           \
46                 assert(sz>=0 && sz<sizeof(pty_name));           \
47         } while(0)
48
49 #define PTY_TTY_NAME_SPRINTF                                    \
50         do {                                                    \
51                 int sz = snprintf (pty_name, sizeof(pty_name),  \
52                                    "/dev/ttyp%d", i);           \
53                 assert(sz>=0 && sz<sizeof(pty_name));           \
54         } while(0)
55
56 #define FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY
57
58 /* We have sockets. Always. */
59 #ifndef HAVE_SOCKETS
60 #define HAVE_SOCKETS
61 #endif
62
63 #ifndef __GNUC__
64 #define LINKER "cc -Xc"
65 #else
66 #define LINKER "gcc"
67 #endif
68
69 #define LIBS_SYSTEM "-lsocket -lPW -lgen -lcrypt -lmalloc"
70
71 #ifndef MAXPATHLEN
72 # define MAXPATHLEN PATHSIZE
73 #endif
74
75 /* This is necessary to circumvent stupidity in <X11/Xosdefs.h>.  That
76 file checks a manifest that is only defined by xmkmf.  Alternately, we
77 could #define sco and I think everything would work. rjl */
78 #define ANSICPP 1
79
80 #ifndef HAVE_GETTIMEOFDAY
81 #define HAVE_GETTIMEOFDAY
82 #endif
83
84 #undef ADDR_CORRECT
85 #define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0)
86
87 #define C_SWITCH_SYSTEM "-D_NO_STATIC"
88
89 #ifndef __GNUC__
90 #define C_OPTIMIZE_SWITCH "-O3 -Xc"
91 #define C_DEBUG_SWITCH "-g -Xc"
92 #else
93 #define C_OPTIMIZE_SWITCH "-O99 -m486 -fomit-frame-pointer"
94 #define C_DEBUG_SWITCH "-g"
95 #endif
96
97 /* configure can't get this right linking fails unless -lsocket is used.  */
98 #undef HAVE_XSCREENNUMBEROFSCREEN
99 #define HAVE_XSCREENNUMBEROFSCREEN
100
101 /* We don't have -loldX, and we don't need it.  */
102 #define LIB_XMENU_LIB
103
104 /* SCO does have TIOCGWINSZ.  */
105 #undef BROKEN_TIOCGWINSZ
106 #define NEED_PTEM_H
107
108 #ifndef __GNUC__
109 #define START_FILES "pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/values-Xc.o"
110 #else
111 #define START_FILES "pre-crt0.o /usr/ccs/lib/crt1.o"
112 #endif
113 #define LIB_STANDARD "-lc"
114
115 /* Specify program for etc/fakemail to run.  Define SMAIL if you are
116    using smail, don't for MMDF.  */
117
118 #ifdef SMAIL
119 #define MAIL_PROGRAM_NAME "/usr/bin/smail -q0"
120 #else
121 #define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail"
122 #endif
123
124 /* Tell process_send_signal to use VSUSP instead of VSWTCH.  */
125 #define PREFER_VSUSP
126
127 #define POSIX_SIGNALS
128
129 #undef PENDING_OUTPUT_COUNT
130 #define PENDING_OUTPUT_COUNT(f) ((f)->__ptr - (f)->__base)
131
132 #ifndef HAVE_VFORK
133 #define HAVE_VFORK
134 #endif
135
136 #ifdef _SCO_ELF
137 #undef COFF                     /* coz we're NOT */
138 /*
139  * everythign is pdump now. --SY
140  * #define UNEXEC "unexelf.o"
141  */
142 #undef UNEXEC
143 #endif
144
145 /* For GCC 2.7.2.3 we require the "JKJ" version of gcc.
146    Works fine with egcs and gcc 2.8.x. */
147 #define LIB_GCC "`$(LD) $(LDFLAGS) -print-libgcc-file-name`"