Commit | Line | Data |
---|---|---|
6e0394c0 GM |
1 | /* s/ file for netbsd system. |
2 | ||
4b158629 | 3 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
76b6f707 | 4 | 2008, 2009 Free Software Foundation, Inc. |
6e0394c0 GM |
5 | |
6 | This file is part of GNU Emacs. | |
7 | ||
4b158629 | 8 | GNU Emacs is free software: you can redistribute it and/or modify |
6e0394c0 | 9 | it under the terms of the GNU General Public License as published by |
4b158629 GM |
10 | the Free Software Foundation, either version 3 of the License, or |
11 | (at your option) any later version. | |
6e0394c0 GM |
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 | |
4b158629 | 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
6e0394c0 | 20 | |
60fa73fd | 21 | |
f2a77c3a DN |
22 | /* Get most of the stuff from bsd-common */ |
23 | #include "bsd-common.h" | |
60fa73fd | 24 | |
ea224d5b | 25 | #if defined (__alpha__) && !defined (__ELF__) |
9e30760d RS |
26 | #define NO_SHARED_LIBS |
27 | #endif | |
28 | ||
e7e0c779 CH |
29 | /* For mem-limits.h. */ |
30 | #define BSD4_2 | |
31 | ||
60fa73fd | 32 | #undef KERNEL_FILE |
60fa73fd | 33 | #undef LDAV_SYMBOL |
8fffa182 | 34 | #define HAVE_GETLOADAVG 1 |
60fa73fd RM |
35 | |
36 | #define SIGNALS_VIA_CHARACTERS | |
37 | ||
38 | #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) | |
39 | ||
e27fc6d3 | 40 | /* netbsd uses OXTABS instead of the expected TAB3. */ |
00c1bef4 | 41 | #define TABDLY OXTABS |
e27fc6d3 RS |
42 | #define TAB3 OXTABS |
43 | ||
e27fc6d3 RS |
44 | #define HAVE_TERMIOS |
45 | #define NO_TERMIO | |
46 | ||
60fa73fd | 47 | #define LIBS_DEBUG |
e7e0c779 | 48 | /* -lutil is not needed for NetBSD >0.9. */ |
656cdd8d | 49 | /* #define LIBS_SYSTEM -lutil */ |
e7e0c779 | 50 | #define LIBS_TERMCAP -ltermcap |
6c9364e1 | 51 | |
e27fc6d3 | 52 | #define NEED_ERRNO |
6c9364e1 RM |
53 | #define SYSV_SYSTEM_DIR |
54 | ||
e27fc6d3 RS |
55 | /* Netbsd has POSIX-style pgrp behavior. */ |
56 | #undef BSD_PGRPS | |
57 | ||
12f230a1 | 58 | #if !defined (NO_SHARED_LIBS) && ! defined (__ELF__) |
6c9364e1 RM |
59 | /* These definitions should work for either dynamic or static linking, |
60 | whichever is the default for `cc -nostdlib'. */ | |
d1e08a36 | 61 | #define HAVE_TEXT_START /* No need to define `start_of_text'. */ |
6c9364e1 | 62 | #define START_FILES pre-crt0.o /usr/lib/crt0.o |
e7e0c779 | 63 | #define UNEXEC unexsunos4.o |
6c9364e1 | 64 | #define RUN_TIME_REMAP |
e7e0c779 | 65 | |
3a7093d8 KR |
66 | #endif /* not NO_SHARED_LIBS and not ELF */ |
67 | ||
68 | #if !defined (NO_SHARED_LIBS) && defined (__ELF__) | |
7a179ad4 | 69 | #define START_FILES pre-crt0.o /usr/lib/crt0.o START_FILES_1 /usr/lib/crtbegin.o |
3a7093d8 | 70 | #define UNEXEC unexelf.o |
7a179ad4 | 71 | #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o END_FILES_1 |
3a7093d8 KR |
72 | #undef LIB_GCC |
73 | #define LIB_GCC | |
74 | #endif | |
9f145434 | 75 | |
7a179ad4 RS |
76 | #ifdef HAVE_CRTIN |
77 | #define START_FILES_1 /usr/lib/crti.o | |
78 | #define END_FILES_1 /usr/lib/crtn.o | |
0c8b2afa RS |
79 | #else |
80 | #define START_FILES_1 | |
81 | #define END_FILES_1 | |
7a179ad4 RS |
82 | #endif |
83 | ||
845b1a3c | 84 | #define AMPERSAND_FULL_NAME |
12f230a1 RS |
85 | |
86 | #ifdef __ELF__ | |
87 | /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option | |
88 | says where to find X windows at run time. We convert it to a -rpath option | |
89 | which is what OSF1 uses. */ | |
1270031d | 90 | #define LD_SWITCH_SYSTEM_tmp `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'` |
420a345c | 91 | #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 |
1270031d GM |
92 | |
93 | /* The following is needed to make `configure' find Xpm, Xaw3d and | |
94 | image include and library files if using /usr/bin/gcc. That | |
95 | compiler seems to be modified to not find headers in | |
96 | /usr/local/include or libs in /usr/local/lib by default. */ | |
97 | ||
a2697022 | 98 | #define C_SWITCH_SYSTEM -I/usr/X11R6/include -I/usr/pkg/include -I/usr/local/include -L/usr/pkg/lib -L/usr/local/lib |
1270031d | 99 | |
7a179ad4 RS |
100 | /* Link temacs with -z nocombreloc so that unexec works right, whether or |
101 | not -z combreloc is the default. GNU ld ignores unknown -z KEYWORD | |
102 | switches, so this also works with older versions that don't implement | |
103 | -z combreloc. */ | |
104 | ||
c124274d | 105 | #define LD_SWITCH_SYSTEM_TEMACS -Wl,-z,nocombreloc |
7a179ad4 | 106 | |
12f230a1 | 107 | #endif /* __ELF__ */ |
ad61e7bc KH |
108 | |
109 | /* On post 1.3 releases of NetBSD, gcc -nostdlib also clears | |
110 | the library search parth, i.e. it won't search /usr/lib | |
111 | for libc and friends. Using -nostartfiles instead avoids | |
112 | this problem, and will also work on earlier NetBSD releases */ | |
113 | ||
114 | #define LINKER $(CC) -nostartfiles | |
2327e4a0 GM |
115 | |
116 | #define NARROWPROTO 1 | |
80fcd514 KR |
117 | |
118 | #define DEFAULT_SOUND_DEVICE "/dev/audio" | |
d276b0cf GM |
119 | |
120 | /* Greg A. Woods <woods@weird.com> says we must include signal.h | |
121 | before syssignal.h is included, to work around interface conflicts | |
122 | that are handled with CPP __RENAME() macro in signal.h. */ | |
123 | ||
6a72fdd1 | 124 | #ifndef NOT_C_CODE |
d276b0cf GM |
125 | #include <signal.h> |
126 | #endif | |
127 | ||
128 | /* Don't close pty in process.c to make it as controlling terminal. | |
129 | It is already a controlling terminal of subprocess, because we did | |
130 | ioctl TIOCSCTTY. */ | |
131 | ||
132 | #define DONT_REOPEN_PTY | |
177c0ea7 | 133 | |
d276b0cf GM |
134 | /* Tell that garbage collector that setjmp is known to save all |
135 | registers relevant for conservative garbage collection in the | |
136 | jmp_buf. */ | |
137 | ||
138 | #define GC_SETJMP_WORKS 1 | |
177c0ea7 | 139 | |
d276b0cf GM |
140 | /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */ |
141 | ||
fc40e215 | 142 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
d276b0cf | 143 | |
ea7ce821 RS |
144 | /* Use sigprocmask and friends instead of sigblock; |
145 | sigblock is considered obsolete on NetBSD. */ | |
146 | ||
147 | #define POSIX_SIGNALS 1 | |
148 | ||
ab5796a9 MB |
149 | /* arch-tag: e80f364a-04e9-4faf-93cb-f36a0fe95c81 |
150 | (do not change this comment) */ |