Teach cacaoh to understand -d <dir> to install generated header files into
[cacao.git] / options.h
1 /* 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 1529 2004-11-17 17:19:14Z twisti $
31
32 */
33
34
35 #ifndef _OPTIONS_H
36 #define _OPTIONS_H
37
38
39 #include "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 compileall;
61 extern bool verbose;
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 #define INAFTERMAIN T
87 extern bool useinliningm;
88 extern bool useinlining;
89 extern bool inlinevirtuals;
90 extern bool inlineexceptions;
91 extern bool inlineparamopt;
92 extern bool inlineoutsiders;
93
94 extern bool checkbounds;
95 extern bool checknull;
96 extern bool opt_noieee;
97 extern bool checksync;
98 extern bool opt_loops;
99
100 extern bool makeinitializations;
101
102 extern bool getloadingtime;
103 extern s8 loadingtime;
104
105 extern bool getcompilingtime;
106 extern s8 compilingtime;
107
108 extern int has_ext_instr_set;
109
110 extern bool opt_stat;
111 extern bool opt_verify;
112 extern bool opt_eager;
113
114 extern int opt_ind;
115 extern char *opt_arg;
116
117
118 /* function prototypes ********************************************************/
119
120 int get_opt(int argc, char **argv, opt_struct *opts);
121
122 #endif /* _OPTIONS_H */
123
124
125 /*
126  * These are local overrides for various environment variables in Emacs.
127  * Please do not remove this and leave it at the end of the file, where
128  * Emacs will automagically detect them.
129  * ---------------------------------------------------------------------
130  * Local variables:
131  * mode: c
132  * indent-tabs-mode: t
133  * c-basic-offset: 4
134  * tab-width: 4
135  * End:
136  */