Mercurial > emacs
annotate src/s/gnu-linux.h @ 102352:c61c29e47d6a
Add comment.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sun, 01 Mar 2009 19:24:15 +0000 |
parents | e038c1a8307c |
children | 21a9a415c6d0 |
rev | line source |
---|---|
15478 | 1 /* This file is the configuration file for Linux-based GNU systems |
75227
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
74043
diff
changeset
|
2 Copyright (C) 1985, 1986, 1992, 1994, 1996, 1999, 2001, 2002, 2003, 2004, |
100951 | 3 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. |
2915 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
91723
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
2915 | 8 it under the terms of the GNU General Public License as published by |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
91723
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
91723
diff
changeset
|
10 (at your option) any later version. |
2915 | 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 | |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
91723
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
2915 | 19 |
2940
3c7c3bd60e4f
* s/linux.h: Remove copyright notices by Michael K. Johnson and
Jim Blandy <jimb@redhat.com>
parents:
2916
diff
changeset
|
20 /* This file was put together by Michael K. Johnson and Rik Faith. */ |
3c7c3bd60e4f
* s/linux.h: Remove copyright notices by Michael K. Johnson and
Jim Blandy <jimb@redhat.com>
parents:
2916
diff
changeset
|
21 |
2915 | 22 |
23 /* | |
24 * Define symbols to identify the version of Unix this is. | |
25 * Define all the symbols that apply correctly. | |
26 */ | |
27 | |
28 #define USG | |
41968 | 29 #define GNU_LINUX |
2915 | 30 |
31 /* SYSTEM_TYPE should indicate the kind of system you are using. | |
32 It sets the Lisp variable system-type. */ | |
33 | |
15478 | 34 #define SYSTEM_TYPE "gnu/linux" /* All the best software is free. */ |
2915 | 35 |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
36 #ifndef NOT_C_CODE |
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
37 #ifdef emacs |
14839
bc1d2478d392
Test HAVE_LINUX_VERSION_H, not HAVE_VERSION_H.
Richard M. Stallman <rms@gnu.org>
parents:
14824
diff
changeset
|
38 #ifdef HAVE_LINUX_VERSION_H |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
39 #include <linux/version.h> |
2915 | 40 |
71477
eb1fe905e1f8
(SIGNALS_VIA_CHARACTERS): Define for Linux kernel
Kim F. Storm <storm@cua.dk>
parents:
68651
diff
changeset
|
41 #if LINUX_VERSION_CODE >= 0x20400 |
96595 | 42 /* 21 Jun 06: Eric Hanchrow <offby1@blarg.net> says this works. */ |
43 #define SIGNALS_VIA_CHARACTERS | |
71477
eb1fe905e1f8
(SIGNALS_VIA_CHARACTERS): Define for Linux kernel
Kim F. Storm <storm@cua.dk>
parents:
68651
diff
changeset
|
44 #endif /* LINUX_VERSION_CODE >= 0x20400 */ |
14839
bc1d2478d392
Test HAVE_LINUX_VERSION_H, not HAVE_VERSION_H.
Richard M. Stallman <rms@gnu.org>
parents:
14824
diff
changeset
|
45 #endif /* HAVE_LINUX_VERSION_H */ |
14824
f56bb68b6903
(LINUX_SIGIO_DOES_WORK): Define only if HAVE_VERSION_H.
Richard M. Stallman <rms@gnu.org>
parents:
14777
diff
changeset
|
46 #endif /* emacs */ |
f56bb68b6903
(LINUX_SIGIO_DOES_WORK): Define only if HAVE_VERSION_H.
Richard M. Stallman <rms@gnu.org>
parents:
14777
diff
changeset
|
47 #endif /* NOT_C_CODE */ |
2915 | 48 |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
49 #if defined HAVE_GRANTPT |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
50 #define UNIX98_PTYS |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
51 |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
52 /* Run only once. We need a `for'-loop because the code uses |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
53 `continue'. */ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
54 |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
55 #define PTY_ITERATION for (i = 0; i < 1; i++) |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
56 |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
57 #ifdef HAVE_GETPT |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
58 #define PTY_NAME_SPRINTF |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
59 #define PTY_OPEN fd = getpt () |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
60 #else /* not HAVE_GETPT */ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
61 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
62 #endif /* not HAVE_GETPT */ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
63 |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
64 /* Note that grantpt and unlockpt may fork. We must block SIGCHLD to |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
65 prevent sigchld_handler from intercepting the child's death. */ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
66 |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
67 #define PTY_TTY_NAME_SPRINTF \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
68 { \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
69 char *ptyname; \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
70 \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
71 sigblock (sigmask (SIGCHLD)); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
72 if (grantpt (fd) == -1 || unlockpt (fd) == -1 \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
73 || !(ptyname = ptsname(fd))) \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
74 { \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
75 sigunblock (sigmask (SIGCHLD)); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
76 close (fd); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
77 return -1; \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
78 } \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
79 strncpy (pty_name, ptyname, sizeof (pty_name)); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
80 pty_name[sizeof (pty_name) - 1] = 0; \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
81 sigunblock (sigmask (SIGCHLD)); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
82 } |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
83 |
35150 | 84 #else /* not HAVE_GRANTPT */ |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
85 |
2915 | 86 /* Letter to use in finding device name of first pty, |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
87 if system supports pty's. 'p' means it is /dev/ptyp0 */ |
2915 | 88 |
89 #define FIRST_PTY_LETTER 'p' | |
90 | |
96732
1e0b67e40d48
* systty.h: Remove code for Aix on 386, unsupported platform.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
96643
diff
changeset
|
91 #endif /* not HAVE_GRANTPT */ |
26212
539733154e0a
[HAVE_DEV_PTMX]: Redefine FIRST_PTY_LETTER to 'z'.
Gerd Moellmann <gerd@gnu.org>
parents:
26090
diff
changeset
|
92 |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
93 /* Define HAVE_TERMIOS if the system provides POSIX-style |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
94 functions and macros for terminal control. */ |
2915 | 95 |
96 #define HAVE_TERMIOS | |
97 | |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
98 /* Define HAVE_PTYS if the system supports pty devices. */ |
2915 | 99 |
100 #define HAVE_PTYS | |
101 | |
3014
a416873d97e5
* s/linux.h (HAVE_DUP2, HAVE_ALLOCA_H): Deleted.
Jim Blandy <jimb@redhat.com>
parents:
2989
diff
changeset
|
102 #define HAVE_SOCKETS |
2915 | 103 |
104 /* Define this symbol if your system has the functions bcopy, etc. */ | |
105 | |
106 #define BSTRING | |
107 | |
100565
dcc7f5970d5c
Reorganize implementation of Flist_system_processes and
Dan Nicolaescu <dann@ics.uci.edu>
parents:
98455
diff
changeset
|
108 /* This is used in list_system_processes. */ |
97225
3866542dcfee
(HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
Eli Zaretskii <eliz@gnu.org>
parents:
96985
diff
changeset
|
109 #define HAVE_PROCFS 1 |
3866542dcfee
(HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
Eli Zaretskii <eliz@gnu.org>
parents:
96985
diff
changeset
|
110 |
2915 | 111 /* define MAIL_USE_FLOCK if the mailer uses flock |
112 to interlock access to /usr/spool/mail/$USER. | |
113 The alternative is that a lock file named | |
114 /usr/spool/mail/$USER.lock. */ | |
115 | |
15478 | 116 /* On GNU/Linux systems, both methods are used by various mail |
117 programs. I assume that most people are using newer mailers that | |
118 have heard of flock. Change this if you need to. */ | |
51109
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
119 /* Debian contains a patch which says: ``On Debian/GNU/Linux systems, |
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
120 configure gets the right answers, and that means *NOT* using flock. |
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
121 Using flock is guaranteed to be the wrong thing. See Debian Policy |
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
122 for details.'' and then uses `#ifdef DEBIAN'. Unfortunately the |
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
123 Debian maintainer hasn't provided a clean fix for Emacs. |
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
124 movemail.c will use `maillock' when MAILDIR, HAVE_LIBMAIL and |
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
125 HAVE_MAILLOCK_H are defined, so the following appears to be the |
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
126 correct logic. -- fx */ |
73073
bf1ea63459be
(MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
Romain Francoise <romain@orebokech.com>
parents:
71578
diff
changeset
|
127 /* We must check for HAVE_LIBLOCKFILE too, as movemail does. |
bf1ea63459be
(MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
Romain Francoise <romain@orebokech.com>
parents:
71578
diff
changeset
|
128 liblockfile is a Free Software replacement for libmail, used on |
bf1ea63459be
(MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
Romain Francoise <romain@orebokech.com>
parents:
71578
diff
changeset
|
129 Debian systems and elsewhere. -rfr */ |
2915 | 130 |
73073
bf1ea63459be
(MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
Romain Francoise <romain@orebokech.com>
parents:
71578
diff
changeset
|
131 #if !((defined (HAVE_LIBMAIL) || defined (HAVE_LIBLOCKFILE)) && \ |
bf1ea63459be
(MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
Romain Francoise <romain@orebokech.com>
parents:
71578
diff
changeset
|
132 defined (HAVE_MAILLOCK_H)) |
2915 | 133 #define MAIL_USE_FLOCK |
51109
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
134 #endif |
2915 | 135 |
136 /* Define CLASH_DETECTION if you want lock files to be written | |
137 so that Emacs can tell instantly when you try to modify | |
138 a file that someone else has modified in his Emacs. */ | |
139 | |
7835
27ec793a0e99
(CLASH_DETECTION): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
7703
diff
changeset
|
140 #define CLASH_DETECTION |
2915 | 141 |
142 /* Here, on a separate page, add any special hacks needed | |
143 to make Emacs work on this system. For example, | |
144 you might define certain system call names that don't | |
145 exist on your system, or that do different things on | |
146 your system and must be used only through an encapsulation | |
147 (Which you should place, by convention, in sysdep.c). */ | |
148 | |
14777 | 149 /* This is needed for dispnew.c:update_frame */ |
2915 | 150 |
5387
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
151 #ifdef emacs |
8274
04eeb3ed2828
[emacs]: Include stdio.h.
Richard M. Stallman <rms@gnu.org>
parents:
7972
diff
changeset
|
152 #include <stdio.h> /* Get the definition of _IO_STDIO_H. */ |
11826
6197ce4cd509
Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
Karl Heuer <kwzh@gnu.org>
parents:
11549
diff
changeset
|
153 #if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM) |
5387
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
154 /* new C libio names */ |
7555
85afced1519c
(GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
Richard M. Stallman <rms@gnu.org>
parents:
7307
diff
changeset
|
155 #define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \ |
5387
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
156 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base) |
98455
876b289a899e
* gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
97225
diff
changeset
|
157 #elif defined (__UCLIBC__) |
876b289a899e
* gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
97225
diff
changeset
|
158 /* using the uClibc library */ |
876b289a899e
* gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
97225
diff
changeset
|
159 #define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \ |
876b289a899e
* gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
97225
diff
changeset
|
160 ((FILE)->__bufpos - (FILE)->__bufstart) |
876b289a899e
* gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
97225
diff
changeset
|
161 #else /* !_IO_STDIO_H && ! __UCLIBC__ */ |
5387
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
162 /* old C++ iostream names */ |
7555
85afced1519c
(GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
Richard M. Stallman <rms@gnu.org>
parents:
7307
diff
changeset
|
163 #define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \ |
5387
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
164 ((FILE)->_pptr - (FILE)->_pbase) |
98455
876b289a899e
* gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
97225
diff
changeset
|
165 #endif /* !_IO_STDIO_H && ! __UCLIBC__ */ |
5387
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
166 #endif /* emacs */ |
2915 | 167 |
12306
173396dad212
(LIB_GCC): Define here, overriding Makefile.in.in,
Richard M. Stallman <rms@gnu.org>
parents:
11828
diff
changeset
|
168 /* Ask GCC where to find libgcc.a. */ |
12314
b55e6abc0f0e
(LIB_GCC): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents:
12306
diff
changeset
|
169 #define LIB_GCC `$(CC) $(C_SWITCH_X_SITE) -print-libgcc-file-name` |
12306
173396dad212
(LIB_GCC): Define here, overriding Makefile.in.in,
Richard M. Stallman <rms@gnu.org>
parents:
11828
diff
changeset
|
170 |
15699 | 171 #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o |
2915 | 172 |
15404
9f223b2f92ac
[__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
14990
diff
changeset
|
173 /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option |
9f223b2f92ac
[__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
14990
diff
changeset
|
174 says where to find X windows at run time. */ |
15508
dcd2d760053a
(LD_SWITCH_SYSTEM): Just one definition.
Richard M. Stallman <rms@gnu.org>
parents:
15478
diff
changeset
|
175 |
18398
3c18aa006200
(LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
16221
diff
changeset
|
176 #ifdef __mips__ |
3c18aa006200
(LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
16221
diff
changeset
|
177 #define LD_SWITCH_SYSTEM -G 0 LD_SWITCH_X_SITE_AUX |
3c18aa006200
(LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
16221
diff
changeset
|
178 #else |
15404
9f223b2f92ac
[__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
14990
diff
changeset
|
179 #define LD_SWITCH_SYSTEM LD_SWITCH_X_SITE_AUX |
18398
3c18aa006200
(LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
16221
diff
changeset
|
180 #endif /* __mips__ */ |
39494
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
181 |
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
182 /* Link temacs with -z nocombreloc so that unexec works right, whether or |
39496 | 183 not -z combreloc is the default. GNU ld ignores unknown -z KEYWORD |
39494
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
184 switches, so this also works with older versions that don't implement |
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
185 -z combreloc. */ |
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
186 #define LD_SWITCH_SYSTEM_TEMACS -z nocombreloc |
15404
9f223b2f92ac
[__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
14990
diff
changeset
|
187 |
2915 | 188 #ifdef emacs |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
189 #define INTERRUPT_INPUT |
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
190 #endif |
2915 | 191 |
192 #define SYSV_SYSTEM_DIR /* use dirent.h */ | |
193 | |
4825 | 194 #define POSIX /* affects getpagesize.h and systty.h */ |
2915 | 195 #define POSIX_SIGNALS |
196 | |
197 /* Best not to include -lg, unless it is last on the command line */ | |
198 #define LIBS_DEBUG | |
12314
b55e6abc0f0e
(LIB_GCC): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents:
12306
diff
changeset
|
199 #undef LIB_GCC |
11826
6197ce4cd509
Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
Karl Heuer <kwzh@gnu.org>
parents:
11549
diff
changeset
|
200 #define LIB_GCC |
15699 | 201 #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o |
3207
257a856de952
* s/linux.h (SIGNALS_VIA_CHARACTERS): Try this out for a bit.
Jim Blandy <jimb@redhat.com>
parents:
3154
diff
changeset
|
202 |
7956
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
203 /* Don't use -g in test compiles in configure. |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
204 This is so we will use the same shared libs for that linking |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
205 that are used when linking temacs. */ |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
206 #ifdef THIS_IS_CONFIGURE |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
207 #define C_DEBUG_SWITCH |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
208 #endif |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
209 |
4719
f250e1299a74
(LIBS_MACHINE): Make definition empty.
Richard M. Stallman <rms@gnu.org>
parents:
3824
diff
changeset
|
210 /* alane@wozzle.linet.org says that -lipc is not a separate library, |
f250e1299a74
(LIBS_MACHINE): Make definition empty.
Richard M. Stallman <rms@gnu.org>
parents:
3824
diff
changeset
|
211 since libc-4.4.1. So -lipc was deleted. */ |
12829
f36fccc38b0d
(ULIMIT_BREAK_VALUE, SEGMENT_MASK): Moved to intel386.h
Richard M. Stallman <rms@gnu.org>
parents:
12720
diff
changeset
|
212 #define LIBS_SYSTEM |
49413
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
213 /* _BSD_SOURCE is redundant, at least in glibc2, since we define |
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
214 _GNU_SOURCE. Left in in case it's relevant to libc5 systems and |
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
215 anyone's still using Emacs on those. --fx 2002-12-14 */ |
29850
6ef6d3b9d25a
(C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
Dave Love <fx@gnu.org>
parents:
29792
diff
changeset
|
216 #define C_SWITCH_SYSTEM -D_BSD_SOURCE |
4913
eb26686b99cf
[TERM]: Alternate definitions of LIBS_MACHINE and C_SWITCH_MACHINE.
Richard M. Stallman <rms@gnu.org>
parents:
4825
diff
changeset
|
217 |
13623
276f513076a9
(LIB_MOTIF): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
13592
diff
changeset
|
218 /* Paul Abrahams <abrahams@equinox.shaysnet.com> says this is needed. */ |
276f513076a9
(LIB_MOTIF): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
13592
diff
changeset
|
219 #define LIB_MOTIF -lXm -lXpm |
276f513076a9
(LIB_MOTIF): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
13592
diff
changeset
|
220 |
14958
19c05cbf2811
Test HAVE_LIBNCURSES, not HAVE_NCURSES
Richard M. Stallman <rms@gnu.org>
parents:
14949
diff
changeset
|
221 #ifdef HAVE_LIBNCURSES |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
222 #define TERMINFO |
14949
e827a568785f
[HAVE_NCURSES] (LIBS_TERMCAP): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14918
diff
changeset
|
223 #define LIBS_TERMCAP -lncurses |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
224 #endif |
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
225 |
11826
6197ce4cd509
Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
Karl Heuer <kwzh@gnu.org>
parents:
11549
diff
changeset
|
226 #define UNEXEC unexelf.o |
8633
ef773dd417ea
Add LINUX_QMAGIC conditional.
Richard M. Stallman <rms@gnu.org>
parents:
8274
diff
changeset
|
227 |
12720
8033d2412068
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
12314
diff
changeset
|
228 /* This is to work around mysterious gcc failures in some system versions. |
8033d2412068
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
12314
diff
changeset
|
229 It is unlikely that Emacs changes will work around this problem; |
8033d2412068
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
12314
diff
changeset
|
230 therefore, this should remain permanently. */ |
7703
2b7b11a5e1e6
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
7632
diff
changeset
|
231 #ifndef HAVE_XRMSETDATABASE |
2b7b11a5e1e6
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
7632
diff
changeset
|
232 #define HAVE_XRMSETDATABASE |
2b7b11a5e1e6
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
7632
diff
changeset
|
233 #endif |
11549
bfb9b93ee7e9
(REGEXP_IN_LIBC): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
11292
diff
changeset
|
234 |
14871 | 235 /* Use BSD process groups, but use setpgid() instead of setpgrp() to |
236 actually set a process group. */ | |
96985
e58e8418725b
* m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
96923
diff
changeset
|
237 /* Interesting: only GNU/Linux defines this, but the BSDs do not... */ |
14871 | 238 #define BSD_PGRPS |
23974
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
239 |
25032 | 240 #define NARROWPROTO 1 |
241 | |
23974
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
242 /* Use mmap directly for allocating larger buffers. */ |
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
243 #ifdef DOUG_LEA_MALLOC |
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
244 #undef REL_ALLOC |
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
245 #endif |
28378
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
246 |
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
247 /* Tell that garbage collector that setjmp is known to save all |
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
248 registers relevant for conservative garbage collection in the |
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
249 jmp_buf. */ |
49413
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
250 /* Not all the architectures are tested, but there are Debian packages |
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
251 for SCM and/or Guile on them, so the technique must work. See also |
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
252 comments in alloc.c concerning setjmp and gcc. Fixme: it's |
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
253 probably safe to make this conditional just on GCC, except for ia64 |
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
254 register window-flushing. */ |
33654 | 255 /* Don't use #cpu here since in newest development versions of GCC, |
256 we must call cpp with -traditional, and that disables #cpu. */ | |
257 | |
49413
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
258 #if defined __i386__ || defined __sparc__ || defined __mc68000__ \ |
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
259 || defined __alpha__ || defined __mips__ || defined __s390__ \ |
58594
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
260 || defined __arm__ || defined __powerpc__ || defined __amd64__ \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
261 || defined __ia64__ |
28378
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
262 #define GC_SETJMP_WORKS 1 |
34470
286c73f656a1
(GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
Gerd Moellmann <gerd@gnu.org>
parents:
33654
diff
changeset
|
263 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
43162
a62b272dc382
(GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents:
43071
diff
changeset
|
264 #ifdef __mc68000__ |
a62b272dc382
(GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents:
43071
diff
changeset
|
265 #define GC_LISP_OBJECT_ALIGNMENT 2 |
28378
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
266 #endif |
58594
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
267 #ifdef __ia64__ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
268 #define GC_MARK_SECONDARY_STACK() \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
269 do { \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
270 extern void *__libc_ia64_register_backing_store_base; \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
271 __builtin_ia64_flushrs (); \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
272 mark_memory (__libc_ia64_register_backing_store_base, \ |
74043
2bd7a6d6a83f
(GC_MARK_SECONDARY_STACK): Update call to
Andreas Schwab <schwab@suse.de>
parents:
73073
diff
changeset
|
273 __builtin_ia64_bsp (), 0); \ |
58594
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
274 } while (0) |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
275 #endif |
43162
a62b272dc382
(GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents:
43071
diff
changeset
|
276 #endif |
52401 | 277 |
278 /* arch-tag: 6244ea2a-abd0-44ec-abec-ff3dcc9afea9 | |
279 (do not change this comment) */ |