comparison src/s/gnu-linux.h @ 2915:2c9dde3bd3a0

Initial revision
author Jim Blandy <jimb@redhat.com>
date Thu, 20 May 1993 02:04:15 +0000
parents
children 375bf7b38e48
comparison
equal deleted inserted replaced
2914:eaddb57afc9f 2915:2c9dde3bd3a0
1 From johnsonm@stolaf.edu Thu Apr 29 23:04:42 1993
2 Status: RO
3 X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil]
4 ["6194" "Thu" "29" "April" "93" "21:50:38" "CDT" "Michael K Johnson" "johnsonm@stolaf.edu " nil "194" "linux.h file as promised" "^From:" nil nil "4"])
5 Received: by occs.cs.oberlin.edu (5.65/DEC-Ultrix/4.3-ccpvt-12/92)
6 id AA16177; Thu, 29 Apr 1993 23:04:37 -0400
7 Received: from nic.stolaf.edu by churchy.gnu.ai.mit.edu (5.65/4.0) with SMTP
8 id <AA23757@churchy.gnu.ai.mit.edu>; Thu, 29 Apr 93 22:50:50 -0400
9 Received: from lars.acc-admin.stolaf.edu (lars.acc.stolaf.edu) by stolaf.edu (4.1/SMI-4.1)
10 id AA21175; Thu, 29 Apr 93 21:50:38 CDT
11 Message-Id: <9304300250.AA21175@stolaf.edu>
12 Received: by lars.acc-admin.stolaf.edu (4.1/SMI-4.1)
13 id AA26266; Thu, 29 Apr 93 21:50:37 CDT
14 From: johnsonm@stolaf.edu (Michael K Johnson)
15 To: emacs-19-alpha@gnu.ai.mit.edu
16 Subject: linux.h file as promised
17 Date: Thu, 29 Apr 93 21:50:38 CDT
18
19 Here is the linux.h file that I used to compile emacs 19 with the
20 patches that I just sent to the list in my last message.:
21
22 michaelkjohnson
23
24 --------8<--------linux.h
25 /* This file is the configuration file for the Linux operating system.
26 Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc.
27 Some changes copyright (C) 1993 Michael K. Johnson and Rik Faith.
28
29 This file is part of GNU Emacs.
30
31 GNU Emacs is free software; you can redistribute it and/or modify
32 it under the terms of the GNU General Public License as published by
33 the Free Software Foundation; either version 2, or (at your option)
34 any later version.
35
36 GNU Emacs is distributed in the hope that it will be useful,
37 but WITHOUT ANY WARRANTY; without even the implied warranty of
38 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39 GNU General Public License for more details.
40
41 You should have received a copy of the GNU General Public License
42 along with GNU Emacs; see the file COPYING. If not, write to
43 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
44
45
46 /*
47 * Define symbols to identify the version of Unix this is.
48 * Define all the symbols that apply correctly.
49 */
50
51 /* #define UNIPLUS */
52 /* #define USG5 */
53 #define USG
54 #define BSD
55 #define LINUX
56
57 /* SYSTEM_TYPE should indicate the kind of system you are using.
58 It sets the Lisp variable system-type. */
59
60 #define SYSTEM_TYPE "linux" /* All the best software is free. */
61
62 /* Emacs can read input using SIGIO and buffering characters itself,
63 or using CBREAK mode and making C-g cause SIGINT.
64 The choice is controlled by the variable interrupt_input.
65 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
66
67 SIGIO can be used only on systems that implement it (4.2 and 4.3).
68 CBREAK mode has two disadvatages
69 1) At least in 4.2, it is impossible to handle the Meta key properly.
70 I hear that in system V this problem does not exist.
71 2) Control-G causes output to be discarded.
72 I do not know whether this can be fixed in system V.
73
74 Another method of doing input is planned but not implemented.
75 It would have Emacs fork off a separate process
76 to read the input and send it to the true Emacs process
77 through a pipe.
78 */
79
80 /* There have been suggestions made to add SIGIO to Linux. If this
81 is done, you may, at your discretion, uncomment the line below.
82 */
83
84 /* #define INTERRUPT_INPUT */
85
86 /* Letter to use in finding device name of first pty,
87 if system supports pty's. 'p' means it is /dev/ptyp0 */
88
89 #define FIRST_PTY_LETTER 'p'
90
91 /*
92 * Define HAVE_TERMIOS if the system provides POSIX-style
93 * functions and macros for terminal control.
94 */
95
96 #define HAVE_TERMIOS
97
98 /*
99 * Define HAVE_TIMEVAL if the system supports the BSD style clock values.
100 * Look in <sys/time.h> for a timeval structure.
101 */
102
103 #define HAVE_TIMEVAL
104
105 /*
106 * Define HAVE_SELECT if the system supports the `select' system call.
107 */
108
109 #define HAVE_SELECT
110
111 /*
112 * Define HAVE_PTYS if the system supports pty devices.
113 */
114
115 #define HAVE_PTYS
116
117 /* Uncomment this later when other problems are dealt with -mkj */
118
119 /* #define HAVE_SOCKETS */
120
121 /* Define this symbol if your system has the functions bcopy, etc. */
122
123 #define BSTRING
124
125 /* subprocesses should be defined if you want to
126 have code for asynchronous subprocesses
127 (as used in M-x compile and M-x shell).
128 This is generally OS dependent, and not supported
129 under most USG systems. */
130
131 #define subprocesses
132
133 /* define MAIL_USE_FLOCK if the mailer uses flock
134 to interlock access to /usr/spool/mail/$USER.
135 The alternative is that a lock file named
136 /usr/spool/mail/$USER.lock. */
137
138 /* Both are used in Linux by different mail programs. I assume that most
139 people are using newer mailers that have heard of flock. Change this
140 if you need to. */
141
142 #define MAIL_USE_FLOCK
143
144 /* Define CLASH_DETECTION if you want lock files to be written
145 so that Emacs can tell instantly when you try to modify
146 a file that someone else has modified in his Emacs. */
147
148 /* #define CLASH_DETECTION */
149
150 /* Here, on a separate page, add any special hacks needed
151 to make Emacs work on this system. For example,
152 you might define certain system call names that don't
153 exist on your system, or that do different things on
154 your system and must be used only through an encapsulation
155 (Which you should place, by convention, in sysdep.c). */
156
157
158 /* If you mount the proc file system somewhere other than /proc
159 you will have to uncomment the following and make the proper
160 changes */
161
162 /* #define LINUX_LDAV_FILE "/proc/loadavg" */
163
164 /* This is needed for disknew.c:update_frame() */
165
166 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_pptr - (FILE)->_pbase)
167
168 /* Linux has crt0.o in a non-standard place */
169 #define START_FILES pre-crt0.o /usr/lib/crt0.o
170
171 /* Linux has SIGIO defined, but not implemented, as of version 0.99.8
172 * What an ugly kludge! This will not be necessary if the
173 * INTERRUPT_INPUT define gets fully implemented.
174 */
175 #ifdef emacs
176 #include <signal.h>
177 #undef SIGIO
178 #endif
179
180 /* This is needed for sysdep.c */
181
182 #define HAVE_RENAME
183 #define HAVE_UNISTD_H /* for getpagesize.h */
184 #define HAVE_ALLOCA_H /* for getdate.y */
185 #define NO_SIOCTL_H /* don't have sioctl.h */
186
187 #define HAVE_DUP2 /* is builtin */
188 #define HAVE_RANDOM /* is builtin */
189 #define HAVE_CLOSEDIR
190 #define HAVE_GETPAGESIZE
191 #define HAVE_VFORK
192 #define HAVE_SYS_SIGLIST
193 #define HAVE_GETWD /* cure conflict with getcwd? */
194
195 #define USE_UTIME /* don't have utimes */
196 #define SYSV_SYSTEM_DIR /* use dirent.h */
197 #define USG_SYS_TIME /* use sys/time.h, not time.h */
198
199 #define POSIX /* affects only getpagesize.h */
200 #define POSIX_SIGNALS
201
202 /* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
203 /* we cannot get the maximum address for brk */
204 #define ULIMIT_BREAK_VALUE (32*1024*1024)
205
206 /* Best not to include -lg, unless it is last on the command line */
207 #define LIBS_DEBUG
208 #define LIBS_TERMCAP -ltermcap -lcurses /* save some space with shared libs*/
209 #define LIB_STANDARD -lc /* avoid -lPW */
210 #ifdef HAVE_X11
211 #define LD_SWITCH_SYSTEM -L/usr/X386/lib
212 #endif
213