summaryrefslogtreecommitdiffstats
path: root/rules/kaffe.in
blob: c8777eef1a5a27c4c1997fd78eacb01f01b331cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
menuconfig KAFFE
	bool "Kaffe"
	depends on BROKEN

comment	"Target Options"
	depends on KAFFE

	choice
		prompt "Engine"
		default KAFFE_ENG_JIT3
		depends on KAFFE

		config KAFFE_ENG_INTRP
			bool Interpreter

		config KAFFE_ENG_JIT
			bool JIT
			depends on ARCH_ARM || ARCH_X86 || ARCH_SPARC || ARCH_ARM || ARCH_ALPHA || ARCH_MIPS

		config KAFFE_ENG_JIT3
			bool JITv3
			depends on ARCH_ARM || ARCH_X86 || ARCH_SPARC || ARCH_ARM || ARCH_ALPHA || ARCH_MIPS
	endchoice

	choice
		prompt "Threading System"
		default	KAFFE_THREAD_J
		depends on KAFFE

		config KAFFE_THREAD_P
			bool unix-pthreads

		config KAFFE_THREAD_J
			bool unix-jthreads
	endchoice
	
	choice
		prompt "API"
		default KAFFE_API_SE
		depends on KAFFE

		config KAFFE_API_CLDC
			bool CLDC

		config KAFFE_API_SE
			bool J2SE
	endchoice

	config KAFFE_ENABLE_JIKES
		bool
		default n
		prompt "Use Jikes or other Java compiler"
		depends on KAFFE_API_SE
		depends on KAFFE

	config KAFFE_JIKES
		string
		default "jikes" if KAFFE_API_SE
		default "javac" if KAFFE_API_CLDC
		prompt "java compiler (see help)"
		depends on KAFFE_API_SE && KAFFE_ENABLE_JIKES || KAFFE_API_CLDC
		depends on KAFFE
		help
			The compiler must be in the $PATH or an absoloute path to the compiler must be supplied.
			If compiling the CLDC API jikes is not working, please use Sun's javac.

	config KAFFE_JIKES_WO_DEBUG
		bool
		default n
		prompt "Compile Java Class Libs without debugging symbols (see help)"
		depends on KAFFE_API_SE && KAFFE_ENABLE_JIKES || KAFFE_API_CLDC
		depends on KAFFE
		help
			Works only with Sun's javac.
############################################################################# 
comment	"Debugging Options"
	depends on KAFFE

	config KAFFE_DEB_DEB
		bool
		default n
		prompt "Enable run-time debugging machinery"
		depends on KAFFE

	config KAFFE_DEB_X
		bool
		default n
		prompt "Enable debugging symbol generation for jitted code (xdebugging)"
		depends on KAFFE

	config KAFFE_DEB_PROFILING
		bool
		default n
		prompt "Compile with gprof(1) profiling support"
		depends on KAFFE

	config KAFFE_DEB_XPROFILING
		bool
		default n
		prompt "Enable profiling for C and jitted code (xprofiling)"
		depends on KAFFE

	config KAFFE_DEB_STATS
		bool
		default n
		prompt "Gather statistics on vm execution"
		depends on KAFFE
############################################################################## 
comment	"Features"
	depends on KAFFE

	config KAFFE_FEAT_GCJ
		bool
		default n
		prompt "Enable GCJ support"
		depends on KAFFE

	choice
		prompt "AWT Engine"
		default KAFFE_AWT_X
		depends on KAFFE_API_SE
		depends on KAFFE

		config KAFFE_AWT_NO
			bool none

		config KAFFE_AWT_X
			bool XFree

		config KAFFE_AWT_QT
			bool QT
	endchoice

	config KAFFE_FEAT_FEEDBACK
		bool
		default n
		prompt "Enable generation of feedback data"
		depends on KAFFE

	config KAFFE_FEAT_JAVAMATH
		bool
		default n
		prompt "Enable pure java java.math.* package"
		depends on KAFFE_API_SE
		depends on KAFFE

	config KAFFE_FEAT_DISABLE_SOUND
		bool
		default n
		prompt "Disable javax.sound support"
		depends on KAFFE_API_SE
		depends on KAFFE

	config KAFFE_FEAT_DISABLE_ALSA
		bool
		default n
		prompt "Don't use ALSA for sound"
		depends on KAFFE_API_SE && !KAFFE_FEAT_DISABLE_SOUND
		depends on KAFFE

	config KAFFE_FEAT_DISABLE_ESD
		bool
		default n
		prompt  "Don't use esd for sound"
		depends on KAFFE_API_SE && !KAFFE_FEAT_DISABLE_SOUND
		depends on KAFFE

	config KAFFE_FEAT_DISABLE_SUNCOMPAT
		bool
		default n
		prompt "Don't include Sun compatibility scripts"
		depends on KAFFE

	config KAFFE_FEAT_CLDC_GMP
		bool
		default n
		prompt "Enable native java/math/BigInteger in CLDC (see help)"
		depends on KAFFE_API_CLDC
		depends on KAFFE
		help
			Note:
			This is not tested!
			Use on your own risk!

	config KAFFE_FEAT_CLDC_COMM
		bool
		default y
		prompt "Enable javax.microedition.io.CommConnection (access to serial ports)"
		depends on KAFFE_API_CLDC
		depends on KAFFE

############################################################################## 
comment	"Linking options"
	depends on KAFFE

	config KAFFE_LINK_VM
		bool
		prompt "Force the creation of a static virtual machine (staticvm)"
		depends on !KAFFE_LINK_LIB && !KAFFE_LINK_BIN
		depends on KAFFE

	config KAFFE_LINK_LIB
		bool
		prompt "Force the use of static libraries rather than shared (staticlib)"
		depends on !KAFFE_LINK_BIN
		depends on KAFFE

	config KAFFE_LINK_GMP
		bool
		prompt "Link libgmp static into kaffe-bin"
		depends on KAFFE_FEAT_CLDC_GMP || \
			KAFFE_API_SE && !KAFFE_FEAT_JAVAMATH
		depends on KAFFE

	config KAFFE_LINK_BIN
		bool
		prompt "Force the creation of a static virtual machine binary (staticbin)"
		depends on KAFFE


	config KAFFE_TARGETINSTALL_GMP
		bool
		default y if KAFFE_API_SE && !KAFFE_FEAT_JAVAMATH || \
			KAFFE_FEAT_CLDC_GMP && !(KAFFE_LINK_GMP || KAFFE_LINK_BIN)
		depends on KAFFE

comment "kaffe is broken, please send a patch"
	depends on !BROKEN