annotate src/s/gnu-linux.h @ 100559:830b13990b6b

(--with-system-malloc): New option; see msdos/INSTALL for rationale.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 19 Dec 2008 11:05:24 +0000
parents 876b289a899e
children dcc7f5970d5c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15478
0be0ca99aa9a Renamed from lignux.h.
Richard M. Stallman <rms@gnu.org>
parents: 15404
diff changeset
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
68df465b9550 Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78259
diff changeset
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 /*
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 * Define symbols to identify the version of Unix this is.
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 * Define all the symbols that apply correctly.
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 */
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 #define USG
41968
464d0a0dcf2e (GNU_LINUX): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 39496
diff changeset
29 #define GNU_LINUX
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 /* SYSTEM_TYPE should indicate the kind of system you are using.
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 It sets the Lisp variable system-type. */
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33
15478
0be0ca99aa9a Renamed from lignux.h.
Richard M. Stallman <rms@gnu.org>
parents: 15404
diff changeset
34 #define SYSTEM_TYPE "gnu/linux" /* All the best software is free. */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
cb1bfa1dca4f * src/fileio.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 94715
diff changeset
42 /* 21 Jun 06: Eric Hanchrow <offby1@blarg.net> says this works. */
cb1bfa1dca4f * src/fileio.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 94715
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
ab2107f870ad Comments.
Dave Love <fx@gnu.org>
parents: 34470
diff changeset
84 #else /* not HAVE_GRANTPT */
29032
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
85
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 #define FIRST_PTY_LETTER 'p'
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96 #define HAVE_TERMIOS
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 #define HAVE_PTYS
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104 /* Define this symbol if your system has the functions bcopy, etc. */
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106 #define BSTRING
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113 /* define MAIL_USE_FLOCK if the mailer uses flock
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114 to interlock access to /usr/spool/mail/$USER.
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115 The alternative is that a lock file named
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116 /usr/spool/mail/$USER.lock. */
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117
15478
0be0ca99aa9a Renamed from lignux.h.
Richard M. Stallman <rms@gnu.org>
parents: 15404
diff changeset
118 /* On GNU/Linux systems, both methods are used by various mail
0be0ca99aa9a Renamed from lignux.h.
Richard M. Stallman <rms@gnu.org>
parents: 15404
diff changeset
119 programs. I assume that most people are using newer mailers that
0be0ca99aa9a Renamed from lignux.h.
Richard M. Stallman <rms@gnu.org>
parents: 15404
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138 /* Define CLASH_DETECTION if you want lock files to be written
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139 so that Emacs can tell instantly when you try to modify
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140 a file that someone else has modified in his Emacs. */
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141
7835
27ec793a0e99 (CLASH_DETECTION): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 7703
diff changeset
142 #define CLASH_DETECTION
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 /* Here, on a separate page, add any special hacks needed
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145 to make Emacs work on this system. For example,
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146 you might define certain system call names that don't
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147 exist on your system, or that do different things on
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
148 your system and must be used only through an encapsulation
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
149 (Which you should place, by convention, in sysdep.c). */
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150
14777
658f41757279 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 14775
diff changeset
151 /* This is needed for dispnew.c:update_frame */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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)
98455
876b289a899e * gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97225
diff changeset
159 #elif defined (__UCLIBC__)
876b289a899e * gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97225
diff changeset
160 /* using the uClibc library */
876b289a899e * gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97225
diff changeset
161 #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
162 ((FILE)->__bufpos - (FILE)->__bufstart)
876b289a899e * gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97225
diff changeset
163 #else /* !_IO_STDIO_H && ! __UCLIBC__ */
5387
f99b0175322e (PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents: 5363
diff changeset
164 /* old C++ iostream names */
7555
85afced1519c (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
165 #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
166 ((FILE)->_pptr - (FILE)->_pbase)
98455
876b289a899e * gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97225
diff changeset
167 #endif /* !_IO_STDIO_H && ! __UCLIBC__ */
5387
f99b0175322e (PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents: 5363
diff changeset
168 #endif /* emacs */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
169
12306
173396dad212 (LIB_GCC): Define here, overriding Makefile.in.in,
Richard M. Stallman <rms@gnu.org>
parents: 11828
diff changeset
170 /* Ask GCC where to find libgcc.a. */
12314
b55e6abc0f0e (LIB_GCC): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 12306
diff changeset
171 #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
172
15699
51f02643830c Undo previous change.
Karl Heuer <kwzh@gnu.org>
parents: 15697
diff changeset
173 #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
174
15404
9f223b2f92ac [__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 14990
diff changeset
175 /* 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
176 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
177
18398
3c18aa006200 (LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents: 16221
diff changeset
178 #ifdef __mips__
3c18aa006200 (LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
Richard M. Stallman <rms@gnu.org>
parents: 16221
diff changeset
179 #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
180 #else
15404
9f223b2f92ac [__ELF__] (LD_SWITCH_SYSTEM): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 14990
diff changeset
181 #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
182 #endif /* __mips__ */
39494
4a51dde8ee81 (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents: 35150
diff changeset
183
4a51dde8ee81 (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents: 35150
diff changeset
184 /* Link temacs with -z nocombreloc so that unexec works right, whether or
39496
8e1f1f05b742 Fix a typo in comment.
Pavel Janík <Pavel@Janik.cz>
parents: 39494
diff changeset
185 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
186 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
187 -z combreloc. */
4a51dde8ee81 (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
Andreas Schwab <schwab@suse.de>
parents: 35150
diff changeset
188 #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
189
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
190 #ifdef emacs
14775
f4cc1bc9ec2c (TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
191 #define INTERRUPT_INPUT
f4cc1bc9ec2c (TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
192 #endif
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
193
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
194 #define SYSV_SYSTEM_DIR /* use dirent.h */
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
195
4825
d60016b1f6da Comment update reflects reality.
Brian Fox <bfox@gnu.org>
parents: 4719
diff changeset
196 #define POSIX /* affects getpagesize.h and systty.h */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
197 #define POSIX_SIGNALS
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
198
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
199 /* Best not to include -lg, unless it is last on the command line */
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
200 #define LIBS_DEBUG
12314
b55e6abc0f0e (LIB_GCC): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 12306
diff changeset
201 #undef LIB_GCC
11826
6197ce4cd509 Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
Karl Heuer <kwzh@gnu.org>
parents: 11549
diff changeset
202 #define LIB_GCC
15699
51f02643830c Undo previous change.
Karl Heuer <kwzh@gnu.org>
parents: 15697
diff changeset
203 #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
204
7956
eaca9ccb9f4a (C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents: 7835
diff changeset
205 /* 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
206 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
207 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
208 #ifdef THIS_IS_CONFIGURE
eaca9ccb9f4a (C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents: 7835
diff changeset
209 #define C_DEBUG_SWITCH
eaca9ccb9f4a (C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents: 7835
diff changeset
210 #endif
eaca9ccb9f4a (C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
Richard M. Stallman <rms@gnu.org>
parents: 7835
diff changeset
211
4719
f250e1299a74 (LIBS_MACHINE): Make definition empty.
Richard M. Stallman <rms@gnu.org>
parents: 3824
diff changeset
212 /* 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
213 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
214 #define LIBS_SYSTEM
49413
8aaa2f3ae722 (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents: 43162
diff changeset
215 /* _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
216 _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
217 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
218 #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
219
13623
276f513076a9 (LIB_MOTIF): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 13592
diff changeset
220 /* 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
221 #define LIB_MOTIF -lXm -lXpm
276f513076a9 (LIB_MOTIF): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 13592
diff changeset
222
14958
19c05cbf2811 Test HAVE_LIBNCURSES, not HAVE_NCURSES
Richard M. Stallman <rms@gnu.org>
parents: 14949
diff changeset
223 #ifdef HAVE_LIBNCURSES
14775
f4cc1bc9ec2c (TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
224 #define TERMINFO
14949
e827a568785f [HAVE_NCURSES] (LIBS_TERMCAP): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 14918
diff changeset
225 #define LIBS_TERMCAP -lncurses
14775
f4cc1bc9ec2c (TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
226 #endif
f4cc1bc9ec2c (TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
227
11826
6197ce4cd509 Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
Karl Heuer <kwzh@gnu.org>
parents: 11549
diff changeset
228 #define UNEXEC unexelf.o
8633
ef773dd417ea Add LINUX_QMAGIC conditional.
Richard M. Stallman <rms@gnu.org>
parents: 8274
diff changeset
229
12720
8033d2412068 (HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents: 12314
diff changeset
230 /* 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
231 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
232 therefore, this should remain permanently. */
7703
2b7b11a5e1e6 (HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents: 7632
diff changeset
233 #ifndef HAVE_XRMSETDATABASE
2b7b11a5e1e6 (HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents: 7632
diff changeset
234 #define HAVE_XRMSETDATABASE
2b7b11a5e1e6 (HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents: 7632
diff changeset
235 #endif
11549
bfb9b93ee7e9 (REGEXP_IN_LIBC): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 11292
diff changeset
236
14871
cb986696ec03 (setpgrp): New macro.
Richard M. Stallman <rms@gnu.org>
parents: 14839
diff changeset
237 /* Use BSD process groups, but use setpgid() instead of setpgrp() to
cb986696ec03 (setpgrp): New macro.
Richard M. Stallman <rms@gnu.org>
parents: 14839
diff changeset
238 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
239 /* Interesting: only GNU/Linux defines this, but the BSDs do not... */
14871
cb986696ec03 (setpgrp): New macro.
Richard M. Stallman <rms@gnu.org>
parents: 14839
diff changeset
240 #define BSD_PGRPS
23974
dcc1ebab38c1 [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents: 22229
diff changeset
241
25032
ae314c884db0 (NARROWPROTO): New.
Gerd Moellmann <gerd@gnu.org>
parents: 23974
diff changeset
242 #define NARROWPROTO 1
ae314c884db0 (NARROWPROTO): New.
Gerd Moellmann <gerd@gnu.org>
parents: 23974
diff changeset
243
23974
dcc1ebab38c1 [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents: 22229
diff changeset
244 /* 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
245 #ifdef DOUG_LEA_MALLOC
dcc1ebab38c1 [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents: 22229
diff changeset
246 #undef REL_ALLOC
dcc1ebab38c1 [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
Richard M. Stallman <rms@gnu.org>
parents: 22229
diff changeset
247 #endif
28378
65fca17fb602 (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents: 27679
diff changeset
248
65fca17fb602 (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents: 27679
diff changeset
249 /* 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
250 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
251 jmp_buf. */
49413
8aaa2f3ae722 (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents: 43162
diff changeset
252 /* 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
253 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
254 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
255 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
256 register window-flushing. */
33654
75dc719a7183 Don't use `#cpu'.
Gerd Moellmann <gerd@gnu.org>
parents: 29850
diff changeset
257 /* Don't use #cpu here since in newest development versions of GCC,
75dc719a7183 Don't use `#cpu'.
Gerd Moellmann <gerd@gnu.org>
parents: 29850
diff changeset
258 we must call cpp with -traditional, and that disables #cpu. */
75dc719a7183 Don't use `#cpu'.
Gerd Moellmann <gerd@gnu.org>
parents: 29850
diff changeset
259
49413
8aaa2f3ae722 (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents: 43162
diff changeset
260 #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
261 || defined __alpha__ || defined __mips__ || defined __s390__ \
58594
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
262 || defined __arm__ || defined __powerpc__ || defined __amd64__ \
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
263 || defined __ia64__
28378
65fca17fb602 (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents: 27679
diff changeset
264 #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
265 #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
266 #ifdef __mc68000__
a62b272dc382 (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents: 43071
diff changeset
267 #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
268 #endif
58594
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
269 #ifdef __ia64__
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
270 #define GC_MARK_SECONDARY_STACK() \
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
271 do { \
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
272 extern void *__libc_ia64_register_backing_store_base; \
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
273 __builtin_ia64_flushrs (); \
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
274 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
275 __builtin_ia64_bsp (), 0); \
58594
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
276 } while (0)
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
277 #endif
43162
a62b272dc382 (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents: 43071
diff changeset
278 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51109
diff changeset
279
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51109
diff changeset
280 /* arch-tag: 6244ea2a-abd0-44ec-abec-ff3dcc9afea9
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51109
diff changeset
281 (do not change this comment) */