Mercurial > emacs
annotate src/m/ibmrs6000.h @ 30120:7fb4ac83c192
*** empty log message ***
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sun, 09 Jul 2000 09:31:58 +0000 |
parents | ad887a4586ab |
children | b1a5569ab5ad |
rev | line source |
---|---|
446 | 1 /* R2 AIX machine/system dependent defines |
2 Copyright (C) 1988 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU General Public License as published by | |
3699 | 8 the Free Software Foundation; either version 2, or (at your option) |
446 | 9 any later version. |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GNU Emacs; see the file COPYING. If not, write to | |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
13735
diff
changeset
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
13735
diff
changeset
|
19 Boston, MA 02111-1307, USA. */ |
446 | 20 |
21 | |
22 /* The following line tells the configuration script what sort of | |
23 operating system this machine is likely to run. | |
24 USUAL-OPSYS="aix3-1" */ | |
25 | |
9095
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
26 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word |
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
27 is the most significant byte. */ |
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
28 |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
29 #ifdef USG5_4 |
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
30 #undef WORDS_BIG_ENDIAN |
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
31 #else |
9095
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
32 #define WORDS_BIG_ENDIAN |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
33 #endif |
9095
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
34 |
446 | 35 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a |
36 * group of arguments and treat it as an array of the arguments. */ | |
37 | |
38 #define NO_ARG_ARRAY | |
39 | |
40 /* Now define a symbol for the cpu type, if your compiler | |
41 does not define it automatically. */ | |
42 | |
43 #define IBMR2AIX | |
44 | |
45 /* Use type int rather than a union, to represent Lisp_Object */ | |
46 /* This is desirable for most machines. */ | |
47 | |
48 #define NO_UNION_TYPE | |
49 | |
50 /* Define CANNOT_DUMP on machines where unexec does not work. | |
51 Then the function dump-emacs will not be defined | |
52 and temacs will do (load "loadup") automatically unless told otherwise. */ | |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
53 #ifdef USG5_4 |
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
54 #define CANNOT_DUMP |
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
55 #endif |
446 | 56 |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
57 #ifndef UNEXEC |
446 | 58 #define UNEXEC unexaix.o |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
59 #endif |
446 | 60 |
61 /* Define addresses, macros, change some setup for dump */ | |
62 | |
63 #define NO_REMAP | |
64 | |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
65 #ifndef USG5_4 |
446 | 66 #define TEXT_START 0x10000000 |
67 #define TEXT_END 0 | |
68 #define DATA_START 0x20000000 | |
69 #define DATA_END 0 | |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
70 #endif |
446 | 71 |
72 /* The data segment in this machine always starts at address 0x20000000. | |
73 An address of data cannot be stored correctly in a Lisp object; | |
74 we always lose the high bits. We must tell XPNTR to add them back. */ | |
75 | |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
76 #ifndef USG5_4 |
446 | 77 #define DATA_SEG_BITS 0x20000000 |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
78 #else |
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
79 #define DATA_SEG_BITS 0 |
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
80 #endif |
446 | 81 |
82 #ifdef CANNOT_DUMP | |
83 /* Define shared memory segment symbols */ | |
84 | |
85 #define PURE_SEG_BITS 0x30000000 | |
86 | |
87 /* Use shared memory. */ | |
88 /* This is turned off because it does not always work. See etc/AIX.DUMP. */ | |
89 /* #define HAVE_SHM */ | |
90 #define SHMKEY 5305035 /* used for shared memory code segments */ | |
91 #endif /* CANNOT_DUMP */ | |
92 | |
93 #define N_BADMAG(x) BADMAG(x) | |
94 #define N_TXTOFF(x) A_TEXTPOS(x) | |
95 #define N_SYMOFF(x) A_SYMPOS(x) | |
96 #define A_TEXT_OFFSET(HDR) sizeof(HDR) | |
97 /* #define ADJUST_EXEC_HEADER \ | |
98 unexec_text_start += sizeof(hdr); \ | |
99 unexec_data_start = ohdr.a_dbase | |
100 */ | |
101 #undef ADDR_CORRECT | |
102 #define ADDR_CORRECT(x) ((int)(x)) | |
103 | |
104 /* Define C_ALLOCA if this machine does not support a true alloca | |
105 and the one written in C should be used instead. | |
106 Define HAVE_ALLOCA to say that the system provides a properly | |
107 working alloca function and it should be used. | |
108 Define neither one if an assembler-language alloca | |
109 in the file alloca.s should be used. */ | |
110 | |
1906
158faf65239b
* ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
Jim Blandy <jimb@redhat.com>
parents:
750
diff
changeset
|
111 /* Note: aix3-2.h defines HAVE_ALLOCA; aix3-1.h doesn't. */ |
158faf65239b
* ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
Jim Blandy <jimb@redhat.com>
parents:
750
diff
changeset
|
112 #ifndef HAVE_ALLOCA |
446 | 113 #define C_ALLOCA |
114 #define STACK_DIRECTION -1 /* tell alloca.c which way it grows */ | |
1906
158faf65239b
* ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
Jim Blandy <jimb@redhat.com>
parents:
750
diff
changeset
|
115 #endif |
446 | 116 |
1906
158faf65239b
* ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
Jim Blandy <jimb@redhat.com>
parents:
750
diff
changeset
|
117 /* Specify the font for X to use. |
158faf65239b
* ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
Jim Blandy <jimb@redhat.com>
parents:
750
diff
changeset
|
118 This used to be Rom14.500; that's nice on the X server shipped with |
158faf65239b
* ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
Jim Blandy <jimb@redhat.com>
parents:
750
diff
changeset
|
119 the RS/6000, but it's not available on other servers. */ |
158faf65239b
* ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
Jim Blandy <jimb@redhat.com>
parents:
750
diff
changeset
|
120 #define X_DEFAULT_FONT "fixed" |
446 | 121 |
122 /* Here override various assumptions in ymakefile */ | |
123 | |
10051
0c96366e10d2
(OBJECTS_MACHINE): Define only if AIXHFT.
Richard M. Stallman <rms@gnu.org>
parents:
9095
diff
changeset
|
124 #ifdef AIXHFT |
446 | 125 #define OBJECTS_MACHINE hftctl.o |
10051
0c96366e10d2
(OBJECTS_MACHINE): Define only if AIXHFT.
Richard M. Stallman <rms@gnu.org>
parents:
9095
diff
changeset
|
126 #endif |
0c96366e10d2
(OBJECTS_MACHINE): Define only if AIXHFT.
Richard M. Stallman <rms@gnu.org>
parents:
9095
diff
changeset
|
127 |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
128 #ifndef USG5_4 |
446 | 129 #define C_SWITCH_MACHINE -D_BSD |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
130 #endif |
4709
c3caa44eff82
(LIBS_MACHINE): Include -lrts, -liconv only if AIX3_2.
Richard M. Stallman <rms@gnu.org>
parents:
4581
diff
changeset
|
131 |
c3caa44eff82
(LIBS_MACHINE): Include -lrts, -liconv only if AIX3_2.
Richard M. Stallman <rms@gnu.org>
parents:
4581
diff
changeset
|
132 #ifdef AIX3_2 |
12207
a2c1cc17593f
(LIBS_MACHINE): Use -lpthreads, not -lpthread.
Karl Heuer <kwzh@gnu.org>
parents:
12194
diff
changeset
|
133 /* -lpthreads seems to be necessary for Xlib in X11R6, and should be harmless |
12194 | 134 on older versions of X where it happens to exist. */ |
12207
a2c1cc17593f
(LIBS_MACHINE): Use -lpthreads, not -lpthread.
Karl Heuer <kwzh@gnu.org>
parents:
12194
diff
changeset
|
135 #ifdef HAVE_LIBPTHREADS |
a2c1cc17593f
(LIBS_MACHINE): Use -lpthreads, not -lpthread.
Karl Heuer <kwzh@gnu.org>
parents:
12194
diff
changeset
|
136 #define LIBS_MACHINE -lrts -lIM -liconv -lpthreads |
12158
bad47702c3b1
(LIBS_MACHINE): Use -lpthread if it exists.
Karl Heuer <kwzh@gnu.org>
parents:
10051
diff
changeset
|
137 #else |
3314
a472a3956b2a
* s/aix3-2.h (LIBS_SYSTEM): Remove -lIM and -liconv from here...
Jim Blandy <jimb@redhat.com>
parents:
3107
diff
changeset
|
138 /* IBM's X11R5 use -lIM and -liconv in AIX 3.2.2. */ |
3107
6c0cce3bc5d5
(LIBS_MACHINE): Add -lIM and -liconv.
Richard M. Stallman <rms@gnu.org>
parents:
2641
diff
changeset
|
139 #define LIBS_MACHINE -lrts -lIM -liconv |
12158
bad47702c3b1
(LIBS_MACHINE): Use -lpthread if it exists.
Karl Heuer <kwzh@gnu.org>
parents:
10051
diff
changeset
|
140 #endif |
4709
c3caa44eff82
(LIBS_MACHINE): Include -lrts, -liconv only if AIX3_2.
Richard M. Stallman <rms@gnu.org>
parents:
4581
diff
changeset
|
141 #else |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
142 #ifdef USG5_4 |
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
143 #define LIBS_MACHINE |
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
144 #else |
4709
c3caa44eff82
(LIBS_MACHINE): Include -lrts, -liconv only if AIX3_2.
Richard M. Stallman <rms@gnu.org>
parents:
4581
diff
changeset
|
145 #define LIBS_MACHINE -lIM |
c3caa44eff82
(LIBS_MACHINE): Include -lrts, -liconv only if AIX3_2.
Richard M. Stallman <rms@gnu.org>
parents:
4581
diff
changeset
|
146 #endif |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
147 #endif |
4709
c3caa44eff82
(LIBS_MACHINE): Include -lrts, -liconv only if AIX3_2.
Richard M. Stallman <rms@gnu.org>
parents:
4581
diff
changeset
|
148 |
446 | 149 #define START_FILES |
150 #define HAVE_SYSVIPC | |
151 /*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/ | |
152 #define BROKEN_FIONREAD | |
153 | |
154 /* Don't try to include sioctl.h or ptem.h. */ | |
155 #undef NEED_SIOCTL | |
156 #undef NEED_PTEM_H | |
157 | |
3368
cb9e597ce94f
Delete ! __GNUC__ conditional.
Richard M. Stallman <rms@gnu.org>
parents:
3358
diff
changeset
|
158 #define ORDINARY_LINK |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
159 |
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
160 #ifndef USG5_4 |
4177 | 161 /* sfreed@unm.edu says add -bI:/usr/lpp/X11/bin/smt.exp for AIX 3.2.4. */ |
8579
c93c9e087810
(LD_SWITCH_MACHINE): Supply m/ibmrs6000.inp as input.
Richard M. Stallman <rms@gnu.org>
parents:
5919
diff
changeset
|
162 /* marc@sti.com (Marc Pawliger) says ibmrs6000.inp is needed to avoid |
8588 | 163 linker error for updated X11R5 libraries, which references pthread library |
8579
c93c9e087810
(LD_SWITCH_MACHINE): Supply m/ibmrs6000.inp as input.
Richard M. Stallman <rms@gnu.org>
parents:
5919
diff
changeset
|
164 which most machines don't have. We use the name .inp instead of .imp |
c93c9e087810
(LD_SWITCH_MACHINE): Supply m/ibmrs6000.inp as input.
Richard M. Stallman <rms@gnu.org>
parents:
5919
diff
changeset
|
165 because .inp is a better convention to use in make-dist for naming |
c93c9e087810
(LD_SWITCH_MACHINE): Supply m/ibmrs6000.inp as input.
Richard M. Stallman <rms@gnu.org>
parents:
5919
diff
changeset
|
166 random input files. */ |
20098
e86f41e696b1
(LD_SWITCH_MACHINE): Conditionalize this
Karl Heuer <kwzh@gnu.org>
parents:
19106
diff
changeset
|
167 #ifdef THIS_IS_MAKEFILE /* Don't use this in configure. */ |
12636
97ce4bb9a235
(LD_SWITCH_MACHINE) [AIX4]: New alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
12207
diff
changeset
|
168 #ifdef AIX4 |
97ce4bb9a235
(LD_SWITCH_MACHINE) [AIX4]: New alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
12207
diff
changeset
|
169 #define LD_SWITCH_MACHINE -Wl,-bnodelcsect |
97ce4bb9a235
(LD_SWITCH_MACHINE) [AIX4]: New alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
12207
diff
changeset
|
170 #else /* not AIX4 */ |
4369
2497c88c03c3
* config.h.in (HAVE_AIX_SMT_EXP): New #undef for configure to edit.
Jim Blandy <jimb@redhat.com>
parents:
4177
diff
changeset
|
171 #ifdef HAVE_AIX_SMT_EXP |
8582
9f0d8d29d122
(LD_SWITCH_MACHINE): Use full path to ibmrs6000.inp.
Karl Heuer <kwzh@gnu.org>
parents:
8579
diff
changeset
|
172 #define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp,-bI:/usr/lpp/X11/bin/smt.exp |
4369
2497c88c03c3
* config.h.in (HAVE_AIX_SMT_EXP): New #undef for configure to edit.
Jim Blandy <jimb@redhat.com>
parents:
4177
diff
changeset
|
173 #else |
8582
9f0d8d29d122
(LD_SWITCH_MACHINE): Use full path to ibmrs6000.inp.
Karl Heuer <kwzh@gnu.org>
parents:
8579
diff
changeset
|
174 #define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp |
4369
2497c88c03c3
* config.h.in (HAVE_AIX_SMT_EXP): New #undef for configure to edit.
Jim Blandy <jimb@redhat.com>
parents:
4177
diff
changeset
|
175 #endif |
12636
97ce4bb9a235
(LD_SWITCH_MACHINE) [AIX4]: New alternate definition.
Richard M. Stallman <rms@gnu.org>
parents:
12207
diff
changeset
|
176 #endif /* not AIX4 */ |
20098
e86f41e696b1
(LD_SWITCH_MACHINE): Conditionalize this
Karl Heuer <kwzh@gnu.org>
parents:
19106
diff
changeset
|
177 #endif /* THIS_IS_MAKEFILE */ |
14793
d3a70cd8d181
(LD_SWITCH_MACHINE): Undo previous change--
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
178 |
d3a70cd8d181
(LD_SWITCH_MACHINE): Undo previous change--
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
179 /* Avoid gcc 2.7.x collect2 bug by using /bin/ld instead. */ |
d3a70cd8d181
(LD_SWITCH_MACHINE): Undo previous change--
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
180 #if __GNUC__ == 2 && __GNUC_MINOR__ == 7 |
d3a70cd8d181
(LD_SWITCH_MACHINE): Undo previous change--
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
181 #define LD_SWITCH_SITE -B/bin/ |
d3a70cd8d181
(LD_SWITCH_MACHINE): Undo previous change--
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
182 #endif |
3372
41adfe8856d6
(NLIST_STRUCT): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
3368
diff
changeset
|
183 |
8582
9f0d8d29d122
(LD_SWITCH_MACHINE): Use full path to ibmrs6000.inp.
Karl Heuer <kwzh@gnu.org>
parents:
8579
diff
changeset
|
184 /* AIX supposedly doesn't use this interface, but on the RS/6000 |
3372
41adfe8856d6
(NLIST_STRUCT): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
3368
diff
changeset
|
185 it apparently does. */ |
41adfe8856d6
(NLIST_STRUCT): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
3368
diff
changeset
|
186 #define NLIST_STRUCT |
13097
59916c4b0b79
Add early support for Solaris 2.5 on PowerPCs.
Richard M. Stallman <rms@gnu.org>
parents:
12636
diff
changeset
|
187 #endif /* USG5_4 */ |