Mercurial > emacs
annotate src/s/gnu-linux.h @ 97975:1a78b3eae932
*** empty log message ***
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 04 Sep 2008 06:11:18 +0000 |
parents | 3866542dcfee |
children | 876b289a899e |
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 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 | |
97225
3866542dcfee
(HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
Eli Zaretskii <eliz@gnu.org>
parents:
96985
diff
changeset
|
108 /* These are used in Flist_system_processes and Fsystem_process_attributes. */ |
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 #define LISTPROC procfs_list_system_processes |
3866542dcfee
(HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
Eli Zaretskii <eliz@gnu.org>
parents:
96985
diff
changeset
|
111 #define PROCATTR procfs_system_process_attributes |
3866542dcfee
(HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
Eli Zaretskii <eliz@gnu.org>
parents:
96985
diff
changeset
|
112 |
2915 | 113 /* define MAIL_USE_FLOCK if the mailer uses flock |
114 to interlock access to /usr/spool/mail/$USER. | |
115 The alternative is that a lock file named | |
116 /usr/spool/mail/$USER.lock. */ | |
117 | |
15478 | 118 /* On GNU/Linux systems, both methods are used by various mail |
119 programs. I assume that most people are using newer mailers that | |
120 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
|
121 /* 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
|
122 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
|
123 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
|
124 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
|
125 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
|
126 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
|
127 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
|
128 correct logic. -- fx */ |
73073
bf1ea63459be
(MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
Romain Francoise <romain@orebokech.com>
parents:
71578
diff
changeset
|
129 /* 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
|
130 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
|
131 Debian systems and elsewhere. -rfr */ |
2915 | 132 |
73073
bf1ea63459be
(MAIL_USE_FLOCK): Check for HAVE_LIBLOCKFILE too.
Romain Francoise <romain@orebokech.com>
parents:
71578
diff
changeset
|
133 #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
|
134 defined (HAVE_MAILLOCK_H)) |
2915 | 135 #define MAIL_USE_FLOCK |
51109
cf8a7f2ef2c3
(MAIL_USE_FLOCK): Make it conditional.
Dave Love <fx@gnu.org>
parents:
49413
diff
changeset
|
136 #endif |
2915 | 137 |
138 /* Define CLASH_DETECTION if you want lock files to be written | |
139 so that Emacs can tell instantly when you try to modify | |
140 a file that someone else has modified in his Emacs. */ | |
141 | |
7835
27ec793a0e99
(CLASH_DETECTION): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
7703
diff
changeset
|
142 #define CLASH_DETECTION |
2915 | 143 |
144 /* Here, on a separate page, add any special hacks needed | |
145 to make Emacs work on this system. For example, | |
146 you might define certain system call names that don't | |
147 exist on your system, or that do different things on | |
148 your system and must be used only through an encapsulation | |
149 (Which you should place, by convention, in sysdep.c). */ | |
150 | |
14777 | 151 /* This is needed for dispnew.c:update_frame */ |
2915 | 152 |
5387
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
153 #ifdef emacs |
8274
04eeb3ed2828
[emacs]: Include stdio.h.
Richard M. Stallman <rms@gnu.org>
parents:
7972
diff
changeset
|
154 #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
|
155 #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
|
156 /* new C libio names */ |
7555
85afced1519c
(GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
Richard M. Stallman <rms@gnu.org>
parents:
7307
diff
changeset
|
157 #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
|
158 ((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
|
159 #else /* !_IO_STDIO_H */ |
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
160 /* old C++ iostream names */ |
7555
85afced1519c
(GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
Richard M. Stallman <rms@gnu.org>
parents:
7307
diff
changeset
|
161 #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
|
162 ((FILE)->_pptr - (FILE)->_pbase) |
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
163 #endif /* !_IO_STDIO_H */ |
f99b0175322e
(PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents:
5363
diff
changeset
|
164 #endif /* emacs */ |
2915 | 165 |
12306
173396dad212
(LIB_GCC): Define here, overriding Makefile.in.in,
Richard M. Stallman <rms@gnu.org>
parents:
11828
diff
changeset
|
166 /* Ask GCC where to find libgcc.a. */ |
12314
b55e6abc0f0e
(LIB_GCC): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents:
12306
diff
changeset
|
167 #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
|
168 |
15699 | 169 #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o |
2915 | 170 |
15404
9f223b2f92ac
[__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
14990
diff
changeset
|
171 /* 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
|
172 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
|
173 |
18398
3c18aa006200
(LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
16221
diff
changeset
|
174 #ifdef __mips__ |
3c18aa006200
(LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
16221
diff
changeset
|
175 #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
|
176 #else |
15404
9f223b2f92ac
[__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
14990
diff
changeset
|
177 #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
|
178 #endif /* __mips__ */ |
39494
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
179 |
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
180 /* Link temacs with -z nocombreloc so that unexec works right, whether or |
39496 | 181 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
|
182 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
|
183 -z combreloc. */ |
4a51dde8ee81
(LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents:
35150
diff
changeset
|
184 #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
|
185 |
2915 | 186 #ifdef emacs |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
187 #define INTERRUPT_INPUT |
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
188 #endif |
2915 | 189 |
190 #define SYSV_SYSTEM_DIR /* use dirent.h */ | |
191 | |
4825 | 192 #define POSIX /* affects getpagesize.h and systty.h */ |
2915 | 193 #define POSIX_SIGNALS |
194 | |
195 /* Best not to include -lg, unless it is last on the command line */ | |
196 #define LIBS_DEBUG | |
12314
b55e6abc0f0e
(LIB_GCC): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents:
12306
diff
changeset
|
197 #undef LIB_GCC |
11826
6197ce4cd509
Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
Karl Heuer <kwzh@gnu.org>
parents:
11549
diff
changeset
|
198 #define LIB_GCC |
15699 | 199 #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
|
200 |
7956
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
201 /* 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
|
202 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
|
203 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
|
204 #ifdef THIS_IS_CONFIGURE |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
205 #define C_DEBUG_SWITCH |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
206 #endif |
eaca9ccb9f4a
(C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents:
7835
diff
changeset
|
207 |
4719
f250e1299a74
(LIBS_MACHINE): Make definition empty.
Richard M. Stallman <rms@gnu.org>
parents:
3824
diff
changeset
|
208 /* 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
|
209 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
|
210 #define LIBS_SYSTEM |
49413
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
211 /* _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
|
212 _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
|
213 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
|
214 #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
|
215 |
13623
276f513076a9
(LIB_MOTIF): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
13592
diff
changeset
|
216 /* 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
|
217 #define LIB_MOTIF -lXm -lXpm |
276f513076a9
(LIB_MOTIF): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
13592
diff
changeset
|
218 |
14958
19c05cbf2811
Test HAVE_LIBNCURSES, not HAVE_NCURSES
Richard M. Stallman <rms@gnu.org>
parents:
14949
diff
changeset
|
219 #ifdef HAVE_LIBNCURSES |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
220 #define TERMINFO |
14949
e827a568785f
[HAVE_NCURSES] (LIBS_TERMCAP): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14918
diff
changeset
|
221 #define LIBS_TERMCAP -lncurses |
14775
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
222 #endif |
f4cc1bc9ec2c
(TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
223 |
11826
6197ce4cd509
Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
Karl Heuer <kwzh@gnu.org>
parents:
11549
diff
changeset
|
224 #define UNEXEC unexelf.o |
8633
ef773dd417ea
Add LINUX_QMAGIC conditional.
Richard M. Stallman <rms@gnu.org>
parents:
8274
diff
changeset
|
225 |
12720
8033d2412068
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
12314
diff
changeset
|
226 /* 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
|
227 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
|
228 therefore, this should remain permanently. */ |
7703
2b7b11a5e1e6
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
7632
diff
changeset
|
229 #ifndef HAVE_XRMSETDATABASE |
2b7b11a5e1e6
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
7632
diff
changeset
|
230 #define HAVE_XRMSETDATABASE |
2b7b11a5e1e6
(HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents:
7632
diff
changeset
|
231 #endif |
11549
bfb9b93ee7e9
(REGEXP_IN_LIBC): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
11292
diff
changeset
|
232 |
14871 | 233 /* Use BSD process groups, but use setpgid() instead of setpgrp() to |
234 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
|
235 /* Interesting: only GNU/Linux defines this, but the BSDs do not... */ |
14871 | 236 #define BSD_PGRPS |
23974
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
237 |
25032 | 238 #define NARROWPROTO 1 |
239 | |
23974
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
240 /* 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
|
241 #ifdef DOUG_LEA_MALLOC |
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
242 #undef REL_ALLOC |
dcc1ebab38c1
[DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents:
22229
diff
changeset
|
243 #endif |
28378
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
244 |
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
245 /* 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
|
246 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
|
247 jmp_buf. */ |
49413
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
248 /* 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
|
249 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
|
250 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
|
251 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
|
252 register window-flushing. */ |
33654 | 253 /* Don't use #cpu here since in newest development versions of GCC, |
254 we must call cpp with -traditional, and that disables #cpu. */ | |
255 | |
49413
8aaa2f3ae722
(GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents:
43162
diff
changeset
|
256 #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
|
257 || defined __alpha__ || defined __mips__ || defined __s390__ \ |
58594
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
258 || defined __arm__ || defined __powerpc__ || defined __amd64__ \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
259 || defined __ia64__ |
28378
65fca17fb602
(GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents:
27679
diff
changeset
|
260 #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
|
261 #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
|
262 #ifdef __mc68000__ |
a62b272dc382
(GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents:
43071
diff
changeset
|
263 #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
|
264 #endif |
58594
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
265 #ifdef __ia64__ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
266 #define GC_MARK_SECONDARY_STACK() \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
267 do { \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
268 extern void *__libc_ia64_register_backing_store_base; \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
269 __builtin_ia64_flushrs (); \ |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
270 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
|
271 __builtin_ia64_bsp (), 0); \ |
58594
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
272 } while (0) |
f86ad7205885
Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents:
56501
diff
changeset
|
273 #endif |
43162
a62b272dc382
(GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents:
43071
diff
changeset
|
274 #endif |
52401 | 275 |
276 /* arch-tag: 6244ea2a-abd0-44ec-abec-ff3dcc9afea9 | |
277 (do not change this comment) */ |