Commit | Line | Data |
---|---|---|
30fe07a6 JB |
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 | |
17385adc | 8 | the Free Software Foundation; either version 2, or (at your option) |
30fe07a6 JB |
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 | |
18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |
19 | ||
20 | ||
21 | /* The following line tells the configuration script what sort of | |
22 | operating system this machine is likely to run. | |
23 | USUAL-OPSYS="aix3-1" */ | |
24 | ||
25 | /* The following three symbols give information on | |
26 | the size of various data types. */ | |
27 | ||
28 | #define SHORTBITS 16 /* Number of bits in a short */ | |
29 | ||
30 | #define INTBITS 32 /* Number of bits in an int */ | |
31 | ||
32 | #define LONGBITS 32 /* Number of bits in a long */ | |
33 | ||
34 | /* Define BIG_ENDIAN iff lowest-numbered byte in a word | |
35 | is the most significant byte. */ | |
36 | ||
c45a32d4 RS |
37 | /* This conflicts with something in the system headers, |
38 | and isn't currently used, since NO_UNION_TYPE is defined. */ | |
39 | #if 0 | |
30fe07a6 | 40 | #define BIG_ENDIAN |
dc35af79 | 41 | #endif |
30fe07a6 JB |
42 | |
43 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | |
44 | * group of arguments and treat it as an array of the arguments. */ | |
45 | ||
46 | #define NO_ARG_ARRAY | |
47 | ||
30fe07a6 JB |
48 | /* Now define a symbol for the cpu type, if your compiler |
49 | does not define it automatically. */ | |
50 | ||
51 | #define IBMR2AIX | |
52 | ||
53 | /* Use type int rather than a union, to represent Lisp_Object */ | |
54 | /* This is desirable for most machines. */ | |
55 | ||
56 | #define NO_UNION_TYPE | |
57 | ||
58 | /* Define CANNOT_DUMP on machines where unexec does not work. | |
59 | Then the function dump-emacs will not be defined | |
60 | and temacs will do (load "loadup") automatically unless told otherwise. */ | |
61 | /* #define CANNOT_DUMP */ | |
62 | ||
63 | #define UNEXEC unexaix.o | |
64 | ||
65 | /* Define addresses, macros, change some setup for dump */ | |
66 | ||
67 | #define NO_REMAP | |
68 | ||
69 | #define TEXT_START 0x10000000 | |
70 | #define TEXT_END 0 | |
71 | #define DATA_START 0x20000000 | |
72 | #define DATA_END 0 | |
73 | ||
74 | /* The data segment in this machine always starts at address 0x20000000. | |
75 | An address of data cannot be stored correctly in a Lisp object; | |
76 | we always lose the high bits. We must tell XPNTR to add them back. */ | |
77 | ||
78 | #define DATA_SEG_BITS 0x20000000 | |
79 | ||
80 | #ifdef CANNOT_DUMP | |
81 | /* Define shared memory segment symbols */ | |
82 | ||
83 | #define PURE_SEG_BITS 0x30000000 | |
84 | ||
85 | /* Use shared memory. */ | |
86 | /* This is turned off because it does not always work. See etc/AIX.DUMP. */ | |
87 | /* #define HAVE_SHM */ | |
88 | #define SHMKEY 5305035 /* used for shared memory code segments */ | |
89 | #endif /* CANNOT_DUMP */ | |
90 | ||
91 | #define N_BADMAG(x) BADMAG(x) | |
92 | #define N_TXTOFF(x) A_TEXTPOS(x) | |
93 | #define N_SYMOFF(x) A_SYMPOS(x) | |
94 | #define A_TEXT_OFFSET(HDR) sizeof(HDR) | |
95 | /* #define ADJUST_EXEC_HEADER \ | |
96 | unexec_text_start += sizeof(hdr); \ | |
97 | unexec_data_start = ohdr.a_dbase | |
98 | */ | |
99 | #undef ADDR_CORRECT | |
100 | #define ADDR_CORRECT(x) ((int)(x)) | |
101 | ||
102 | /* Define C_ALLOCA if this machine does not support a true alloca | |
103 | and the one written in C should be used instead. | |
104 | Define HAVE_ALLOCA to say that the system provides a properly | |
105 | working alloca function and it should be used. | |
106 | Define neither one if an assembler-language alloca | |
107 | in the file alloca.s should be used. */ | |
108 | ||
067cd4a4 JB |
109 | /* Note: aix3-2.h defines HAVE_ALLOCA; aix3-1.h doesn't. */ |
110 | #ifndef HAVE_ALLOCA | |
30fe07a6 JB |
111 | #define C_ALLOCA |
112 | #define STACK_DIRECTION -1 /* tell alloca.c which way it grows */ | |
067cd4a4 | 113 | #endif |
30fe07a6 | 114 | |
067cd4a4 JB |
115 | /* Specify the font for X to use. |
116 | This used to be Rom14.500; that's nice on the X server shipped with | |
117 | the RS/6000, but it's not available on other servers. */ | |
118 | #define X_DEFAULT_FONT "fixed" | |
30fe07a6 JB |
119 | |
120 | /* Here override various assumptions in ymakefile */ | |
121 | ||
122 | #define OBJECTS_MACHINE hftctl.o | |
123 | #define C_SWITCH_MACHINE -D_BSD | |
f6c25ced RS |
124 | |
125 | #ifdef AIX3_2 | |
e3de4c57 | 126 | /* IBM's X11R5 use -lIM and -liconv in AIX 3.2.2. */ |
8250185b | 127 | #define LIBS_MACHINE -lrts -lIM -liconv |
f6c25ced RS |
128 | #else |
129 | #define LIBS_MACHINE -lIM | |
130 | #endif | |
131 | ||
30fe07a6 | 132 | #define START_FILES |
30fe07a6 JB |
133 | #define HAVE_SYSVIPC |
134 | #define HAVE_SETSID | |
135 | #define HAVE_GETWD | |
136 | /*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/ | |
137 | #define BROKEN_FIONREAD | |
138 | ||
139 | /* Don't try to include sioctl.h or ptem.h. */ | |
140 | #undef NEED_SIOCTL | |
141 | #undef NEED_PTEM_H | |
142 | ||
a80652a7 | 143 | #define ORDINARY_LINK |
8258ca53 | 144 | /* sfreed@unm.edu says add -bI:/usr/lpp/X11/bin/smt.exp for AIX 3.2.4. */ |
b84b186a | 145 | #ifdef HAVE_AIX_SMT_EXP |
301b4551 | 146 | #define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:/usr/lpp/X11/bin/smt.exp |
b84b186a JB |
147 | #else |
148 | #define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp | |
149 | #endif | |
36e2cc1f RS |
150 | |
151 | /* AIX supposedly doesn't use this interface, but on thr RS/6000 | |
152 | it apparently does. */ | |
153 | #define NLIST_STRUCT |