*** empty log message ***
[bpt/emacs.git] / src / s / netbsd.h
CommitLineData
60fa73fd
RM
1/* s/ file for netbsd system. */
2
3/* Get most of the stuff from bsd4.3 */
4#include "bsd4-3.h"
5
ea224d5b 6#if defined (__alpha__) && !defined (__ELF__)
9e30760d
RS
7#define NO_SHARED_LIBS
8#endif
9
e7e0c779
CH
10/* For mem-limits.h. */
11#define BSD4_2
12
60fa73fd 13#undef KERNEL_FILE
60fa73fd 14#undef LDAV_SYMBOL
8fffa182 15#define HAVE_GETLOADAVG 1
60fa73fd 16
e27fc6d3
RS
17#define HAVE_UNION_WAIT
18
60fa73fd
RM
19#define SIGNALS_VIA_CHARACTERS
20
21#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
22
e27fc6d3 23/* netbsd uses OXTABS instead of the expected TAB3. */
00c1bef4 24#define TABDLY OXTABS
e27fc6d3
RS
25#define TAB3 OXTABS
26
60fa73fd
RM
27#define A_TEXT_OFFSET(x) (sizeof (struct exec))
28#define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr))
29
e27fc6d3
RS
30#define HAVE_TERMIOS
31#define NO_TERMIO
32
60fa73fd 33#define LIBS_DEBUG
e7e0c779 34/* -lutil is not needed for NetBSD >0.9. */
656cdd8d 35/* #define LIBS_SYSTEM -lutil */
e7e0c779 36#define LIBS_TERMCAP -ltermcap
6c9364e1 37
e27fc6d3 38#define NEED_ERRNO
6c9364e1
RM
39#define SYSV_SYSTEM_DIR
40
e27fc6d3
RS
41/* Netbsd has POSIX-style pgrp behavior. */
42#undef BSD_PGRPS
43
d7c35c87
RS
44#define GETPGRP_NO_ARG
45
12f230a1 46#if !defined (NO_SHARED_LIBS) && ! defined (__ELF__)
6c9364e1
RM
47/* These definitions should work for either dynamic or static linking,
48 whichever is the default for `cc -nostdlib'. */
d1e08a36 49#define HAVE_TEXT_START /* No need to define `start_of_text'. */
6c9364e1 50#define START_FILES pre-crt0.o /usr/lib/crt0.o
e7e0c779 51#define UNEXEC unexsunos4.o
6c9364e1 52#define RUN_TIME_REMAP
e7e0c779
CH
53
54/* Try to make this work for both 0.9 and >0.9. */
55#ifndef N_TRELOFF
6c9364e1
RM
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)
e7e0c779 59#endif
3a7093d8
KR
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 /usr/lib/crtbegin.o
64#define UNEXEC unexelf.o
65#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o
66#undef LIB_GCC
67#define LIB_GCC
68#endif
9f145434 69
b9fdbd74 70#define HAVE_WAIT_HEADER
2c32be50 71#define WAIT_USE_INT
656cdd8d 72
845b1a3c 73#define AMPERSAND_FULL_NAME
12f230a1
RS
74
75#ifdef __ELF__
76/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
77 says where to find X windows at run time. We convert it to a -rpath option
78 which is what OSF1 uses. */
1270031d 79#define LD_SWITCH_SYSTEM_tmp `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'`
420a345c 80#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
81
82/* The following is needed to make `configure' find Xpm, Xaw3d and
83 image include and library files if using /usr/bin/gcc. That
84 compiler seems to be modified to not find headers in
85 /usr/local/include or libs in /usr/local/lib by default. */
86
a2697022 87#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 88
12f230a1 89#endif /* __ELF__ */
ad61e7bc
KH
90
91/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears
92 the library search parth, i.e. it won't search /usr/lib
93 for libc and friends. Using -nostartfiles instead avoids
94 this problem, and will also work on earlier NetBSD releases */
95
96#define LINKER $(CC) -nostartfiles
2327e4a0
GM
97
98#define NARROWPROTO 1
80fcd514
KR
99
100#define DEFAULT_SOUND_DEVICE "/dev/audio"
d276b0cf
GM
101
102/* Greg A. Woods <woods@weird.com> says we must include signal.h
103 before syssignal.h is included, to work around interface conflicts
104 that are handled with CPP __RENAME() macro in signal.h. */
105
6a72fdd1 106#ifndef NOT_C_CODE
d276b0cf
GM
107#include <signal.h>
108#endif
109
110/* Don't close pty in process.c to make it as controlling terminal.
111 It is already a controlling terminal of subprocess, because we did
112 ioctl TIOCSCTTY. */
113
114#define DONT_REOPEN_PTY
115
116/* Tell that garbage collector that setjmp is known to save all
117 registers relevant for conservative garbage collection in the
118 jmp_buf. */
119
120#define GC_SETJMP_WORKS 1
121
122/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */
123
fc40e215 124#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
d276b0cf 125