Mercurial > emacs
annotate src/s/netbsd.h @ 42789:b016f6f9056c
Document problems with linking libraries compiled with GCC.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Wed, 16 Jan 2002 18:21:14 +0000 |
parents | 0ad6378e66d4 |
children | 5265807751c9 |
rev | line source |
---|---|
4690 | 1 /* s/ file for netbsd system. */ |
2 | |
3 /* Get most of the stuff from bsd4.3 */ | |
4 #include "bsd4-3.h" | |
5 | |
18121
23ee33de4cca
(NO_SHARED_LIBS): Test __alpha__ && ! __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18102
diff
changeset
|
6 #if defined (__alpha__) && !defined (__ELF__) |
18102
d419ea48f00e
[__alpha__] (NO_SHARED_LIBS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
14618
diff
changeset
|
7 #define NO_SHARED_LIBS |
d419ea48f00e
[__alpha__] (NO_SHARED_LIBS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
14618
diff
changeset
|
8 #endif |
d419ea48f00e
[__alpha__] (NO_SHARED_LIBS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
14618
diff
changeset
|
9 |
5902
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
10 /* For mem-limits.h. */ |
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
11 #define BSD4_2 |
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
12 |
4690 | 13 #undef KERNEL_FILE |
14 #undef LDAV_SYMBOL | |
28640 | 15 #define HAVE_GETLOADAVG 1 |
4690 | 16 |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
17 #define HAVE_UNION_WAIT |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
18 |
4690 | 19 #define SIGNALS_VIA_CHARACTERS |
20 | |
21 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) | |
22 | |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
23 /* netbsd uses OXTABS instead of the expected TAB3. */ |
6861 | 24 #define TABDLY OXTABS |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
25 #define TAB3 OXTABS |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
26 |
4690 | 27 #define A_TEXT_OFFSET(x) (sizeof (struct exec)) |
28 #define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr)) | |
29 | |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
30 #define HAVE_TERMIOS |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
31 #define NO_TERMIO |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
32 |
4690 | 33 #define LIBS_DEBUG |
5902
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
34 /* -lutil is not needed for NetBSD >0.9. */ |
11336 | 35 /* #define LIBS_SYSTEM -lutil */ |
5902
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
36 #define LIBS_TERMCAP -ltermcap |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
37 |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
38 #define NEED_ERRNO |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
39 #define SYSV_SYSTEM_DIR |
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
40 |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
41 /* Netbsd has POSIX-style pgrp behavior. */ |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
42 #undef BSD_PGRPS |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
43 |
11705
29064b5e5398
(GETPGRP_NO_ARG): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
11336
diff
changeset
|
44 #define GETPGRP_NO_ARG |
29064b5e5398
(GETPGRP_NO_ARG): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
11336
diff
changeset
|
45 |
20032
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
46 #if !defined (NO_SHARED_LIBS) && ! defined (__ELF__) |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
47 /* These definitions should work for either dynamic or static linking, |
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
48 whichever is the default for `cc -nostdlib'. */ |
5938
db25cb887e22
(BROKEN_START, TEXT_START): Don't define.
Roland McGrath <roland@gnu.org>
parents:
5919
diff
changeset
|
49 #define HAVE_TEXT_START /* No need to define `start_of_text'. */ |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
50 #define START_FILES pre-crt0.o /usr/lib/crt0.o |
5902
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
51 #define UNEXEC unexsunos4.o |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
52 #define RUN_TIME_REMAP |
5902
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
53 |
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
54 /* Try to make this work for both 0.9 and >0.9. */ |
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
55 #ifndef N_TRELOFF |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
56 #define N_PAGSIZ(x) __LDPGSZ |
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
57 #define N_BSSADDR(x) (N_ALIGN(x, N_DATADDR(x)+x.a_data)) |
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
58 #define N_TRELOFF(x) N_RELOFF(x) |
5902
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
59 #endif |
26163 | 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 | |
6368
f18c8a4f7125
(LOCALTIME_CACHE): Define this symbol.
Karl Heuer <kwzh@gnu.org>
parents:
6014
diff
changeset
|
69 |
6388
c82a7e9ae93b
(LD_SWITCH_SYSTEM, HAVE_WAIT_HEADER): Define these.
Karl Heuer <kwzh@gnu.org>
parents:
6368
diff
changeset
|
70 #define HAVE_WAIT_HEADER |
10714
a383e6129216
(WAIT_USE_INT): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
8916
diff
changeset
|
71 #define WAIT_USE_INT |
11336 | 72 |
12534
3f869873946a
(AMPERSAND_FULL_NAME): Defined.
Karl Heuer <kwzh@gnu.org>
parents:
11705
diff
changeset
|
73 #define AMPERSAND_FULL_NAME |
20032
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
74 |
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
75 #ifdef __ELF__ |
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
76 /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option |
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
77 says where to find X windows at run time. We convert it to a -rpath option |
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
78 which is what OSF1 uses. */ |
39331 | 79 #define LD_SWITCH_SYSTEM_tmp `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'` |
39349
0ad6378e66d4
(LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
Gerd Moellmann <gerd@gnu.org>
parents:
39331
diff
changeset
|
80 #define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -L/usr/pkg/lib -L/usr/local/lib |
39331 | 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 | |
39349
0ad6378e66d4
(LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
Gerd Moellmann <gerd@gnu.org>
parents:
39331
diff
changeset
|
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 |
39331 | 88 |
20032
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
89 #endif /* __ELF__ */ |
21475 | 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 | |
25032 | 97 |
98 #define NARROWPROTO 1 | |
30079
1572612184fc
Sound support for NetBSD through "Linux emulation" support:
Ken Raeburn <raeburn@raeburn.org>
parents:
29430
diff
changeset
|
99 |
1572612184fc
Sound support for NetBSD through "Linux emulation" support:
Ken Raeburn <raeburn@raeburn.org>
parents:
29430
diff
changeset
|
100 #define DEFAULT_SOUND_DEVICE "/dev/audio" |
31332 | 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 | |
31524
3935d834ff04
s/netbsd.h: NO_C_SOURCE->NOT_C_CODE
Ken Raeburn <raeburn@raeburn.org>
parents:
31332
diff
changeset
|
106 #ifndef NOT_C_CODE |
31332 | 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 | |
34472
76076c5b2009
(GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS instead of `1'.
Gerd Moellmann <gerd@gnu.org>
parents:
31524
diff
changeset
|
124 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
31332 | 125 |