3d12440c72ec93989300e4227226125654ebf124
[cacao.git] / src / vm / options.h
1 /* vm/options.h - define global options extern
2
3    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
4    Institut f. Computersprachen, TU Wien
5    R. Grafl, A. Krall, C. Kruegel, C. Oates, R. Obermaisser, M. Probst,
6    S. Ring, E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich,
7    J. Wenninger
8
9    This file is part of CACAO.
10
11    This program is free software; you can redistribute it and/or
12    modify it under the terms of the GNU General Public License as
13    published by the Free Software Foundation; either version 2, or (at
14    your option) any later version.
15
16    This program is distributed in the hope that it will be useful, but
17    WITHOUT ANY WARRANTY; without even the implied warranty of
18    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19    General Public License for more details.
20
21    You should have received a copy of the GNU General Public License
22    along with this program; if not, write to the Free Software
23    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
24    02111-1307, USA.
25
26    Contact: cacao@complang.tuwien.ac.at
27
28    Authors: Christian Thalinger
29
30    $Id: options.h 1641 2004-12-01 13:13:31Z christian $
31
32 */
33
34
35 #ifndef _OPTIONS_H
36 #define _OPTIONS_H
37
38
39 #include "vm/global.h"
40
41
42 /* reserved option numbers ****************************************************/
43
44 #define OPT_DONE       -1
45 #define OPT_ERROR       0
46 #define OPT_IGNORE      1
47
48
49 typedef struct opt_struct opt_struct;
50
51 struct opt_struct {
52         char *name;
53         bool  arg;
54         int   value;
55 };
56
57
58 /* global variables ***********************************************************/
59
60 extern bool opt_verbose;
61 extern bool compileall;
62 extern bool runverbose;
63 extern bool verboseexception;
64 extern bool collectverbose;
65
66 extern bool loadverbose;         /* Print debug messages during loading */
67 extern bool linkverbose;
68 extern bool initverbose;         /* Log class initialization */ 
69
70 extern bool opt_rt;
71 extern bool opt_xta;
72 extern bool opt_vta;
73
74 extern bool opt_liberalutf;      /* Don't check overlong UTF-8 sequences */
75
76 extern bool showmethods;
77 extern bool showconstantpool;
78 extern bool showutf;
79
80 extern bool compileverbose;
81 extern bool showstack;
82 extern bool showdisassemble;
83 extern bool showddatasegment;
84 extern bool showintermediate;
85
86 /*#undef INAFTERMAIN*/  /*use to inline system methods before main is called*/
87 #define INAFTERMAIN T /*use to turn off inlining before main called */
88 extern bool useinliningm;
89 extern bool useinlining;
90 extern bool inlinevirtuals;
91 extern bool inlineexceptions;
92 extern bool inlineparamopt;
93 extern bool inlineoutsiders;
94
95 extern bool checkbounds;
96 extern bool checknull;
97 extern bool opt_noieee;
98 extern bool checksync;
99 extern bool opt_loops;
100
101 extern bool makeinitializations;
102
103 extern bool getloadingtime;
104 extern s8 loadingtime;
105
106 extern bool getcompilingtime;
107 extern s8 compilingtime;
108
109 extern int has_ext_instr_set;
110
111 extern bool opt_stat;
112 extern bool opt_verify;
113 extern bool opt_eager;
114
115 #ifdef LSRA
116 extern bool opt_lsra;
117 #endif
118
119 extern int opt_ind;
120 extern char *opt_arg;
121
122
123 /* function prototypes ********************************************************/
124
125 int get_opt(int argc, char **argv, opt_struct *opts);
126
127
128 #endif /* _OPTIONS_H */
129
130
131 /*
132  * These are local overrides for various environment variables in Emacs.
133  * Please do not remove this and leave it at the end of the file, where
134  * Emacs will automagically detect them.
135  * ---------------------------------------------------------------------
136  * Local variables:
137  * mode: c
138  * indent-tabs-mode: t
139  * c-basic-offset: 4
140  * tab-width: 4
141  * End:
142  */