Mercurial > emacs
annotate src/s/freebsd.h @ 107978:c168d4537385
Merge from emacs-23
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Mon, 19 Apr 2010 11:07:52 -0400 |
parents | 43aef96c6073 |
children | 5eae2b195dc6 |
rev | line source |
---|---|
36219 | 1 /* System description header for FreeBSD systems. |
2 This file describes the parameters that system description files | |
3 should define or not. | |
64769
6358e3c6075c
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64083
diff
changeset
|
4 Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, |
106815 | 5 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
79756 | 6 Free Software Foundation, Inc. |
36219 | 7 |
101089
ffebd75993c5
Comment (add author based on authors.el).
Glenn Morris <rgm@gnu.org>
parents:
100951
diff
changeset
|
8 Author: Shawn M. Carey |
ffebd75993c5
Comment (add author based on authors.el).
Glenn Morris <rgm@gnu.org>
parents:
100951
diff
changeset
|
9 (according to authors.el) |
ffebd75993c5
Comment (add author based on authors.el).
Glenn Morris <rgm@gnu.org>
parents:
100951
diff
changeset
|
10 |
36219 | 11 This file is part of GNU Emacs. |
12 | |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
13 GNU Emacs is free software: you can redistribute it and/or modify |
36219 | 14 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:
79756
diff
changeset
|
15 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:
79756
diff
changeset
|
16 (at your option) any later version. |
36219 | 17 |
18 GNU Emacs is distributed in the hope that it will be useful, | |
19 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 GNU General Public License for more details. | |
22 | |
23 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:
79756
diff
changeset
|
24 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
6261 | 25 |
107880
43aef96c6073
* s/freebsd.h: Restore osreldate.h include.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
107442
diff
changeset
|
26 #include <osreldate.h> |
43aef96c6073
* s/freebsd.h: Restore osreldate.h include.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
107442
diff
changeset
|
27 |
96303 | 28 /* Get most of the stuff from bsd-common */ |
29 #include "bsd-common.h" | |
7339
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
30 |
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
31 /* For mem-limits.h. */ |
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
32 #define BSD4_2 |
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
33 |
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
34 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) |
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
35 |
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
36 #define LIBS_SYSTEM -lutil |
28745 | 37 #if __FreeBSD_version < 400000 |
7339
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
38 #define LIBS_TERMCAP -ltermcap |
52264
bce3e111b233
[__FreeBSD_version >= 400000]: Define TERMINFO, use -lncurses.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
39 #else |
bce3e111b233
[__FreeBSD_version >= 400000]: Define TERMINFO, use -lncurses.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
40 #define TERMINFO |
bce3e111b233
[__FreeBSD_version >= 400000]: Define TERMINFO, use -lncurses.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
41 #define LIBS_TERMCAP -lncurses |
28745 | 42 #endif |
7339
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
43 |
96925
c3d63bafd463
* s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
96833
diff
changeset
|
44 /* Let `ld' find image libs and similar things in /usr/local/lib. The |
c3d63bafd463
* s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
96833
diff
changeset
|
45 system compiler, GCC, has apparently been modified to not look |
c3d63bafd463
* s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
96833
diff
changeset
|
46 there, contrary to what a stock GCC would do. */ |
c3d63bafd463
* s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
96833
diff
changeset
|
47 |
c3d63bafd463
* s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
96833
diff
changeset
|
48 #define LD_SWITCH_SYSTEM -L/usr/local/lib |
22976
f1457fc159c9
(__FreeBSD_version): Define it, or else include osreldate.h to define it.
Richard M. Stallman <rms@gnu.org>
parents:
19071
diff
changeset
|
49 #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o |
f1457fc159c9
(__FreeBSD_version): Define it, or else include osreldate.h to define it.
Richard M. Stallman <rms@gnu.org>
parents:
19071
diff
changeset
|
50 #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o |
f1457fc159c9
(__FreeBSD_version): Define it, or else include osreldate.h to define it.
Richard M. Stallman <rms@gnu.org>
parents:
19071
diff
changeset
|
51 #undef LIB_GCC |
f1457fc159c9
(__FreeBSD_version): Define it, or else include osreldate.h to define it.
Richard M. Stallman <rms@gnu.org>
parents:
19071
diff
changeset
|
52 #define LIB_GCC |
f1457fc159c9
(__FreeBSD_version): Define it, or else include osreldate.h to define it.
Richard M. Stallman <rms@gnu.org>
parents:
19071
diff
changeset
|
53 |
28640 | 54 #define HAVE_GETLOADAVG 1 |
8869
eff6c7e4e236
(DECLARE_GETPWUID_WITH_UID_T): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
7608
diff
changeset
|
55 #define DECLARE_GETPWUID_WITH_UID_T |
7339
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
56 |
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
57 /* this silences a few compilation warnings */ |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15367
diff
changeset
|
58 #undef BSD_SYSTEM |
9018
e8f02eb00bbf
(BSD): Have two definitions according to version number.
Richard M. Stallman <rms@gnu.org>
parents:
8869
diff
changeset
|
59 #if __FreeBSD__ == 1 |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15367
diff
changeset
|
60 #define BSD_SYSTEM 199103 |
9018
e8f02eb00bbf
(BSD): Have two definitions according to version number.
Richard M. Stallman <rms@gnu.org>
parents:
8869
diff
changeset
|
61 #elif __FreeBSD__ == 2 |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15367
diff
changeset
|
62 #define BSD_SYSTEM 199306 |
24616
a647cbfb4169
(BSD_SYSTEM): Define for FreeBSD 4 as with FreeBSD 3.
Karl Heuer <kwzh@gnu.org>
parents:
23078
diff
changeset
|
63 #elif __FreeBSD__ >= 3 |
17351
e53338c19ba5
(BSD_SYSTEM): Alternate definition for FreeBSD v3.
Richard M. Stallman <rms@gnu.org>
parents:
16220
diff
changeset
|
64 #define BSD_SYSTEM 199506 |
9018
e8f02eb00bbf
(BSD): Have two definitions according to version number.
Richard M. Stallman <rms@gnu.org>
parents:
8869
diff
changeset
|
65 #endif |
7339
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
66 |
15367
179cd20f2f8a
(DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14493
diff
changeset
|
67 /* Don't close pty in process.c to make it as controlling terminal. |
179cd20f2f8a
(DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14493
diff
changeset
|
68 It is already a controlling terminal of subprocess, because we did |
179cd20f2f8a
(DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14493
diff
changeset
|
69 ioctl TIOCSCTTY. */ |
179cd20f2f8a
(DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14493
diff
changeset
|
70 #define DONT_REOPEN_PTY |
19071 | 71 |
27169
88db110ec82e
(C_SWITCH_SYSTEM): Add -I /usr/local/include and
Gerd Moellmann <gerd@gnu.org>
parents:
26110
diff
changeset
|
72 /* The following is needed to make `configure' find Xpm, Xaw3d and |
88db110ec82e
(C_SWITCH_SYSTEM): Add -I /usr/local/include and
Gerd Moellmann <gerd@gnu.org>
parents:
26110
diff
changeset
|
73 image include and library files if using /usr/bin/gcc. That |
88db110ec82e
(C_SWITCH_SYSTEM): Add -I /usr/local/include and
Gerd Moellmann <gerd@gnu.org>
parents:
26110
diff
changeset
|
74 compiler seems to be modified to not find headers in |
88db110ec82e
(C_SWITCH_SYSTEM): Add -I /usr/local/include and
Gerd Moellmann <gerd@gnu.org>
parents:
26110
diff
changeset
|
75 /usr/local/include or libs in /usr/local/lib by default. */ |
25457
7b6e8532268b
(C_SWITCH_SYSTEM): Added to let configure find headers
Gerd Moellmann <gerd@gnu.org>
parents:
25032
diff
changeset
|
76 |
28596
f96c5116b2dd
(LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
Gerd Moellmann <gerd@gnu.org>
parents:
28593
diff
changeset
|
77 #define C_SWITCH_SYSTEM -I/usr/X11R6/include -I/usr/local/include -L/usr/local/lib |
27706
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
78 |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
79 /* Circumvent a bug in FreeBSD. In the following sequence of |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
80 writes/reads on a PTY, read(2) returns bogus data: |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
81 |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
82 write(2) 1022 bytes |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
83 write(2) 954 bytes, get EAGAIN |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
84 read(2) 1024 bytes in process_read_output |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
85 read(2) 11 bytes in process_read_output |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
86 |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
87 That is, read(2) returns more bytes than have ever been written |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
88 successfully. The 1033 bytes read are the 1022 bytes written |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
89 successfully after processing (for example with CRs added if the |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
90 terminal is set up that way which it is here). The same bytes will |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
91 be seen again in a later read(2), without the CRs. */ |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
92 |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
93 #define BROKEN_PTY_READ_AFTER_EAGAIN 1 |
28364 | 94 |
95 /* Tell that garbage collector that setjmp is known to save all | |
96 registers relevant for conservative garbage collection in the | |
97 jmp_buf. */ | |
98 | |
99 #define GC_SETJMP_WORKS 1 | |
28572
34472501a68c
(TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
Gerd Moellmann <gerd@gnu.org>
parents:
28364
diff
changeset
|
100 |
31501
735123628126
(GC_MARK_STACK, REL_ALLOC_MMAP): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
30082
diff
changeset
|
101 /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the |
735123628126
(GC_MARK_STACK, REL_ALLOC_MMAP): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
30082
diff
changeset
|
102 stack. */ |
735123628126
(GC_MARK_STACK, REL_ALLOC_MMAP): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
30082
diff
changeset
|
103 |
34472
76076c5b2009
(GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS instead of `1'.
Gerd Moellmann <gerd@gnu.org>
parents:
31871
diff
changeset
|
104 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
31501
735123628126
(GC_MARK_STACK, REL_ALLOC_MMAP): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
30082
diff
changeset
|
105 |
31600
ac8c86ff7ee3
(USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
Gerd Moellmann <gerd@gnu.org>
parents:
31501
diff
changeset
|
106 /* Define USE_MMAP_FOR_BUFFERS to let Emacs use mmap(2) to allocate |
ac8c86ff7ee3
(USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
Gerd Moellmann <gerd@gnu.org>
parents:
31501
diff
changeset
|
107 buffer text. This overrides REL_ALLOC. */ |
31501
735123628126
(GC_MARK_STACK, REL_ALLOC_MMAP): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
30082
diff
changeset
|
108 |
31600
ac8c86ff7ee3
(USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
Gerd Moellmann <gerd@gnu.org>
parents:
31501
diff
changeset
|
109 #define USE_MMAP_FOR_BUFFERS 1 |
31871 | 110 |
111 /* Use sigprocmask(2) and friends instead of sigblock(2); the man page | |
112 of sigblock says it is obsolete. */ | |
113 | |
114 #define POSIX_SIGNALS 1 | |
52401 | 115 |
53149 | 116 /* The `combreloc' setting became the default, and it seems to be |
117 incompatible with unexec. Symptom is an immediate SEGV in | |
118 XtInitializeWidget when starting Emacs under X11. */ | |
119 | |
120 #if defined __FreeBSD_version && __FreeBSD_version >= 500042 | |
121 #define LD_SWITCH_SYSTEM_TEMACS -znocombreloc | |
122 #endif | |
123 | |
52401 | 124 /* arch-tag: 426529ca-b7c4-448f-b10a-d4dcdc9c78eb |
125 (do not change this comment) */ |