0
|
1 /* This file is the configuration file for the GNU/Linux operating system,
|
|
2 prior to version 1.1.56.
|
|
3 Copyright (C) 1985, 1986, 1992, 1994 Free Software Foundation, Inc.
|
|
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
|
|
9 the Free Software Foundation; either version 2, or (at your option)
|
|
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 XEmacs; see the file COPYING. If not, write to
|
|
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
20 Boston, MA 02111-1307, USA. */
|
|
21
|
|
22 /* Synched up with: FSF 19.31 (called, ahem ... lignux.h in FSF). */
|
|
23
|
|
24 /* This file was put together by Michael K. Johnson and Rik Faith. */
|
|
25
|
|
26 /* #define UNIPLUS */
|
|
27 /* #define USG5 */
|
|
28 #define USG
|
|
29 /* #define BSD */
|
|
30 #define LINUX
|
|
31
|
|
32 /* SYSTEM_TYPE should indicate the kind of system you are using.
|
|
33 It sets the Lisp variable system-type. */
|
|
34
|
|
35 #define SYSTEM_TYPE "linux" /* All the best software is free. */
|
|
36
|
|
37 #define FIRST_PTY_LETTER 'p'
|
|
38 #define HAVE_PTYS
|
|
39
|
|
40 /* define MAIL_USE_FLOCK if the mailer uses flock
|
|
41 to interlock access to /usr/spool/mail/$USER.
|
|
42 The alternative is that a lock file named
|
|
43 /usr/spool/mail/$USER.lock. */
|
|
44
|
|
45 /* Both are used in Linux by different mail programs. I assume that most
|
|
46 people are using newer mailers that have heard of flock. Change this
|
|
47 if you need to. */
|
|
48
|
24
|
49 /*#define MAIL_USE_FLOCK*/
|
0
|
50
|
|
51 /* Here, on a separate page, add any special hacks needed
|
|
52 to make Emacs work on this system. For example,
|
|
53 you might define certain system call names that don't
|
|
54 exist on your system, or that do different things on
|
|
55 your system and must be used only through an encapsulation
|
|
56 (Which you should place, by convention, in sysdep.c). */
|
|
57
|
|
58 /* On POSIX systems the system calls are interruptible by signals
|
|
59 that the user program has elected to catch. Thus the system call
|
|
60 must be retried in these cases. To handle this without massive
|
|
61 changes in the source code, we remap the standard system call names
|
|
62 to names for our own functions in sysdep.c that do the system call
|
|
63 with retries. */
|
|
64
|
|
65 #define INTERRUPTIBLE_OPEN
|
|
66 #define INTERRUPTIBLE_CLOSE
|
|
67 #define INTERRUPTIBLE_IO
|
|
68
|
|
69 /* If you mount the proc file system somewhere other than /proc
|
|
70 you will have to uncomment the following and make the proper
|
|
71 changes */
|
|
72
|
|
73 /* #define LINUX_LDAV_FILE "/proc/loadavg" */
|
|
74
|
|
75 /* This is needed for dispnew.c:update_frame */
|
|
76
|
163
|
77 #ifndef NOT_C_CODE
|
0
|
78 #include <stdio.h> /* Get the definition of _IO_STDIO_H. */
|
|
79 #if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
|
|
80 /* new C libio names */
|
|
81 #define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
|
|
82 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
|
|
83 #else /* !_IO_STDIO_H */
|
|
84 /* old C++ iostream names */
|
|
85 #define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
|
|
86 ((FILE)->_pptr - (FILE)->_pbase)
|
|
87 #endif /* !_IO_STDIO_H */
|
163
|
88 #endif /* C_CODE */
|
0
|
89
|
|
90 /* Ask GCC where to find libgcc.a. */
|
163
|
91 #define LIB_GCC "`$(CC) $(C_SWITCH_X_SITE) -print-libgcc-file-name`"
|
0
|
92
|
|
93 #ifndef __ELF__
|
|
94 /* Linux has crt0.o in a non-standard place */
|
163
|
95 #define START_FILES "pre-crt0.o /usr/lib/crt0.o"
|
0
|
96 #else
|
163
|
97 #define START_FILES "pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o"
|
0
|
98 #endif
|
|
99
|
|
100 /* This is needed for sysdep.c */
|
|
101
|
|
102 #define NO_SIOCTL_H /* don't have sioctl.h */
|
|
103
|
|
104 #define HAVE_SYS_SIGLIST
|
|
105 #define HAVE_WAIT_HEADER
|
|
106
|
|
107 #define POSIX /* affects getpagesize.h and systty.h */
|
|
108
|
|
109 /* Best not to include -lg, unless it is last on the command line */
|
|
110 #define LIBS_DEBUG
|
163
|
111 #define LIBS_TERMCAP "-ltermcap -lcurses" /* save some space with shared libs*/
|
0
|
112 #ifndef __ELF__
|
163
|
113 #define LIB_STANDARD "-lc" /* avoid -lPW */
|
0
|
114 #else
|
|
115 #undef LIB_GCC
|
|
116 #define LIB_GCC
|
163
|
117 #define LIB_STANDARD "-lgcc -lc -lgcc /usr/lib/crtn.o"
|
0
|
118 #endif
|
|
119
|
|
120 /* Don't use -g in test compiles in configure.
|
|
121 This is so we will use the same shared libs for that linking
|
|
122 that are used when linking temacs. */
|
|
123 #ifdef THIS_IS_CONFIGURE
|
|
124 #define C_DEBUG_SWITCH
|
|
125 #endif
|
|
126
|
|
127 /* Let's try this out, just in case.
|
|
128 Nah. Rik Faith <faith@cs.unc.edu> says it doesn't work well. */
|
|
129 /* #define SIGNALS_VIA_CHARACTERS */
|
|
130
|
|
131 #ifdef TERM
|
163
|
132 #define LIBS_SYSTEM "-lclient"
|
|
133 /* #define C_SWITCH_SYSTEM "-D_BSD_SOURCE -I/usr/src/term" - mrb */
|
|
134 #define C_SWITCH_SYSTEM "-I/usr/src/term"
|
0
|
135 #else
|
|
136 /* alane@wozzle.linet.org says that -lipc is not a separate library,
|
|
137 since libc-4.4.1. So -lipc was deleted. */
|
|
138 #define LIBS_SYSTEM
|
163
|
139 /* #define _BSD_SOURCE 1 - mrb */
|
157
|
140 #endif
|
|
141
|
0
|
142
|
|
143 /* XEmacs change: configure doesn't find this because math.h aliases
|
|
144 rint to __rint so that it's not found. */
|
|
145 #define HAVE_RINT 1
|
|
146
|
|
147 #ifdef __ELF__
|
157
|
148 #define UNEXEC "unexelf.o"
|
0
|
149 #define UNEXEC_USE_MAP_PRIVATE
|
163
|
150 /* mrb - Ordinary link is simple and effective */
|
|
151 #define ORDINARY_LINK
|
|
152 #undef LIB_STANDARD
|
|
153 #undef START_FILES
|
|
154 #undef LIB_GCC
|
|
155 #endif /* __ELF__ */
|
0
|
156
|
|
157 #ifdef LINUX_QMAGIC
|
|
158
|
|
159 #define HAVE_TEXT_START
|
157
|
160 #define UNEXEC "unexsunos4.o"
|
0
|
161 #define N_PAGSIZ(x) PAGE_SIZE
|
|
162
|
|
163 #else /* not LINUX_QMAGIC */
|
|
164
|
|
165 #define A_TEXT_OFFSET(hdr) (N_MAGIC(hdr) == QMAGIC ? sizeof (struct exec) : 0)
|
|
166 #define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr))
|
|
167 #define ADJUST_EXEC_HEADER \
|
|
168 unexec_text_start = N_TXTADDR(ohdr) + A_TEXT_OFFSET(ohdr)
|
|
169
|
|
170 #endif /* not LINUX_QMAGIC */
|
|
171
|
|
172 /* This is to work around mysterious gcc failures in some system versions.
|
|
173 It is unlikely that Emacs changes will work around this problem;
|
|
174 therefore, this should remain permanently. */
|
|
175 #ifndef HAVE_XRMSETDATABASE
|
|
176 #define HAVE_XRMSETDATABASE
|
|
177 #endif
|
|
178
|
|
179 /* The regex.o routines are a part of the GNU C-library used with Linux. */
|
|
180 /* However, sometimes they disagree with the src/regex.h that comes with Emacs,
|
|
181 and that can make trouble in etags.c because it gets the regex.h from Emacs
|
|
182 and the function definitions in libc. So turn this off. */
|
|
183 /* XEmacs: in any case, Mule uses different regex routines. */
|
|
184 /* #define REGEXP_IN_LIBC */
|
|
185
|
|
186 /* XEmacs change: the standard linux libc includes regex routines in
|
|
187 it. We have to use our own and have to avoid name conflicts. */
|
|
188
|
|
189 #define re_compile_pattern sys_re_compile_pattern
|
|
190 #define re_search sys_re_search
|
|
191 #define re_search_2 sys_re_search_2
|
|
192 #define re_match_2 sys_re_match_2
|
|
193 #define re_max_failures sys_re_max_failures
|
|
194 #define re_set_syntax sys_re_set_syntax
|
|
195 #define re_set_registers sys_re_set_registers
|
|
196 #define re_compile_fastmap sys_re_compile_fastmap
|
|
197 #define re_match sys_re_match
|
|
198 #define regcomp sys_regcomp
|
|
199 #define regexec sys_regexec
|
|
200 #define regerror sys_regerror
|
|
201 #define regfree sys_regfree
|
|
202
|
163
|
203 #if 0 /* mrb - if autoconf 2 is wrong, we should fix the test */
|
0
|
204 /* XEmacs: Damon Lipparelli says that he incorrectly gets this
|
|
205 defined on his system */
|
|
206 #undef GETTIMEOFDAY_ONE_ARGUMENT
|
163
|
207 #endif /* 0 */
|
0
|
208
|
|
209 /* Use BSD process groups, but use setpgid() instead of setpgrp() to
|
|
210 actually set a process group. */
|
|
211
|
|
212 /* XEmacs: removed setpgrp() definition because we use setpgid() when
|
|
213 it's available, and autodetect it. */
|