Mercurial > emacs
annotate src/s/gnu-linux.h @ 96713:cedc8de2b011
*** empty log message ***
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Wed, 16 Jul 2008 02:52:49 +0000 |
parents | 79121a8f01e3 |
children | 1e0b67e40d48 |
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, |
79756 | 3 2005, 2006, 2007, 2008 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 USG5 */ | |
29 #define USG | |
16221 | 30 /* #define BSD_SYSTEM */ |
41968 | 31 #define GNU_LINUX |
2915 | 32 |
33 /* SYSTEM_TYPE should indicate the kind of system you are using. | |
34 It sets the Lisp variable system-type. */ | |
35 | |
15478 | 36 #define SYSTEM_TYPE "gnu/linux" /* All the best software is free. */ |
2915 | 37 |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
38 #ifndef NOT_C_CODE |
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
39 #ifdef emacs |
14839
bc1d2478d392
Test HAVE_LINUX_VERSION_H, not HAVE_VERSION_H.
Richard M. Stallman <rms@gnu.org>
parents:
14824
diff
changeset
|
40 #ifdef HAVE_LINUX_VERSION_H |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
41 #include <linux/version.h> |
2915 | 42 |
71477
eb1fe905e1f8
(SIGNALS_VIA_CHARACTERS): Define for Linux kernel
Kim F. Storm <storm@cua.dk>
parents:
68651
diff
changeset
|
43 #if LINUX_VERSION_CODE >= 0x20400 |
96595 | 44 /* 21 Jun 06: Eric Hanchrow <offby1@blarg.net> says this works. */ |
45 #define SIGNALS_VIA_CHARACTERS | |
71477
eb1fe905e1f8
(SIGNALS_VIA_CHARACTERS): Define for Linux kernel
Kim F. Storm <storm@cua.dk>
parents:
68651
diff
changeset
|
46 #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
|
47 #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
|
48 #endif /* emacs */ |
f56bb68b6903
(LINUX_SIGIO_DOES_WORK): Define only if HAVE_VERSION_H.
Richard M. Stallman <rms@gnu.org>
parents:
14777
diff
changeset
|
49 #endif /* NOT_C_CODE */ |
2915 | 50 |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
51 #if defined HAVE_GRANTPT |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
52 #define UNIX98_PTYS |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
53 |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
54 /* 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
|
55 `continue'. */ |
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 #define PTY_ITERATION for (i = 0; i < 1; i++) |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
58 |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
59 #ifdef HAVE_GETPT |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
60 #define PTY_NAME_SPRINTF |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
61 #define PTY_OPEN fd = getpt () |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
62 #else /* not HAVE_GETPT */ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
63 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
64 #endif /* not HAVE_GETPT */ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
65 |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
66 /* 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
|
67 prevent sigchld_handler from intercepting the child's death. */ |
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 #define PTY_TTY_NAME_SPRINTF \ |
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 char *ptyname; \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
72 \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
73 sigblock (sigmask (SIGCHLD)); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
74 if (grantpt (fd) == -1 || unlockpt (fd) == -1 \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
75 || !(ptyname = ptsname(fd))) \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
76 { \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
77 sigunblock (sigmask (SIGCHLD)); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
78 close (fd); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
79 return -1; \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
80 } \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
81 strncpy (pty_name, ptyname, sizeof (pty_name)); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
82 pty_name[sizeof (pty_name) - 1] = 0; \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
83 sigunblock (sigmask (SIGCHLD)); \ |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
84 } |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
85 |
35150 | 86 #else /* not HAVE_GRANTPT */ |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
87 |
2915 | 88 /* 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
|
89 if system supports pty's. 'p' means it is /dev/ptyp0 */ |
2915 | 90 |
91 #define FIRST_PTY_LETTER 'p' | |
92 | |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
93 #endif /* not HAVE_GRANDPT */ |
26212
539733154e0a
[HAVE_DEV_PTMX]: Redefine FIRST_PTY_LETTER to 'z'.
Gerd Moellmann <gerd@gnu.org>
parents:
26090
diff
changeset
|
94 |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
95 /* Define HAVE_TERMIOS if the system provides POSIX-style |
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
96 functions and macros for terminal control. */ |
2915 | 97 |
98 #define HAVE_TERMIOS | |
99 | |
29032
659202362f2b
(UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents:
28378
diff
changeset
|
100 /* Define HAVE_PTYS if the system supports pty devices. */ |
2915 | 101 |
102 #define HAVE_PTYS | |
103 | |
3014
a416873d97e5
* s/linux.h (HAVE_DUP2, HAVE_ALLOCA_H): Deleted.
Jim Blandy <jimb@redhat.com>
parents:
2989
diff
changeset
|
104 #define HAVE_SOCKETS |
2915 | 105 |
106 /* Define this symbol if your system has the functions bcopy, etc. */ | |
107 | |
108 #define BSTRING | |
109 | |
110 /* subprocesses should be defined if you want to | |
111 have code for asynchronous subprocesses | |
112 (as used in M-x compile and M-x shell). | |
113 This is generally OS dependent, and not supported | |
114 under most USG systems. */ | |
115 | |
116 #define subprocesses | |
117 | |
118 /* define MAIL_USE_FLOCK if the mailer uses flock | |
119 to interlock access to /usr/spool/mail/$USER. | |
120 The alternative is that a lock file named | |
121 /usr/spool/mail/$USER.lock. */ | |
122 | |
15478 | 123 /* On GNU/Linux systems, both methods are used by various mail |
124 programs. I assume that most people are using newer mailers that | |
125 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
|
126 /* 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
|
127 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
|
128 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
|
129 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
|
130 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
|
131 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
|
132 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
|
133 correct logic. -- fx */ |
73073
bf1ea63459be
(MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
Romain Francoise <romain@orebokech.com>
parents:
71578
diff
changeset
|
134 /* 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
|
135 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
|
136 Debian systems and elsewhere. -rfr */ |
2915 | 137 |
73073
bf1ea63459be
(MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
Romain Francoise <romain@orebokech.com>
parents:
71578
diff
changeset
|
138 #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
|
139 defined (HAVE_MAILLOCK_H)) |
2915 | 140 #define MAIL_USE_FLOCK |
51109
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
141 #endif |
2915 | 142 |
143 /* Define CLASH_DETECTION if you want lock files to be written | |
144 so that Emacs can tell instantly when you try to modify | |
145 a file that someone else has modified in his Emacs. */ | |
146 | |
7835
27ec793a0e99
(CLASH_DETECTION): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
7703
diff
changeset
|
147 #define CLASH_DETECTION |
2915 | 148 |
149 /* Here, on a separate page, add any special hacks needed | |
150 to make Emacs work on this system. For example, | |
151 you might define certain system call names that don't | |
152 exist on your system, or that do different things on | |
153 your system and must be used only through an encapsulation | |
154 (Which you should place, by convention, in sysdep.c). */ | |
155 | |
156 /* If you mount the proc file system somewhere other than /proc | |
157 you will have to uncomment the following and make the proper | |
158 changes */ | |
159 | |
160 /* #define LINUX_LDAV_FILE "/proc/loadavg" */ | |
161 | |
14777 | 162 /* This is needed for dispnew.c:update_frame */ |
2915 | 163 |
5387
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
164 #ifdef emacs |
8274
04eeb3ed2828
[emacs]: Include stdio.h.
Richard M. Stallman <rms@gnu.org>
parents:
7972
diff
changeset
|
165 #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
|
166 #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
|
167 /* new C libio names */ |
7555
85afced1519c
(GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
Richard M. Stallman <rms@gnu.org>
parents:
7307
diff
changeset
|
168 #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
|
169 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base) |
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
170 #else /* !_IO_STDIO_H */ |
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
171 /* old C++ iostream names */ |
7555
85afced1519c
(GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
Richard M. Stallman <rms@gnu.org>
parents:
7307
diff
changeset
|
172 #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
|
173 ((FILE)->_pptr - (FILE)->_pbase) |
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
174 #endif /* !_IO_STDIO_H */ |
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
175 #endif /* emacs */ |
2915 | 176 |
12306
173396dad212
(LIB_GCC): Define here, overriding Makefile.in.in,
Richard M. Stallman <rms@gnu.org>
parents:
11828
diff
changeset
|
177 /* Ask GCC where to find libgcc.a. */ |
12314
b55e6abc0f0e
(LIB_GCC): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents:
12306
diff
changeset
|
178 #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
|
179 |
15699 | 180 #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o |
2915 | 181 |
15404
9f223b2f92ac
[__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
14990
diff
changeset
|
182 /* 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
|
183 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
|
184 |
18398
3c18aa006200
(LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
16221
diff
changeset
|
185 #ifdef __mips__ |
3c18aa006200
(LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
16221
diff
changeset
|
186 #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
|
187 #else |
15404
9f223b2f92ac
[__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
14990
diff
changeset
|
188 #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
|
189 #endif /* __mips__ */ |
39494
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
190 |
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
191 /* Link temacs with -z nocombreloc so that unexec works right, whether or |
39496 | 192 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
|
193 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
|
194 -z combreloc. */ |
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
195 #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
|
196 |
2915 | 197 #ifdef emacs |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
198 #define INTERRUPT_INPUT |
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
199 #endif |
2915 | 200 |
201 /* This is needed for sysdep.c */ | |
202 | |
203 #define NO_SIOCTL_H /* don't have sioctl.h */ | |
204 | |
205 #define SYSV_SYSTEM_DIR /* use dirent.h */ | |
206 | |
4825 | 207 #define POSIX /* affects getpagesize.h and systty.h */ |
2915 | 208 #define POSIX_SIGNALS |
209 | |
210 /* Best not to include -lg, unless it is last on the command line */ | |
211 #define LIBS_DEBUG | |
12314
b55e6abc0f0e
(LIB_GCC): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents:
12306
diff
changeset
|
212 #undef LIB_GCC |
11826
6197ce4cd509
Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
Karl Heuer <kwzh@gnu.org>
parents:
11549
diff
changeset
|
213 #define LIB_GCC |
15699 | 214 #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
|
215 |
7956
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
216 /* 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
|
217 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
|
218 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
|
219 #ifdef THIS_IS_CONFIGURE |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
220 #define C_DEBUG_SWITCH |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
221 #endif |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
222 |
3729
b9d69ed987e7
* s/linux.h (LIBS_MACHINE, HAVE_SYSVIPC): Set the former to -lipc,
Jim Blandy <jimb@redhat.com>
parents:
3680
diff
changeset
|
223 /* Rob Malouf <malouf@csli.stanford.edu> says: |
b9d69ed987e7
* s/linux.h (LIBS_MACHINE, HAVE_SYSVIPC): Set the former to -lipc,
Jim Blandy <jimb@redhat.com>
parents:
3680
diff
changeset
|
224 SYSV IPC is standard a standard part of Linux since version 0.99pl10, |
b9d69ed987e7
* s/linux.h (LIBS_MACHINE, HAVE_SYSVIPC): Set the former to -lipc,
Jim Blandy <jimb@redhat.com>
parents:
3680
diff
changeset
|
225 and is a very common addition to previous versions. */ |
4913
eb26686b99cf
[TERM]: Alternate definitions of LIBS_MACHINE and C_SWITCH_MACHINE.
Richard M. Stallman <rms@gnu.org>
parents:
4825
diff
changeset
|
226 |
eb26686b99cf
[TERM]: Alternate definitions of LIBS_MACHINE and C_SWITCH_MACHINE.
Richard M. Stallman <rms@gnu.org>
parents:
4825
diff
changeset
|
227 #ifdef TERM |
12829
f36fccc38b0d
(ULIMIT_BREAK_VALUE, SEGMENT_MASK): Moved to intel386.h
Richard M. Stallman <rms@gnu.org>
parents:
12720
diff
changeset
|
228 #define LIBS_SYSTEM -lclient |
4913
eb26686b99cf
[TERM]: Alternate definitions of LIBS_MACHINE and C_SWITCH_MACHINE.
Richard M. Stallman <rms@gnu.org>
parents:
4825
diff
changeset
|
229 #define C_SWITCH_SYSTEM -D_BSD_SOURCE -I/usr/src/term |
eb26686b99cf
[TERM]: Alternate definitions of LIBS_MACHINE and C_SWITCH_MACHINE.
Richard M. Stallman <rms@gnu.org>
parents:
4825
diff
changeset
|
230 #else |
4719
f250e1299a74
(LIBS_MACHINE): Make definition empty.
Richard M. Stallman <rms@gnu.org>
parents:
3824
diff
changeset
|
231 /* 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
|
232 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
|
233 #define LIBS_SYSTEM |
49413
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
234 /* _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
|
235 _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
|
236 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
|
237 #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
|
238 #endif |
eb26686b99cf
[TERM]: Alternate definitions of LIBS_MACHINE and C_SWITCH_MACHINE.
Richard M. Stallman <rms@gnu.org>
parents:
4825
diff
changeset
|
239 |
13623
276f513076a9
(LIB_MOTIF): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
13592
diff
changeset
|
240 /* 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
|
241 #define LIB_MOTIF -lXm -lXpm |
276f513076a9
(LIB_MOTIF): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
13592
diff
changeset
|
242 |
14958
19c05cbf2811
Test HAVE_LIBNCURSES, not HAVE_NCURSES
Richard M. Stallman <rms@gnu.org>
parents:
14949
diff
changeset
|
243 #ifdef HAVE_LIBNCURSES |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
244 #define TERMINFO |
14949
e827a568785f
[HAVE_NCURSES] (LIBS_TERMCAP): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14918
diff
changeset
|
245 #define LIBS_TERMCAP -lncurses |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
246 #endif |
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
247 |
3729
b9d69ed987e7
* s/linux.h (LIBS_MACHINE, HAVE_SYSVIPC): Set the former to -lipc,
Jim Blandy <jimb@redhat.com>
parents:
3680
diff
changeset
|
248 #define HAVE_SYSVIPC |
5363
d37a5b990e49
(A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
5071
diff
changeset
|
249 |
11826
6197ce4cd509
Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
Karl Heuer <kwzh@gnu.org>
parents:
11549
diff
changeset
|
250 #define UNEXEC unexelf.o |
8633
ef773dd417ea
Add LINUX_QMAGIC conditional.
Richard M. Stallman <rms@gnu.org>
parents:
8274
diff
changeset
|
251 |
5363
d37a5b990e49
(A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
5071
diff
changeset
|
252 #define A_TEXT_OFFSET(hdr) (N_MAGIC(hdr) == QMAGIC ? sizeof (struct exec) : 0) |
d37a5b990e49
(A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
5071
diff
changeset
|
253 #define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr)) |
d37a5b990e49
(A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
5071
diff
changeset
|
254 #define ADJUST_EXEC_HEADER \ |
d37a5b990e49
(A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
5071
diff
changeset
|
255 unexec_text_start = N_TXTADDR(ohdr) + A_TEXT_OFFSET(ohdr) |
7632
8abb5c77cc2a
(HAVE_GETTIMEOFDAY, HAVE_MKDIR, HAVE_RMDIR)
Richard M. Stallman <rms@gnu.org>
parents:
7555
diff
changeset
|
256 |
12720
8033d2412068
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
12314
diff
changeset
|
257 /* 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
|
258 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
|
259 therefore, this should remain permanently. */ |
7703
2b7b11a5e1e6
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
7632
diff
changeset
|
260 #ifndef HAVE_XRMSETDATABASE |
2b7b11a5e1e6
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
7632
diff
changeset
|
261 #define HAVE_XRMSETDATABASE |
2b7b11a5e1e6
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
7632
diff
changeset
|
262 #endif |
11549
bfb9b93ee7e9
(REGEXP_IN_LIBC): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
11292
diff
changeset
|
263 |
14871 | 264 /* Use BSD process groups, but use setpgid() instead of setpgrp() to |
265 actually set a process group. */ | |
266 | |
267 #define BSD_PGRPS | |
23974
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
268 |
25032 | 269 #define NARROWPROTO 1 |
270 | |
23974
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
271 /* 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
|
272 #ifdef DOUG_LEA_MALLOC |
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
273 #undef REL_ALLOC |
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
274 #endif |
28378
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
275 |
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
276 /* 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
|
277 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
|
278 jmp_buf. */ |
49413
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
279 /* 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
|
280 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
|
281 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
|
282 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
|
283 register window-flushing. */ |
33654 | 284 /* Don't use #cpu here since in newest development versions of GCC, |
285 we must call cpp with -traditional, and that disables #cpu. */ | |
286 | |
49413
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
287 #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
|
288 || defined __alpha__ || defined __mips__ || defined __s390__ \ |
58594
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
289 || defined __arm__ || defined __powerpc__ || defined __amd64__ \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
290 || defined __ia64__ |
28378
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
291 #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
|
292 #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
|
293 #ifdef __mc68000__ |
a62b272dc382
(GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents:
43071
diff
changeset
|
294 #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
|
295 #endif |
58594
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
296 #ifdef __ia64__ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
297 #define GC_MARK_SECONDARY_STACK() \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
298 do { \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
299 extern void *__libc_ia64_register_backing_store_base; \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
300 __builtin_ia64_flushrs (); \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
301 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
|
302 __builtin_ia64_bsp (), 0); \ |
58594
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
303 } while (0) |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
304 #endif |
43162
a62b272dc382
(GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents:
43071
diff
changeset
|
305 #endif |
52401 | 306 |
307 /* arch-tag: 6244ea2a-abd0-44ec-abec-ff3dcc9afea9 | |
308 (do not change this comment) */ |