- Documented /N/M.
[tangerine.git] / compiler / arossupport / include / options.h
blobbb6c8ea8cff88a0b01de35ab1163b4360faa7790
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef AROS_OPTIONS_H
7 #define AROS_OPTIONS_H
9 /******************************************************************************
11 FILE
12 $Id$
14 DESCRIPTION
15 This files defines a couple of options which change the way
16 the OS is compiled.
18 ******************************************************************************/
20 /* Should the system compile a working SetFunction()-call? If you
21 enable this, "real" shared libraries (with LVOs and the like)
22 will be generated and all Functions will be called via LVOs.
23 If you disable this, all functions will be called somewhat more
24 directly. To enable the option, change the 0 to 1. */
25 #ifndef EnableSetFunction
26 # define EnableSetFunction 0
27 #endif
28 #if EnableSetFunction
29 # define UseLVOs 1
30 #endif
32 /* Should the OS use registerized arguments or pass the arguments on
33 stack? */
34 #ifndef UseRegisterArgs
35 # define UseRegisterArgs 0
36 #endif
38 /* Should the OS be compiled with macros that call the actual function
39 and with the library base as first parameter or should the library
40 base be a global variable (shared by all functions). */
41 #ifndef LibBaseShouldBeAParameter
42 # define LibBaseShouldBeAParameter 0
43 #endif
45 /* Should the OS be compiled with LVO tables or should the functions
46 be called directly? Note that this is superseeded by
47 EnableSetFunction. */
48 #ifndef UseLVOs
49 # define UseLVOs 0
50 #endif
52 /* If the following is defined, errnos from unix function-calls that could not
53 be interpreted as AROS error numbers (ERROR_* defined in <dos/dos.h> are
54 passed back via SetIoErr(). The errno is incremented by the value of this
55 define. Note that this value should generate unique error numbers! Note
56 also that Fault() checks, whether an error-number is in fact an errno, by
57 AND'ing this value to the error number! The recommended value is 0x40000000
58 (ie only the 30th bit set).
60 If this is defined to 0, the errno will not be passed through. Instead
61 ERROR_UNKNOWN is returned, if the errno could not be interpreted.
63 On AROS systems without any Unix emulation (ie every system without
64 underlying POSIX-compatible operating system), this should be set to 0 to
65 simplify the resulting code. */
66 #ifndef PassThroughErrnos
67 # define PassThroughErrnos 0
68 /* # define PassThroughErrnos 0x40000000 */
69 #endif
71 /******************************************************************************
72 ***** END aros/options.h
73 ******************************************************************************/
75 #endif /* AROS_OPTIONS_H */