Mercurial > emacs
annotate src/s/netbsd.h @ 99435:71576fddc0a7
(HAVE_LIB64_DIR): Check for crtn.o. (Bug#1287)
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Fri, 07 Nov 2008 06:56:39 +0000 |
parents | c3d63bafd463 |
children | e038c1a8307c |
rev | line source |
---|---|
75942
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
1 /* s/ file for netbsd system. |
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
2 |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
3 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
4 2008 Free Software Foundation, Inc. |
75942
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
5 |
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
6 This file is part of GNU Emacs. |
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
7 |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
8 GNU Emacs is free software: you can redistribute it and/or modify |
75942
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
9 it under the terms of the GNU General Public License as published by |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
10 the Free Software Foundation, either version 3 of the License, or |
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
11 (at your option) any later version. |
75942
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
12 |
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
13 GNU Emacs is distributed in the hope that it will be useful, |
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
14 but WITHOUT ANY WARRANTY; without even the implied warranty of |
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
16 GNU General Public License for more details. |
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
17 |
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
18 You should have received a copy of the GNU General Public License |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
75942
c365fcdf7c2a
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
73704
diff
changeset
|
20 |
4690 | 21 |
96303 | 22 /* Get most of the stuff from bsd-common */ |
23 #include "bsd-common.h" | |
4690 | 24 |
18121
23ee33de4cca
(NO_SHARED_LIBS): Test __alpha__ && ! __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18102
diff
changeset
|
25 #if defined (__alpha__) && !defined (__ELF__) |
18102
d419ea48f00e
[__alpha__] (NO_SHARED_LIBS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
14618
diff
changeset
|
26 #define NO_SHARED_LIBS |
d419ea48f00e
[__alpha__] (NO_SHARED_LIBS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
14618
diff
changeset
|
27 #endif |
d419ea48f00e
[__alpha__] (NO_SHARED_LIBS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
14618
diff
changeset
|
28 |
5902
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
29 /* 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
|
30 #define BSD4_2 |
916cd5156aed
Use -ltermcap, not Emacs's own version. #undef symbols used for
Charles Hannum <mycroft@gnu.org>
parents:
5901
diff
changeset
|
31 |
4690 | 32 #undef KERNEL_FILE |
33 #undef LDAV_SYMBOL | |
28640 | 34 #define HAVE_GETLOADAVG 1 |
4690 | 35 |
36 #define SIGNALS_VIA_CHARACTERS | |
37 | |
38 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) | |
39 | |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
40 /* netbsd uses OXTABS instead of the expected TAB3. */ |
6861 | 41 #define TABDLY OXTABS |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
42 #define TAB3 OXTABS |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
43 |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
44 #define HAVE_TERMIOS |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
45 #define NO_TERMIO |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
46 |
4690 | 47 #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
|
48 /* -lutil is not needed for NetBSD >0.9. */ |
11336 | 49 /* #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
|
50 #define LIBS_TERMCAP -ltermcap |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
51 |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
52 #define NEED_ERRNO |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
53 #define SYSV_SYSTEM_DIR |
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
54 |
6014
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
55 /* Netbsd has POSIX-style pgrp behavior. */ |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
56 #undef BSD_PGRPS |
0d370ebc038a
(BSD_PGRPS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5938
diff
changeset
|
57 |
20032
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
58 #if !defined (NO_SHARED_LIBS) && ! defined (__ELF__) |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
59 /* These definitions should work for either dynamic or static linking, |
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
60 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
|
61 #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
|
62 #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
|
63 #define UNEXEC unexsunos4.o |
5901
0377de94724d
(SYSV_SYSTEM_DIR): Define.
Roland McGrath <roland@gnu.org>
parents:
5334
diff
changeset
|
64 #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
|
65 |
26163 | 66 #endif /* not NO_SHARED_LIBS and not ELF */ |
67 | |
68 #if !defined (NO_SHARED_LIBS) && defined (__ELF__) | |
51878
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
69 #define START_FILES pre-crt0.o /usr/lib/crt0.o START_FILES_1 /usr/lib/crtbegin.o |
26163 | 70 #define UNEXEC unexelf.o |
51878
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
71 #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o END_FILES_1 |
26163 | 72 #undef LIB_GCC |
73 #define LIB_GCC | |
74 #endif | |
6368
f18c8a4f7125
(LOCALTIME_CACHE): Define this symbol.
Karl Heuer <kwzh@gnu.org>
parents:
6014
diff
changeset
|
75 |
51878
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
76 #ifdef HAVE_CRTIN |
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
77 #define START_FILES_1 /usr/lib/crti.o |
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
78 #define END_FILES_1 /usr/lib/crtn.o |
51903
707ddd673f01
(START_FILES_1, END_FILES_1): Always define them.
Richard M. Stallman <rms@gnu.org>
parents:
51878
diff
changeset
|
79 #else |
707ddd673f01
(START_FILES_1, END_FILES_1): Always define them.
Richard M. Stallman <rms@gnu.org>
parents:
51878
diff
changeset
|
80 #define START_FILES_1 |
707ddd673f01
(START_FILES_1, END_FILES_1): Always define them.
Richard M. Stallman <rms@gnu.org>
parents:
51878
diff
changeset
|
81 #define END_FILES_1 |
51878
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
82 #endif |
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
83 |
12534
3f869873946a
(AMPERSAND_FULL_NAME): Defined.
Karl Heuer <kwzh@gnu.org>
parents:
11705
diff
changeset
|
84 #define AMPERSAND_FULL_NAME |
20032
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
85 |
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
86 #ifdef __ELF__ |
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
87 /* 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
|
88 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
|
89 which is what OSF1 uses. */ |
39331 | 90 #define LD_SWITCH_SYSTEM_tmp `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'` |
45600
5265807751c9
Include /usr/pkg in the run time shared library path.
Eli Zaretskii <eliz@gnu.org>
parents:
39349
diff
changeset
|
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 |
39331 | 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 | |
39349
0ad6378e66d4
(LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
Gerd Moellmann <gerd@gnu.org>
parents:
39331
diff
changeset
|
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 |
39331 | 99 |
51878
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
100 /* Link temacs with -z nocombreloc so that unexec works right, whether or |
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
101 not -z combreloc is the default. GNU ld ignores unknown -z KEYWORD |
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
102 switches, so this also works with older versions that don't implement |
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
103 -z combreloc. */ |
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
104 |
51975 | 105 #define LD_SWITCH_SYSTEM_TEMACS -Wl,-z,nocombreloc |
51878
aa3263cb4987
(START_FILES, LIB_STANDARD): Use START_FILES_1, END_FILES_1.
Richard M. Stallman <rms@gnu.org>
parents:
49600
diff
changeset
|
106 |
20032
8b3f96c4cad1
(LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
Richard M. Stallman <rms@gnu.org>
parents:
18121
diff
changeset
|
107 #endif /* __ELF__ */ |
21475 | 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 | |
25032 | 115 |
116 #define NARROWPROTO 1 | |
30079
1572612184fc
Sound support for NetBSD through "Linux emulation" support:
Ken Raeburn <raeburn@raeburn.org>
parents:
29430
diff
changeset
|
117 |
1572612184fc
Sound support for NetBSD through "Linux emulation" support:
Ken Raeburn <raeburn@raeburn.org>
parents:
29430
diff
changeset
|
118 #define DEFAULT_SOUND_DEVICE "/dev/audio" |
31332 | 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 | |
31524
3935d834ff04
s/netbsd.h: NO_C_SOURCE->NOT_C_CODE
Ken Raeburn <raeburn@raeburn.org>
parents:
31332
diff
changeset
|
124 #ifndef NOT_C_CODE |
31332 | 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 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45600
diff
changeset
|
133 |
31332 | 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 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45600
diff
changeset
|
139 |
31332 | 140 /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */ |
141 | |
34472
76076c5b2009
(GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS instead of `1'.
Gerd Moellmann <gerd@gnu.org>
parents:
31524
diff
changeset
|
142 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
31332 | 143 |
73704
7140475b8095
(POSIX_SIGNALS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
144 /* Use sigprocmask and friends instead of sigblock; |
7140475b8095
(POSIX_SIGNALS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
145 sigblock is considered obsolete on NetBSD. */ |
7140475b8095
(POSIX_SIGNALS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
146 |
7140475b8095
(POSIX_SIGNALS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
147 #define POSIX_SIGNALS 1 |
7140475b8095
(POSIX_SIGNALS): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
148 |
52401 | 149 /* arch-tag: e80f364a-04e9-4faf-93cb-f36a0fe95c81 |
150 (do not change this comment) */ |