Subversion Repositories tendra.SVN

Rev

Rev 5 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5 Rev 6
Line -... Line 1...
-
 
1
/*
-
 
2
 * Copyright (c) 2002-2005 The TenDRA Project <http://www.tendra.org/>.
-
 
3
 * All rights reserved.
-
 
4
 *
-
 
5
 * Redistribution and use in source and binary forms, with or without
-
 
6
 * modification, are permitted provided that the following conditions are met:
-
 
7
 *
-
 
8
 * 1. Redistributions of source code must retain the above copyright notice,
-
 
9
 *    this list of conditions and the following disclaimer.
-
 
10
 * 2. Redistributions in binary form must reproduce the above copyright notice,
-
 
11
 *    this list of conditions and the following disclaimer in the documentation
-
 
12
 *    and/or other materials provided with the distribution.
-
 
13
 * 3. Neither the name of The TenDRA Project nor the names of its contributors
-
 
14
 *    may be used to endorse or promote products derived from this software
-
 
15
 *    without specific, prior written permission.
-
 
16
 *
-
 
17
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
-
 
18
 * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-
 
19
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-
 
20
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
-
 
21
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-
 
22
 * EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-
 
23
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-
 
24
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-
 
25
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-
 
26
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-
 
27
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
 
28
 *
-
 
29
 * $Id$
-
 
30
 */
1
/*
31
/*
2
    		 Crown Copyright (c) 1997
32
    		 Crown Copyright (c) 1997
3
    
33
 
4
    This TenDRA(r) Computer Program is subject to Copyright
34
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
35
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
36
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
37
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
38
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
39
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
40
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
41
    shall be deemed to be acceptance of the following conditions:-
12
    
42
 
13
        (1) Its Recipients shall ensure that this Notice is
43
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
44
        reproduced upon any copies or amended versions of it;
15
    
45
 
16
        (2) Any amended version of it shall be clearly marked to
46
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
47
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
48
        for the relevant amendment or amendments;
19
    
49
 
20
        (3) Its onward transfer from a recipient to another
50
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
51
        party shall be deemed to be that party's acceptance of
22
        these conditions;
52
        these conditions;
23
    
53
 
24
        (4) DERA gives no warranty or assurance as to its
54
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
55
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
56
        no liability whatsoever in relation to any use to which
27
        it may be put.
57
        it may be put.
28
*/
58
*/
29
/*
59
/*
30
			    VERSION INFORMATION
60
			    VERSION INFORMATION
31
			    ===================
61
			    ===================
32
 
62
 
33
--------------------------------------------------------------------------
63
--------------------------------------------------------------------------
34
$Header: /u/g/release/CVSROOT/Source/src/installers/680x0/sunos/config.h,v 1.2 1998/03/16 11:25:19 release Exp $
64
$Header: /u/g/release/CVSROOT/Source/src/installers/680x0/sunos/config.h,v 1.2 1998/03/16 11:25:19 release Exp $
35
--------------------------------------------------------------------------
65
--------------------------------------------------------------------------
36
$Log: config.h,v $
66
$Log: config.h,v $
37
 * Revision 1.2  1998/03/16  11:25:19  release
67
 * Revision 1.2  1998/03/16  11:25:19  release
38
 * Modifications prior to version 4.1.2.
68
 * Modifications prior to version 4.1.2.
39
 *
69
 *
40
 * Revision 1.1.1.1  1998/01/17  15:55:50  release
70
 * Revision 1.1.1.1  1998/01/17  15:55:50  release
41
 * First version to be checked into rolling release.
71
 * First version to be checked into rolling release.
42
 *
72
 *
43
Revision 1.2  1997/10/29 10:22:11  ma
73
Revision 1.2  1997/10/29 10:22:11  ma
44
Replaced use_alloca with has_alloca.
74
Replaced use_alloca with has_alloca.
Line 66... Line 96...
66
 *
96
 *
67
 * Revision 1.2  1996/07/05  14:19:05  john
97
 * Revision 1.2  1996/07/05  14:19:05  john
68
 * Changes for spec 3.1
98
 * Changes for spec 3.1
69
 *
99
 *
70
 * Revision 1.1.1.1  1996/03/26  15:45:10  john
100
 * Revision 1.1.1.1  1996/03/26  15:45:10  john
71
 *
101
 *
72
 * Revision 1.7  94/11/16  10:36:26  10:36:26  ra (Robert Andrews)
102
 * Revision 1.7  94/11/16  10:36:26  10:36:26  ra (Robert Andrews)
73
 * Added support for complex numbers.
103
 * Added support for complex numbers.
74
 * 
104
 *
75
 * Revision 1.6  94/11/08  11:22:40  11:22:40  ra (Robert Andrews)
105
 * Revision 1.6  94/11/08  11:22:40  11:22:40  ra (Robert Andrews)
76
 * Added constants for cases optimisation.
106
 * Added constants for cases optimisation.
77
 * 
107
 *
78
 * Revision 1.5  94/06/29  14:19:50  14:19:50  ra (Robert Andrews)
108
 * Revision 1.5  94/06/29  14:19:50  14:19:50  ra (Robert Andrews)
79
 * Added flags for common installer section options.
109
 * Added flags for common installer section options.
80
 * 
110
 *
81
 * Revision 1.4  94/02/21  15:57:45  15:57:45  ra (Robert Andrews)
111
 * Revision 1.4  94/02/21  15:57:45  15:57:45  ra (Robert Andrews)
82
 * Move prototype information to compiler.h.
112
 * Move prototype information to compiler.h.
83
 * 
113
 *
84
 * Revision 1.3  93/11/19  16:17:44  16:17:44  ra (Robert Andrews)
114
 * Revision 1.3  93/11/19  16:17:44  16:17:44  ra (Robert Andrews)
85
 * Now never use alloca.  Added has64bits (false).
115
 * Now never use alloca.  Added has64bits (false).
86
 * 
116
 *
87
 * Revision 1.2  93/05/24  15:55:49  15:55:49  ra (Robert Andrews)
117
 * Revision 1.2  93/05/24  15:55:49  15:55:49  ra (Robert Andrews)
88
 * Declare check_anyway.
118
 * Declare check_anyway.
89
 * 
119
 *
90
 * Revision 1.1  93/02/22  17:15:29  17:15:29  ra (Robert Andrews)
120
 * Revision 1.1  93/02/22  17:15:29  17:15:29  ra (Robert Andrews)
91
 * Initial revision
121
 * Initial revision
92
 * 
122
 *
93
--------------------------------------------------------------------------
123
--------------------------------------------------------------------------
94
*/
124
*/
95
 
125
 
96
 
126
 
97
/*
127
/*
98
    CONFIGURATION FILE
128
    CONFIGURATION FILE
99
 
129
 
100
    This file contains the basic information required by all files and
130
    This file contains the basic information required by all files and
101
    the macros controlling the selection of target-dependent optimizations.
131
    the macros controlling the selection of target-dependent optimizations.
102
*/
132
*/
103
 
133
 
104
#ifndef CONFIG_INCLUDED
134
#ifndef CONFIG_INCLUDED
105
#define CONFIG_INCLUDED
135
#define CONFIG_INCLUDED
106
 
136
 
107
 
137
 
108
/*
138
/*
109
    DEFINE BASIC TYPES
139
    DEFINE BASIC TYPES
110
*/
140
*/
111
 
141
 
112
#include "ossg_api.h"
142
#include "ossg_api.h"
113
#include "ossg.h"
143
#include "ossg.h"
114
 
144
 
115
#ifndef FS_LITTLE_ENDIAN
145
#ifndef FS_LITTLE_ENDIAN
116
#define FS_LITTLE_ENDIAN 0
146
#define FS_LITTLE_ENDIAN 0
117
#endif
147
#endif
118
 
148
 
119
typedef unsigned long bitpattern ;
149
typedef unsigned long bitpattern;
120
 
150
 
121
#define null NULL
151
#define null NULL
122
 
152
 
123
 
153
 
124
/*
154
/*
125
    SHOULD WE USE ALLOCA?
155
    SHOULD WE USE ALLOCA?
126
*/
156
*/
127
 
157
 
128
#define NO_ALLOCA
158
#define NO_ALLOCA
129
 
159
 
130
 
160
 
131
/*
161
/*
132
    DECLARE ERROR REPORTING FUNCTIONS
162
    DECLARE ERROR REPORTING FUNCTIONS
133
 
163
 
134
    These functions are defined in utility.c.
164
    These functions are defined in utility.c.
135
*/
165
*/
136
 
166
 
137
extern void error PROTO_W ( ( char *, ... ) ) ;
167
extern void error(char *, ...);
138
extern void warning PROTO_W ( ( char *, ... ) ) ;
168
extern void warning(char *, ...);
139
 
169
 
140
#ifdef EBUG
170
#ifdef EBUG
141
#define  debug_warning( X ) 	warning ( X )
171
#define debug_warning(X)	warning(X)
142
#else
172
#else
143
#define  debug_warning( X )
173
#define debug_warning(X)
144
#endif
174
#endif
145
 
175
 
146
 
176
 
147
/*
177
/*
148
   DEFINE MACHINE TYPE
178
   DEFINE MACHINE TYPE
149
   
179
 
150
   It's a 68000, it isn't anything else.
180
   It's a 68000, it isn't anything else.
151
*/
181
*/
152
 
182
 
153
#define  SUN
183
#define SUN
154
#define  is68000		1
184
#define is68000			1
155
#define  is80x86		0
185
#define is80x86			0
156
#define  ismips			0
186
#define ismips			0
157
#define  ispower		0
187
#define ispower			0
158
#define  issco			0
188
#define issco			0
159
#define  issparc		0
189
#define issparc			0
160
#define  isvax			0
190
#define isvax			0
161
#define  isAlpha                0
191
#define isAlpha			0
162
 
192
 
163
 
193
 
164
/*
194
/*
165
    DEFINE COMPILATION OPTIONS
195
    DEFINE COMPILATION OPTIONS
166
*/
196
*/
167
 
197
 
168
#define  check_shape		1	/* Check shape-correctness */
198
#define check_shape		1	/* Check shape-correctness */
169
#define  convert_floats		1	/* Convert floating constants */
199
#define convert_floats		1	/* Convert floating constants */
170
#define  dont_unpad_apply	1	/* Careful with procedure results */
200
#define dont_unpad_apply	1	/* Careful with procedure results */
171
#define  dynamic_diag_test	1	/* Test diagnostics format */
201
#define dynamic_diag_test	1	/* Test diagnostics format */
172
#define  has_byte_ops		1	/* Do have byte opertions */
202
#define has_byte_ops		1	/* Do have byte opertions */
173
#define  has_byte_regs		1	/* Do have byte registers */
203
#define has_byte_regs		1	/* Do have byte registers */
174
#define  has_neg_shift		0	/* Don't have negative shifts */
204
#define has_neg_shift		0	/* Don't have negative shifts */
175
#define  has_setcc		0	/* Don't use scc */
205
#define has_setcc		0	/* Don't use scc */
176
#define  has64bits		0	/* Doesn't have 64 bits */
206
#define has64bits		0	/* Doesn't have 64 bits */
177
#define  have_diagnostics	0	/* Have diagnostics */
207
#define have_diagnostics	0	/* Have diagnostics */
178
#define  little_end		0	/* Big endian */
208
#define little_end		0	/* Big endian */
179
#define  load_ptr_pars		1	/* Inline ptr parameters */
209
#define load_ptr_pars		1	/* Inline ptr parameters */
180
#define  no_bitfield_ops	1	/* Do have bitfield operations */
210
#define no_bitfield_ops		1	/* Do have bitfield operations */
181
#define  only_inline_static	1	/* Only inline static procedures */
211
#define only_inline_static	1	/* Only inline static procedures */
182
#define  only_lengthen_ops	0	/* Don't avoid byte registers */
212
#define only_lengthen_ops	0	/* Don't avoid byte registers */
183
#ifdef SUN
213
#ifdef SUN
184
#define  promote_pars           1       /* Parameters are 32 bit */
214
#define promote_pars		1	/* Parameters are 32 bit */
185
#endif
215
#endif
186
#define  no_trap_on_nil_contents 1      /* Let common code detect nil access */
216
#define no_trap_on_nil_contents	1	/* Let common code detect nil access */
187
#define  remove_zero_offsets	1	/* Do remove zero offsets */
217
#define remove_zero_offsets	1	/* Do remove zero offsets */
188
#define  replace_compound	1	/* Replace compounds by externals */
218
#define replace_compound	1	/* Replace compounds by externals */
189
#define  shift_is_byte		0	/* Shift count is not 8-bit */
219
#define shift_is_byte		0	/* Shift count is not 8-bit */
190
#define  special_fns		1	/* Do look for special functions */
220
#define special_fns		1	/* Do look for special functions */
191
#define  substitute_params	1	/* Do substitute parameters */
221
#define substitute_params	1	/* Do substitute parameters */
192
#define  temp_mips		0	/* Don't need a mips hack */
222
#define temp_mips		0	/* Don't need a mips hack */
193
#define  use_long_double	0	/* Not yet anyway */
223
#define use_long_double		0	/* Not yet anyway */
194
#define  div0_implemented	1	/* div0 and rem0 implemented */
224
#define div0_implemented	1	/* div0 and rem0 implemented */
195
#define  remove_unused_counters	0	/* for foralls optimisation */
225
#define remove_unused_counters	0	/* for foralls optimisation */
196
#define  remove_unused_index_counters\
226
#define remove_unused_index_counters\
197
				0	/* for foralls optimisation */
227
				0	/* for foralls optimisation */
198
#define  good_index_factor( f )	0	/* for foralls optimisation */
228
#define good_index_factor( f )	0	/* for foralls optimisation */
199
#define  good_pointer_factor( f )\
229
#define good_pointer_factor(f)\
200
				( ( f ) != 1 && ( f ) != 2 &&\
230
				((f) != 1 && (f) != 2 && \
201
				  ( f ) != 4 && ( f ) != 8 )
231
				 (f) != 4 && (f) != 8)
202
#define  jump_table_density	10	/* for cases optimisation */
232
#define jump_table_density	10	/* for cases optimisation */
203
#define  non_default_entries	4	/* for cases optimisation */
233
#define non_default_entries	4	/* for cases optimisation */
204
#define  non_default_destinations\
234
#define non_default_destinations\
205
				2	/* for cases optimisation */
235
				2	/* for cases optimisation */
206
#define  substitute_complex	1	/* don't have native complex numbers */
236
#define substitute_complex	1	/* don't have native complex numbers */
207
 
237
 
208
 
238
 
209
/*
239
/*
210
    HACKS FOR CROSS-COMPILATION
240
    HACKS FOR CROSS-COMPILATION
211
 
241
 
212
    Some routines are target-dependent and may not work properly when
242
    Some routines are target-dependent and may not work properly when
213
    cross-compiling.  This section should take care of this.
243
    cross-compiling.  This section should take care of this.
214
*/
244
*/
215
 
245
 
216
#ifdef CROSS_COMPILE
246
#ifdef CROSS_COMPILE
217
#undef   convert_floats
247
#undef convert_floats
218
#define  convert_floats		0	/* Just to be on the safe side */
248
#define convert_floats		0	/* Just to be on the safe side */
219
#endif
249
#endif
220
 
250
 
221
#ifdef SUN /* The SunOS 68k assembler whinges about align directives */
251
#ifdef SUN /* The SunOS 68k assembler whinges about align directives */
222
#define no_align_directives
252
#define no_align_directives
223
#endif
253
#endif
Line 228... Line 258...
228
 
258
 
229
    These are target-specific tags.  Strictly speaking they belong in
259
    These are target-specific tags.  Strictly speaking they belong in
230
    tags.h.
260
    tags.h.
231
*/
261
*/
232
 
262
 
233
#define  dummy_tag		100
263
#define dummy_tag		100
234
#define  internal_tag		101
264
#define internal_tag		101
235
#define  regpair_tag		102
265
#define regpair_tag		102
236
 
266
 
237
 
267
 
238
/*
268
/*
239
    LONG INTEGER LITERALS
269
    LONG INTEGER LITERALS
240
 
270
 
241
    Some compilers don't understand 0L etc.
271
    Some compilers don't understand 0L etc.
242
*/
272
*/
243
 
273
 
244
#ifdef __STDC__
274
#ifdef __STDC__
245
#define  L0			0L
275
#define L0			0L
246
#define  L1			1L
276
#define L1			1L
247
#define  L2			2L
277
#define L2			2L
248
#define  L3			3L
278
#define L3			3L
249
#define  L4			4L
279
#define L4			4L
250
#define  L5			5L
280
#define L5			5L
251
#define  L6			6L
281
#define L6			6L
252
#define  L7			7L
282
#define L7			7L
253
#define  L8			8L
283
#define L8			8L
254
#define  L9			9L
284
#define L9			9L
255
#define  L10			10L
285
#define L10			10L
256
#define  L16			16L
286
#define L16			16L
257
#define  L32			32L
287
#define L32			32L
258
#define  L64			64L
288
#define L64			64L
259
#define  L65536			65536L
289
#define L65536			65536L
260
#define  L21474836478		21474836478L
290
#define L21474836478		21474836478L
261
#define  L_1			-1L
291
#define L_1			 - 1L
262
#else
292
#else
263
#define  L0			( ( long ) 0 )
293
#define L0			((long)0)
264
#define  L1			( ( long ) 1 )
294
#define L1			((long)1)
265
#define  L2			( ( long ) 2 )
295
#define L2			((long)2)
266
#define  L3			( ( long ) 3 )
296
#define L3			((long)3)
267
#define  L4			( ( long ) 4 )
297
#define L4			((long)4)
268
#define  L5			( ( long ) 5 )
298
#define L5			((long)5)
269
#define  L6			( ( long ) 6 )
299
#define L6			((long)6)
270
#define  L7			( ( long ) 7 )
300
#define L7			((long)7)
271
#define  L8			( ( long ) 8 )
301
#define L8			((long)8)
272
#define  L9			( ( long ) 9 )
302
#define L9			((long)9)
273
#define  L10			( ( long ) 10 )
303
#define L10			((long)10)
274
#define  L16			( ( long ) 16 )
304
#define L16			((long)16)
275
#define  L32			( ( long ) 32 )
305
#define L32			((long)32)
276
#define  L64			( ( long ) 64 )
306
#define L64			((long)64)
277
#define  L65536			( ( long ) 65536 )
307
#define L65536			((long)65536)
278
#define  L21474836478		( ( long ) 21474836478 )
308
#define L21474836478		((long)21474836478)
279
#define  L_1			( ( long ) -1 )
309
#define L_1			((long) - 1)
280
#endif
310
#endif
281
 
311
 
282
#define HAS_MAGIC		1
312
#define HAS_MAGIC		1
283
#define substitute_complex	1
313
#define substitute_complex	1
284
 
314