XEmacs 21.2.41 "Polyhymnia".
[chise/xemacs-chise.git.1] / src / s / netbsd.h
1 /* Synched up with: FSF 19.31. */
2
3 /* s/ file for netbsd system.  */
4
5 /* Get most of the stuff from bsd4.3 */
6 #include "bsd4-3.h"
7
8 #undef BSD
9
10 #ifndef NOT_C_CODE
11 #include <sys/param.h>
12 #include <sys/exec.h>
13 #endif /* C_CODE */
14
15 /* For mem-limits.h.  */
16 #define BSD4_2
17
18 #undef KERNEL_FILE
19 #undef LDAV_SYMBOL
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 LIBS_DEBUG
31 /* -lutil is not needed for NetBSD >0.9.  */
32 /* #define LIBS_SYSTEM -lutil */
33 /* XEmacs change */
34 #define LIBS_TERMCAP "-ltermcap"
35
36 #define NEED_ERRNO
37
38 #if 0 /* mrb */
39 #ifndef NO_SHARED_LIBS
40 /* These definitions should work for either dynamic or static linking,
41    whichever is the default for `cc -nostdlib'.  */
42 /* but they probably don't, and life's too short - jrg@doc.ic.ac.uk
43    ask for no shared libs if you have 0.9 */
44 /* mrb -- ORDINARY_LINK works just fine... */
45 #define LD_SWITCH_SYSTEM "-e start"
46 #define START_FILES "pre-crt0.o /usr/lib/crt0.o"
47 #define RUN_TIME_REMAP
48 #else
49 #define START_FILES "crt0.o"
50
51 #endif /* not NO_SHARED_LIBS */
52 #endif /* 0 - mrb */
53
54 #define HAVE_TEXT_START         /* No need to define `start_of_text'.  */
55 #define ORDINARY_LINK
56
57 /* As of this writing (Netbsd 1.5 was just released), Netbsd is
58    converting from a.out to elf - x86 and Sparc are using ELF.
59    But we're clever and let the compiler tell us which one to use.  */
60 #ifdef __ELF__
61 #define UNEXEC "unexelf.o"
62 #else
63 #define UNEXEC "unexfreebsd.o"  /* ironic, considering history of unexfreebsd */
64 #endif
65
66 #if 0
67 /* Try to make this work for both 0.9 and >0.9.  */
68 #define N_PAGSIZ(x) __LDPGSZ
69 #define N_BSSADDR(x) (N_ALIGN(x, N_DATADDR(x)+x.a_data))
70 /* #define N_TRELOFF(x) N_RELOFF(x) */
71 /* the 1.0 way.. */
72 #endif /* 0 */
73
74 #define N_RELOFF(x) N_TRELOFF(x)
75
76 #define NO_MATHERR
77
78 #define AMPERSAND_FULL_NAME