Commit | Line | Data |
---|---|---|
e3efab9c GM |
1 | /* System description header for FreeBSD systems. |
2 | This file describes the parameters that system description files | |
3 | should define or not. | |
92b47a4a | 4 | Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, |
114f9c96 | 5 | 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
01122546 | 6 | Free Software Foundation, Inc. |
e3efab9c | 7 | |
d089407f GM |
8 | Author: Shawn M. Carey |
9 | (according to authors.el) | |
10 | ||
e3efab9c GM |
11 | This file is part of GNU Emacs. |
12 | ||
4b158629 | 13 | GNU Emacs is free software: you can redistribute it and/or modify |
e3efab9c | 14 | it under the terms of the GNU General Public License as published by |
4b158629 GM |
15 | the Free Software Foundation, either version 3 of the License, or |
16 | (at your option) any later version. | |
e3efab9c GM |
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 | |
4b158629 | 24 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
be210740 | 25 | |
7d4e45f8 DN |
26 | #include <osreldate.h> |
27 | ||
f2a77c3a DN |
28 | /* Get most of the stuff from bsd-common */ |
29 | #include "bsd-common.h" | |
c0096c73 RS |
30 | |
31 | /* For mem-limits.h. */ | |
32 | #define BSD4_2 | |
33 | ||
c0096c73 RS |
34 | #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) |
35 | ||
c0096c73 | 36 | #define LIBS_SYSTEM -lutil |
7e0ba6da | 37 | #if __FreeBSD_version < 400000 |
c0096c73 | 38 | #define LIBS_TERMCAP -ltermcap |
5851666e RS |
39 | #else |
40 | #define TERMINFO | |
41 | #define LIBS_TERMCAP -lncurses | |
7e0ba6da | 42 | #endif |
c0096c73 | 43 | |
268b24ee DN |
44 | /* Let `ld' find image libs and similar things in /usr/local/lib. The |
45 | system compiler, GCC, has apparently been modified to not look | |
46 | there, contrary to what a stock GCC would do. */ | |
47 | ||
48 | #define LD_SWITCH_SYSTEM -L/usr/local/lib | |
62bb752f RS |
49 | #undef LIB_GCC |
50 | #define LIB_GCC | |
51 | ||
8fffa182 | 52 | #define HAVE_GETLOADAVG 1 |
d05c42e4 | 53 | #define DECLARE_GETPWUID_WITH_UID_T |
c0096c73 | 54 | |
c0096c73 | 55 | /* this silences a few compilation warnings */ |
6df54671 | 56 | #undef BSD_SYSTEM |
69d87222 | 57 | #if __FreeBSD__ == 1 |
6df54671 | 58 | #define BSD_SYSTEM 199103 |
69d87222 | 59 | #elif __FreeBSD__ == 2 |
6df54671 | 60 | #define BSD_SYSTEM 199306 |
165e2d55 | 61 | #elif __FreeBSD__ >= 3 |
3e7562b1 | 62 | #define BSD_SYSTEM 199506 |
69d87222 | 63 | #endif |
c0096c73 | 64 | |
b68f1a63 RS |
65 | /* Don't close pty in process.c to make it as controlling terminal. |
66 | It is already a controlling terminal of subprocess, because we did | |
67 | ioctl TIOCSCTTY. */ | |
68 | #define DONT_REOPEN_PTY | |
145eec6f | 69 | |
aace035e GM |
70 | /* Circumvent a bug in FreeBSD. In the following sequence of |
71 | writes/reads on a PTY, read(2) returns bogus data: | |
72 | ||
73 | write(2) 1022 bytes | |
74 | write(2) 954 bytes, get EAGAIN | |
75 | read(2) 1024 bytes in process_read_output | |
76 | read(2) 11 bytes in process_read_output | |
77 | ||
78 | That is, read(2) returns more bytes than have ever been written | |
79 | successfully. The 1033 bytes read are the 1022 bytes written | |
80 | successfully after processing (for example with CRs added if the | |
81 | terminal is set up that way which it is here). The same bytes will | |
82 | be seen again in a later read(2), without the CRs. */ | |
83 | ||
84 | #define BROKEN_PTY_READ_AFTER_EAGAIN 1 | |
4b3fd719 GM |
85 | |
86 | /* Tell that garbage collector that setjmp is known to save all | |
87 | registers relevant for conservative garbage collection in the | |
88 | jmp_buf. */ | |
89 | ||
90 | #define GC_SETJMP_WORKS 1 | |
cbf5ca04 | 91 | |
fc653ef2 GM |
92 | /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the |
93 | stack. */ | |
94 | ||
fc40e215 | 95 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
fc653ef2 | 96 | |
67cdbf16 GM |
97 | /* Define USE_MMAP_FOR_BUFFERS to let Emacs use mmap(2) to allocate |
98 | buffer text. This overrides REL_ALLOC. */ | |
fc653ef2 | 99 | |
67cdbf16 | 100 | #define USE_MMAP_FOR_BUFFERS 1 |
76bb714a | 101 | |
ab5796a9 MB |
102 | /* arch-tag: 426529ca-b7c4-448f-b10a-d4dcdc9c78eb |
103 | (do not change this comment) */ |