Add arch taglines
[bpt/emacs.git] / src / s / netbsd.h
1 /* s/ file for netbsd system. */
2
3 /* Get most of the stuff from bsd4.3 */
4 #include "bsd4-3.h"
5
6 #if defined (__alpha__) && !defined (__ELF__)
7 #define NO_SHARED_LIBS
8 #endif
9
10 /* For mem-limits.h. */
11 #define BSD4_2
12
13 #undef KERNEL_FILE
14 #undef LDAV_SYMBOL
15 #define HAVE_GETLOADAVG 1
16
17 #define HAVE_UNION_WAIT
18
19 #define SIGNALS_VIA_CHARACTERS
20
21 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
22
23 /* netbsd uses OXTABS instead of the expected TAB3. */
24 #define TABDLY OXTABS
25 #define TAB3 OXTABS
26
27 #define A_TEXT_OFFSET(x) (sizeof (struct exec))
28 #define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr))
29
30 #define HAVE_TERMIOS
31 #define NO_TERMIO
32
33 #define LIBS_DEBUG
34 /* -lutil is not needed for NetBSD >0.9. */
35 /* #define LIBS_SYSTEM -lutil */
36 #define LIBS_TERMCAP -ltermcap
37
38 #define NEED_ERRNO
39 #define SYSV_SYSTEM_DIR
40
41 /* Netbsd has POSIX-style pgrp behavior. */
42 #undef BSD_PGRPS
43
44 #define GETPGRP_NO_ARG
45
46 #if !defined (NO_SHARED_LIBS) && ! defined (__ELF__)
47 /* These definitions should work for either dynamic or static linking,
48 whichever is the default for `cc -nostdlib'. */
49 #define HAVE_TEXT_START /* No need to define `start_of_text'. */
50 #define START_FILES pre-crt0.o /usr/lib/crt0.o
51 #define UNEXEC unexsunos4.o
52 #define RUN_TIME_REMAP
53
54 /* Try to make this work for both 0.9 and >0.9. */
55 #ifndef N_TRELOFF
56 #define N_PAGSIZ(x) __LDPGSZ
57 #define N_BSSADDR(x) (N_ALIGN(x, N_DATADDR(x)+x.a_data))
58 #define N_TRELOFF(x) N_RELOFF(x)
59 #endif
60 #endif /* not NO_SHARED_LIBS and not ELF */
61
62 #if !defined (NO_SHARED_LIBS) && defined (__ELF__)
63 #define START_FILES pre-crt0.o /usr/lib/crt0.o START_FILES_1 /usr/lib/crtbegin.o
64 #define UNEXEC unexelf.o
65 #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o END_FILES_1
66 #undef LIB_GCC
67 #define LIB_GCC
68 #endif
69
70 #ifdef HAVE_CRTIN
71 #define START_FILES_1 /usr/lib/crti.o
72 #define END_FILES_1 /usr/lib/crtn.o
73 #else
74 #define START_FILES_1
75 #define END_FILES_1
76 #endif
77
78 #define HAVE_WAIT_HEADER
79 #define WAIT_USE_INT
80
81 #define AMPERSAND_FULL_NAME
82
83 #ifdef __ELF__
84 /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
85 says where to find X windows at run time. We convert it to a -rpath option
86 which is what OSF1 uses. */
87 #define LD_SWITCH_SYSTEM_tmp `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'`
88 #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
89
90 /* The following is needed to make `configure' find Xpm, Xaw3d and
91 image include and library files if using /usr/bin/gcc. That
92 compiler seems to be modified to not find headers in
93 /usr/local/include or libs in /usr/local/lib by default. */
94
95 #define C_SWITCH_SYSTEM -I/usr/X11R6/include -I/usr/pkg/include -I/usr/local/include -L/usr/pkg/lib -L/usr/local/lib
96
97 /* Link temacs with -z nocombreloc so that unexec works right, whether or
98 not -z combreloc is the default. GNU ld ignores unknown -z KEYWORD
99 switches, so this also works with older versions that don't implement
100 -z combreloc. */
101
102 #define LD_SWITCH_SYSTEM_TEMACS -Wl,-z,nocombreloc
103
104 #endif /* __ELF__ */
105
106 /* On post 1.3 releases of NetBSD, gcc -nostdlib also clears
107 the library search parth, i.e. it won't search /usr/lib
108 for libc and friends. Using -nostartfiles instead avoids
109 this problem, and will also work on earlier NetBSD releases */
110
111 #define LINKER $(CC) -nostartfiles
112
113 #define NARROWPROTO 1
114
115 #define DEFAULT_SOUND_DEVICE "/dev/audio"
116
117 /* Greg A. Woods <woods@weird.com> says we must include signal.h
118 before syssignal.h is included, to work around interface conflicts
119 that are handled with CPP __RENAME() macro in signal.h. */
120
121 #ifndef NOT_C_CODE
122 #include <signal.h>
123 #endif
124
125 /* Don't close pty in process.c to make it as controlling terminal.
126 It is already a controlling terminal of subprocess, because we did
127 ioctl TIOCSCTTY. */
128
129 #define DONT_REOPEN_PTY
130
131 /* Tell that garbage collector that setjmp is known to save all
132 registers relevant for conservative garbage collection in the
133 jmp_buf. */
134
135 #define GC_SETJMP_WORKS 1
136
137 /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */
138
139 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
140
141 /* arch-tag: e80f364a-04e9-4faf-93cb-f36a0fe95c81
142 (do not change this comment) */