]> code.delx.au - gnu-emacs/blob - src/s/netbsd.h
Add 2011 to FSF/AIST copyright years.
[gnu-emacs] / src / s / netbsd.h
1 /* s/ file for netbsd system.
2
3 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
5
6 This file is part of GNU Emacs.
7
8 GNU Emacs is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
12
13 GNU Emacs is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22 /* Get most of the stuff from bsd-common */
23 #include "bsd-common.h"
24
25 #if defined (__alpha__) && !defined (__ELF__)
26 #define NO_SHARED_LIBS
27 #endif
28
29 /* For mem-limits.h. */
30 #define BSD4_2
31
32 #undef KERNEL_FILE
33 #undef LDAV_SYMBOL
34 #define HAVE_GETLOADAVG 1
35
36 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
37
38 /* netbsd uses OXTABS instead of the expected TAB3. */
39 #define TABDLY OXTABS
40 #define TAB3 OXTABS
41
42 #define HAVE_TERMIOS
43 #define NO_TERMIO
44
45 #define LIBS_DEBUG
46 /* -lutil is not needed for NetBSD >0.9. */
47 /* #define LIBS_SYSTEM -lutil */
48 #ifdef HAVE_TERM_H
49 #define TERMINFO
50 #define LIBS_TERMCAP -lterminfo
51 #else
52 #define LIBS_TERMCAP -ltermcap
53 #endif
54
55 #define NEED_ERRNO
56 #define SYSV_SYSTEM_DIR
57
58 /* Netbsd has POSIX-style pgrp behavior. */
59 #undef BSD_PGRPS
60
61 #if !defined (NO_SHARED_LIBS) && defined (__ELF__)
62 #define START_FILES pre-crt0.o /usr/lib/crt0.o START_FILES_1 /usr/lib/crtbegin.o
63 #define UNEXEC unexelf.o
64 #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o END_FILES_1
65 #undef LIB_GCC
66 #define LIB_GCC
67 #endif
68
69 #ifdef HAVE_CRTIN
70 #define START_FILES_1 /usr/lib/crti.o
71 #define END_FILES_1 /usr/lib/crtn.o
72 #else
73 #define START_FILES_1
74 #define END_FILES_1
75 #endif
76
77 #define AMPERSAND_FULL_NAME
78
79 #ifdef __ELF__
80 /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
81 says where to find X windows at run time. We convert it to a -rpath option
82 which is what OSF1 uses. */
83 #define LD_SWITCH_SYSTEM_tmp `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'`
84 #define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -Wl,-rpath,/usr/pkg/lib -L/usr/pkg/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib
85
86 /* The following is needed to make `configure' find Xpm, Xaw3d and
87 image include and library files if using /usr/bin/gcc. That
88 compiler seems to be modified to not find headers in
89 /usr/local/include or libs in /usr/local/lib by default. */
90
91 #define C_SWITCH_SYSTEM -I/usr/X11R6/include -I/usr/pkg/include -I/usr/local/include -L/usr/pkg/lib -L/usr/local/lib
92
93 /* Link temacs with -z nocombreloc so that unexec works right, whether or
94 not -z combreloc is the default. GNU ld ignores unknown -z KEYWORD
95 switches, so this also works with older versions that don't implement
96 -z combreloc. */
97
98 #define LD_SWITCH_SYSTEM_TEMACS -Wl,-z,nocombreloc
99
100 #endif /* __ELF__ */
101
102 /* On post 1.3 releases of NetBSD, gcc -nostdlib also clears
103 the library search parth, i.e. it won't search /usr/lib
104 for libc and friends. Using -nostartfiles instead avoids
105 this problem, and will also work on earlier NetBSD releases */
106
107 #define LINKER $(CC) -nostartfiles
108
109 #define NARROWPROTO 1
110
111 #define DEFAULT_SOUND_DEVICE "/dev/audio"
112
113 /* Greg A. Woods <woods@weird.com> says we must include signal.h
114 before syssignal.h is included, to work around interface conflicts
115 that are handled with CPP __RENAME() macro in signal.h. */
116
117 #ifndef NOT_C_CODE
118 #include <signal.h>
119 #endif
120
121 /* Don't close pty in process.c to make it as controlling terminal.
122 It is already a controlling terminal of subprocess, because we did
123 ioctl TIOCSCTTY. */
124
125 #define DONT_REOPEN_PTY
126
127 /* Tell that garbage collector that setjmp is known to save all
128 registers relevant for conservative garbage collection in the
129 jmp_buf. */
130
131 #define GC_SETJMP_WORKS 1
132
133 /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */
134
135 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
136
137 /* Use sigprocmask and friends instead of sigblock;
138 sigblock is considered obsolete on NetBSD. */
139
140 #define POSIX_SIGNALS 1
141
142 /* arch-tag: e80f364a-04e9-4faf-93cb-f36a0fe95c81
143 (do not change this comment) */