Mercurial > hg > xemacs-beta
comparison src/m/ibmrs6000.h @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | 0132846995bd |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:376386a54a3c |
---|---|
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 | |
8 the Free Software Foundation; either version 2, or (at your option) | |
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 XEmacs; see the file COPYING. If not, write to | |
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 Boston, MA 02111-1307, USA. */ | |
20 | |
21 /* Synched up with: FSF 19.31. */ | |
22 | |
23 /* The following line tells the configuration script what sort of | |
24 operating system this machine is likely to run. | |
25 USUAL-OPSYS="aix3-1" */ | |
26 | |
27 /* Now define a symbol for the cpu type, if your compiler | |
28 does not define it automatically. */ | |
29 | |
30 #define IBMR2AIX | |
31 | |
32 /* Define CANNOT_DUMP on machines where unexec does not work. | |
33 Then the function dump-emacs will not be defined | |
34 and temacs will do (load "loadup") automatically unless told otherwise. */ | |
35 #ifdef USG5_4 | |
36 #define CANNOT_DUMP | |
37 #endif | |
38 | |
39 #ifndef UNEXEC | |
40 #define UNEXEC unexaix.o | |
41 #endif | |
42 | |
43 /* Define addresses, macros, change some setup for dump */ | |
44 | |
45 #define NO_REMAP | |
46 | |
47 #ifndef USG5_4 | |
48 #define TEXT_START 0x10000000 | |
49 #define TEXT_END 0 | |
50 #define DATA_START 0x20000000 | |
51 #define DATA_END 0 | |
52 #endif | |
53 | |
54 /* The data segment in this machine always starts at address 0x20000000. | |
55 An address of data cannot be stored correctly in a Lisp object; | |
56 we always lose the high bits. We must tell XPNTR to add them back. */ | |
57 | |
58 #ifndef USG5_4 | |
59 #define DATA_SEG_BITS 0x20000000 | |
60 #else | |
61 #define DATA_SEG_BITS 0 | |
62 #endif | |
63 | |
64 #ifdef CANNOT_DUMP | |
65 /* Define shared memory segment symbols */ | |
66 | |
67 #define PURE_SEG_BITS 0x30000000 | |
68 | |
69 /* Use shared memory. */ | |
70 /* This is turned off because it does not always work. See etc/AIX.DUMP. */ | |
71 /* #define HAVE_SHM */ | |
72 #define SHMKEY 5305035 /* used for shared memory code segments */ | |
73 #endif /* CANNOT_DUMP */ | |
74 | |
75 #define N_BADMAG(x) BADMAG(x) | |
76 #define N_TXTOFF(x) A_TEXTPOS(x) | |
77 #define N_SYMOFF(x) A_SYMPOS(x) | |
78 #define A_TEXT_OFFSET(HDR) sizeof(HDR) | |
79 /* #define ADJUST_EXEC_HEADER \ | |
80 unexec_text_start += sizeof(hdr); \ | |
81 unexec_data_start = ohdr.a_dbase | |
82 */ | |
83 #undef ADDR_CORRECT | |
84 #define ADDR_CORRECT(x) ((int)(x)) | |
85 | |
86 /* Define C_ALLOCA if this machine does not support a true alloca | |
87 and the one written in C should be used instead. | |
88 Define HAVE_ALLOCA to say that the system provides a properly | |
89 working alloca function and it should be used. | |
90 Define neither one if an assembler-language alloca | |
91 in the file alloca.s should be used. */ | |
92 | |
93 /* Note: aix3-2.h defines HAVE_ALLOCA; aix3-1.h doesn't. */ | |
94 #ifndef HAVE_ALLOCA | |
95 #define C_ALLOCA | |
96 #define STACK_DIRECTION -1 /* tell alloca.c which way it grows */ | |
97 #endif | |
98 | |
99 /* Specify the font for X to use. | |
100 This used to be Rom14.500; that's nice on the X server shipped with | |
101 the RS/6000, but it's not available on other servers. */ | |
102 #define X_DEFAULT_FONT "fixed" | |
103 | |
104 /* Here override various assumptions in ymakefile */ | |
105 | |
106 #ifdef AIXHFT | |
107 #define OBJECTS_MACHINE hftctl.o | |
108 #endif | |
109 | |
110 #ifndef USG5_4 | |
111 /* XEmacs change -- commented out: dkeller@vnet.ibm.com */ | |
112 /* #define C_SWITCH_MACHINE -D_BSD */ | |
113 #endif | |
114 | |
115 #ifdef AIX3_2 | |
116 /* -lpthreads seems to be necessary for Xlib in X11R6, and should be harmless | |
117 on older versions of X where it happens to exist. */ | |
118 #ifdef HAVE_LIBPTHREADS | |
119 #define LIBS_MACHINE -lrts -lIM -liconv -lpthreads | |
120 #else | |
121 /* IBM's X11R5 use -lIM and -liconv in AIX 3.2.2. */ | |
122 #define LIBS_MACHINE -lrts -lIM -liconv | |
123 #endif | |
124 #else | |
125 #ifdef USG5_4 | |
126 #define LIBS_MACHINE | |
127 #else | |
128 #define LIBS_MACHINE -lIM | |
129 #endif | |
130 #endif | |
131 | |
132 #define START_FILES | |
133 | |
134 /* Don't try to include sioctl.h or ptem.h. */ | |
135 #undef NEED_SIOCTL | |
136 #undef NEED_PTEM_H | |
137 | |
138 #define ORDINARY_LINK | |
139 | |
140 | |
141 #ifndef USG5_4 | |
142 /* XEmacs change -- automatically add the correct path for smt.exp if | |
143 it exists. */ | |
144 /* marc@sti.com (Marc Pawliger) says ibmrs6000.inp is needed to avoid | |
145 linker error for updated X11R5 libraries, which references pthread library | |
146 which most machines don't have. We use the name .inp instead of .imp | |
147 because .inp is a better convention to use in make-dist for naming | |
148 random input files. */ | |
149 /* Avoid gcc 2.7.x collect2 bug by using /bin/ld instead. */ | |
150 #if __GNUC__ == 2 && __GNUC_MINOR__ == 7 | |
151 #ifdef AIX_SMT_EXP | |
152 #define LD_SWITCH_MACHINE -B/bin/ -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp,AIX_SMT_EXP | |
153 #else | |
154 #define LD_SWITCH_MACHINE -B/bin/ -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp | |
155 #endif | |
156 #else /* not gcc 2.7.x */ | |
157 #ifdef AIX_SMT_EXP | |
158 #define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp,AIX_SMT_EXP | |
159 #else | |
160 #define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp | |
161 #endif | |
162 #endif /* __GNUC__ == 2 && __GNUC_MINOR__ == 7 */ | |
163 | |
164 #endif /* USG5_4 */ |