annotate src/s/gnu-linux.h @ 112433:7b649f6eac4f

Merge from mainline.
author Paul Eggert <eggert@cs.ucla.edu>
date Sat, 22 Jan 2011 17:09:09 -0800
parents 61f7601898b1
children
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
108278
9c003610b6fc Move LD_SWITCH_SYSTEM from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents: 108274
diff changeset
2
9c003610b6fc Move LD_SWITCH_SYSTEM from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents: 108274
diff changeset
3 Copyright (C) 1985, 1986, 1992, 1994, 1996, 1999, 2001, 2002, 2003, 2004,
112284
61f7601898b1 Refill some copyright headers.
Glenn Morris <rgm@gnu.org>
parents: 112278
diff changeset
4 2005, 2006, 2007, 2008, 2009, 2010, 2011
61f7601898b1 Refill some copyright headers.
Glenn Morris <rgm@gnu.org>
parents: 112278
diff changeset
5 Free Software Foundation, Inc.
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
7 This file was put together by Michael K. Johnson and Rik Faith.
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
8
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 This file is part of GNU Emacs.
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
94715
1f134b61867c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 91723
diff changeset
11 GNU Emacs is free software: you can redistribute it and/or modify
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 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
13 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
14 (at your option) any later version.
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 GNU Emacs is distributed in the hope that it will be useful,
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 GNU General Public License for more details.
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 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
22 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
24 /* Define symbols to identify the version of Unix this is.
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
25 Define all the symbols that apply correctly. */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 #define USG
41968
464d0a0dcf2e (GNU_LINUX): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 39496
diff changeset
27 #define GNU_LINUX
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 /* SYSTEM_TYPE should indicate the kind of system you are using.
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
30 It sets the Lisp variable system-type. */
15478
0be0ca99aa9a Renamed from lignux.h.
Richard M. Stallman <rms@gnu.org>
parents: 15404
diff changeset
31 #define SYSTEM_TYPE "gnu/linux" /* All the best software is free. */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32
14775
f4cc1bc9ec2c (TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
33 #ifdef emacs
14839
bc1d2478d392 Test HAVE_LINUX_VERSION_H, not HAVE_VERSION_H.
Richard M. Stallman <rms@gnu.org>
parents: 14824
diff changeset
34 #ifdef HAVE_LINUX_VERSION_H
14775
f4cc1bc9ec2c (TERMINFO): Define, if HAVE_NCURSES.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
35 #include <linux/version.h>
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36
71477
eb1fe905e1f8 (SIGNALS_VIA_CHARACTERS): Define for Linux kernel
Kim F. Storm <storm@cua.dk>
parents: 68651
diff changeset
37 #if LINUX_VERSION_CODE >= 0x20400
96595
cb1bfa1dca4f * src/fileio.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 94715
diff changeset
38 /* 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
39 #define SIGNALS_VIA_CHARACTERS
71477
eb1fe905e1f8 (SIGNALS_VIA_CHARACTERS): Define for Linux kernel
Kim F. Storm <storm@cua.dk>
parents: 68651
diff changeset
40 #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
41 #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
42 #endif /* emacs */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43
29032
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
44 #if defined HAVE_GRANTPT
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
45 #define UNIX98_PTYS
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
46
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
47 /* Run only once. We need a `for'-loop because the code uses `continue'. */
29032
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
48 #define PTY_ITERATION for (i = 0; i < 1; i++)
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
49
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
50 #ifdef HAVE_GETPT
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
51 #define PTY_NAME_SPRINTF
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
52 #define PTY_OPEN fd = getpt ()
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
53 #else /* not HAVE_GETPT */
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
54 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
55 #endif /* not HAVE_GETPT */
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 /* 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
58 prevent sigchld_handler from intercepting the child's death. */
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
59 #define PTY_TTY_NAME_SPRINTF \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
60 { \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
61 char *ptyname; \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
62 \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
63 sigblock (sigmask (SIGCHLD)); \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
64 if (grantpt (fd) == -1 || unlockpt (fd) == -1 \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
65 || !(ptyname = ptsname(fd))) \
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 sigunblock (sigmask (SIGCHLD)); \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
68 close (fd); \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
69 return -1; \
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 strncpy (pty_name, ptyname, sizeof (pty_name)); \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
72 pty_name[sizeof (pty_name) - 1] = 0; \
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
73 sigunblock (sigmask (SIGCHLD)); \
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
35150
ab2107f870ad Comments.
Dave Love <fx@gnu.org>
parents: 34470
diff changeset
76 #else /* not HAVE_GRANTPT */
29032
659202362f2b (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28378
diff changeset
77
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 /* 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
79 if system supports pty's. 'p' means it is /dev/ptyp0 */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80 #define FIRST_PTY_LETTER 'p'
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81
96732
1e0b67e40d48 * systty.h: Remove code for Aix on 386, unsupported platform.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96643
diff changeset
82 #endif /* not HAVE_GRANTPT */
26212
539733154e0a [HAVE_DEV_PTMX]: Redefine FIRST_PTY_LETTER to 'z'.
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
83
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
84 /* Define HAVE_PTYS if the system supports pty devices. */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85 #define HAVE_PTYS
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86
3014
a416873d97e5 * s/linux.h (HAVE_DUP2, HAVE_ALLOCA_H): Deleted.
Jim Blandy <jimb@redhat.com>
parents: 2989
diff changeset
87 #define HAVE_SOCKETS
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88
100565
dcc7f5970d5c Reorganize implementation of Flist_system_processes and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 98455
diff changeset
89 /* This is used in list_system_processes. */
97225
3866542dcfee (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
Eli Zaretskii <eliz@gnu.org>
parents: 96985
diff changeset
90 #define HAVE_PROCFS 1
3866542dcfee (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
Eli Zaretskii <eliz@gnu.org>
parents: 96985
diff changeset
91
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92 /* Define CLASH_DETECTION if you want lock files to be written
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 so that Emacs can tell instantly when you try to modify
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 a file that someone else has modified in his Emacs. */
7835
27ec793a0e99 (CLASH_DETECTION): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 7703
diff changeset
95 #define CLASH_DETECTION
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97 /* Here, on a separate page, add any special hacks needed
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98 to make Emacs work on this system. For example,
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99 you might define certain system call names that don't
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 exist on your system, or that do different things on
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 your system and must be used only through an encapsulation
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 (Which you should place, by convention, in sysdep.c). */
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
104 /* This is needed for dispnew.c:update_frame. */
5387
f99b0175322e (PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents: 5363
diff changeset
105 #ifdef emacs
8274
04eeb3ed2828 [emacs]: Include stdio.h.
Richard M. Stallman <rms@gnu.org>
parents: 7972
diff changeset
106 #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
107 #if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
108 /* New C libio names. */
7555
85afced1519c (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
109 #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
110 ((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
111 #elif defined (__UCLIBC__)
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
112 /* Using the uClibc library. */
98455
876b289a899e * gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97225
diff changeset
113 #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
114 ((FILE)->__bufpos - (FILE)->__bufstart)
876b289a899e * gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97225
diff changeset
115 #else /* !_IO_STDIO_H && ! __UCLIBC__ */
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
116 /* Old C++ iostream names. */
7555
85afced1519c (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
117 #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
118 ((FILE)->_pptr - (FILE)->_pbase)
98455
876b289a899e * gmalloc.c (__sbrk): Also define for uClibc.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97225
diff changeset
119 #endif /* !_IO_STDIO_H && ! __UCLIBC__ */
108640
0b7cdd98b42f * s/gnu-linux.h: Combine two conditionals.
Glenn Morris <rgm@gnu.org>
parents: 108635
diff changeset
120
0b7cdd98b42f * s/gnu-linux.h: Combine two conditionals.
Glenn Morris <rgm@gnu.org>
parents: 108635
diff changeset
121 #define INTERRUPT_INPUT
5387
f99b0175322e (PENDING_OUTPUT_COUNT): Two alternate definitions
Richard M. Stallman <rms@gnu.org>
parents: 5363
diff changeset
122 #endif /* emacs */
2915
2c9dde3bd3a0 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123
4825
d60016b1f6da Comment update reflects reality.
Brian Fox <bfox@gnu.org>
parents: 4719
diff changeset
124 #define POSIX /* affects getpagesize.h and systty.h */
8633
ef773dd417ea Add LINUX_QMAGIC conditional.
Richard M. Stallman <rms@gnu.org>
parents: 8274
diff changeset
125
12720
8033d2412068 (HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents: 12314
diff changeset
126 /* 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
127 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
128 therefore, this should remain permanently. */
7703
2b7b11a5e1e6 (HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents: 7632
diff changeset
129 #ifndef HAVE_XRMSETDATABASE
2b7b11a5e1e6 (HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents: 7632
diff changeset
130 #define HAVE_XRMSETDATABASE
2b7b11a5e1e6 (HAVE_XRMSETDATABASE): Define if not defined.
Richard M. Stallman <rms@gnu.org>
parents: 7632
diff changeset
131 #endif
11549
bfb9b93ee7e9 (REGEXP_IN_LIBC): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 11292
diff changeset
132
25032
ae314c884db0 (NARROWPROTO): New.
Gerd Moellmann <gerd@gnu.org>
parents: 23974
diff changeset
133 #define NARROWPROTO 1
ae314c884db0 (NARROWPROTO): New.
Gerd Moellmann <gerd@gnu.org>
parents: 23974
diff changeset
134
28378
65fca17fb602 (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents: 27679
diff changeset
135 /* Tell that garbage collector that setjmp is known to save all
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
136 registers relevant for conservative garbage collection in the jmp_buf. */
49413
8aaa2f3ae722 (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents: 43162
diff changeset
137 /* 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
138 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
139 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
140 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
141 register window-flushing. */
33654
75dc719a7183 Don't use `#cpu'.
Gerd Moellmann <gerd@gnu.org>
parents: 29850
diff changeset
142 /* 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
143 we must call cpp with -traditional, and that disables #cpu. */
49413
8aaa2f3ae722 (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
Dave Love <fx@gnu.org>
parents: 43162
diff changeset
144 #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
145 || defined __alpha__ || defined __mips__ || defined __s390__ \
58594
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
146 || defined __arm__ || defined __powerpc__ || defined __amd64__ \
103190
21a9a415c6d0 Make GCPROs and UNGCPRO no-ops also on SuperH.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 100951
diff changeset
147 || defined __ia64__ || defined __sh__
28378
65fca17fb602 (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
Dave Love <fx@gnu.org>
parents: 27679
diff changeset
148 #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
149 #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
150 #ifdef __mc68000__
a62b272dc382 (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents: 43071
diff changeset
151 #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
152 #endif
58594
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
153 #ifdef __ia64__
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
154 #define GC_MARK_SECONDARY_STACK() \
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
155 do { \
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
156 extern void *__libc_ia64_register_backing_store_base; \
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
157 __builtin_ia64_flushrs (); \
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
158 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
159 __builtin_ia64_bsp (), 0); \
58594
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
160 } while (0)
f86ad7205885 Enable no-op gcpros on ia64.
Andreas Schwab <schwab@suse.de>
parents: 56501
diff changeset
161 #endif
43162
a62b272dc382 (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
Andreas Schwab <schwab@suse.de>
parents: 43071
diff changeset
162 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51109
diff changeset
163