Skip to content

Commit b161195

Browse files
committed
Bump for 2.0, wip support for vala 0.39.2
- use previous commits until vala 0.40 is released
1 parent b56c82d commit b161195

File tree

9 files changed

+77
-67
lines changed

9 files changed

+77
-67
lines changed

Makefile

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
_VERSION=1.5
1+
_VERSION=2.0
22
#GIT_TIP=$(shell [ -d .git ] && git log HEAD^..HEAD 2>/dev/null |head -n1|cut -d ' ' -f2)
33
GIT_TIP=$(shell git describe --tags)
44
@@ -48,6 +48,12 @@ else
4848
all: $(BIN)
4949
endif
5050

51+
VALASRC=/Users/pancake/.config/radare2/r2pm/git/vala-0.39.2
52+
VALA040=--pkg libvala-0.40
53+
VALA040+=--vapidir=$(VALASRC)/ccode --pkg ccode -X -I$(VALASRC)/ccode
54+
VALA040+=--vapidir=$(VALASRC)/codegen --pkg codegen -X -I$(VALASRC)/codegen
55+
VALA040+=-X -L/usr/local/lib/vala-0.40 -X -lvalaccodegen
56+
5157
w32:
5258
$(MAKE) W32=1
5359

@@ -59,7 +65,11 @@ $(BIN).exe: $(SRC) | $(VAPIS)
5965

6066
$(BIN): $(SRC) | $(VAPIS)
6167
@echo 'Compiling $(VALA_FILTER) -> $@'
62-
$(VALAC) -o $@ --pkg posix --pkg $(VALAPKG) --save-temps ${TEMPS}
68+
ifeq ($(VALAPKG),libvala-0.40)
69+
$(VALAC) --vapidir=/usr/local/share/vala/vapi -o $@ --pkg posix $(VALA040) --save-temps ${TEMPS}
70+
else
71+
$(VALAC) -o $@ --pkg posix --pkg $(VALAPKG) --pkg valacodegen-0.40 --save-temps ${TEMPS}
72+
endif
6373
@mv $(VALA_FILTER:%.vala=%.c) $(BUILD)
6474

6575
$(BUILD)/%.vapi: %.vala | $(BUILD)

config.vala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
const string version_string = "1.5";
1+
const string version_string = "2.0-1.4.0-1-gb56c82d";

ctypeswriter.vala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ public class CtypesWriter : ValabindWriter {
142142

143143
// FIXME duplicate from NodeFFIWriter
144144
void add_includes (Symbol s) {
145-
foreach (string i in CCodeBaseModule.get_ccode_header_filenames (s).split (",")) {
145+
foreach (string i in Vala.get_ccode_header_filenames (s).split (",")) {
146146
bool include = true;
147147
foreach (string j in includefiles) {
148148
if (i == j) {
@@ -303,7 +303,7 @@ public class CtypesWriter : ValabindWriter {
303303

304304
public override void visit_constant (Constant c) {
305305
warning ("Constants not yet supported on ctypes ("+c.name+")");
306-
//var cname = CCodeBaseModule.get_ccode_name (c);
306+
//var cname = Vala.get_ccode_name (c);
307307
//classes += c.name+" = "+cname+";\n";
308308
}
309309

@@ -330,10 +330,10 @@ public class CtypesWriter : ValabindWriter {
330330
}
331331
/* TODO: add support for freefun in destructor
332332
string? freefun = null;
333-
if (CCodeBaseModule.is_reference_counting (c))
334-
freefun = CCodeBaseModule.get_ccode_unref_function (c);
333+
if (Vala.is_reference_counting (c))
334+
freefun = Vala.get_ccode_unref_function (c);
335335
else
336-
freefun = CCodeBaseModule.get_ccode_free_function (c);
336+
freefun = Vala.get_ccode_free_function (c);
337337
if (freefun == "")
338338
freefun = null;
339339
var methods = c.get_methods ();
@@ -360,7 +360,7 @@ int n = 0;
360360
private void visit_struct_or_class (Symbol s, string name,
361361
Vala.List<Field> fields, Vala.List<Method> methods,
362362
Vala.List<Delegate>? delegates) {
363-
//string cname = CCodeBaseModule.get_ccode_name (s);
363+
//string cname = Vala.get_ccode_name (s);
364364
add_includes (s);
365365
ctc.add_class (name, "class "+name+"(Structure): #"+n.to_string()+"\n");
366366
stderr.printf ("--> "+name+" ("+n.to_string()+")\n");
@@ -451,7 +451,7 @@ n++;
451451
}
452452

453453
public override void visit_delegate (Delegate d) {
454-
string cname = CCodeBaseModule.get_ccode_name (d);
454+
string cname = Vala.get_ccode_name (d);
455455

456456
string args = "";
457457
foreach (var p in d.get_parameters ()) {
@@ -468,7 +468,7 @@ n++;
468468
return;
469469
add_includes (m);
470470

471-
string cname = CCodeBaseModule.get_ccode_name (m);
471+
string cname = Vala.get_ccode_name (m);
472472
//string alias = get_alias (m.name);
473473
bool is_static = (m.binding & MemberBinding.STATIC) != 0;
474474
bool is_constructor = (m is CreationMethod);

cxxwriter.vala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ public class CxxWriter : ValabindWriter {
147147
}
148148

149149
public void process_includes (Symbol s) {
150-
foreach (var foo in CCodeBaseModule.get_ccode_header_filenames (s).split (",")) {
150+
foreach (var foo in Vala.get_ccode_header_filenames (s).split (",")) {
151151
var include = true;
152152
foreach (var inc in includefiles) {
153153
if (inc == foo) {
@@ -166,11 +166,11 @@ public class CxxWriter : ValabindWriter {
166166
// "Cannot resolve type for field '%s'".printf (f.get_cname ()));
167167
} else {
168168
warning ("Type for %s\n".printf (
169-
CCodeBaseModule.get_ccode_name (f)));
169+
Vala.get_ccode_name (f)));
170170
}
171171
//if (f.access == Accessibility.PRIVATE)
172172
// print ("---> field is private XXX\n");
173-
//if (CCodeBaseModule.get_ccode_array_length (f))
173+
//if (Vala.get_ccode_array_length (f))
174174
// print ("---> array without length\n");
175175
}
176176

@@ -180,7 +180,7 @@ public class CxxWriter : ValabindWriter {
180180
foreach (var k in c.get_classes ())
181181
walk_class (c.name, k);
182182
classname = pfx+c.name;
183-
classcname = CCodeBaseModule.get_ccode_name (c);
183+
classcname = Vala.get_ccode_name (c);
184184

185185
process_includes (c);
186186

@@ -213,12 +213,12 @@ public class CxxWriter : ValabindWriter {
213213
walk_field (f);
214214
//c.static_destructor!=null?"true":"false");
215215
if (has_destructor && has_constructor) {
216-
if (CCodeBaseModule.is_reference_counting (c)) {
217-
string? freefun = CCodeBaseModule.get_ccode_unref_function (c);
216+
if (Vala.is_reference_counting (c)) {
217+
string? freefun = Vala.get_ccode_unref_function (c);
218218
if (freefun != null)
219219
extends += " ~%s_%s() {\n %s (self);\n }\n".printf (modulename, classname, freefun);
220220
} else {
221-
string? freefun = CCodeBaseModule.get_ccode_free_function (c);
221+
string? freefun = Vala.get_ccode_free_function (c);
222222
if (freefun != null)
223223
extends += " ~%s_%s() {\n %s (self);\n }\n".printf (modulename, classname, freefun);
224224
}
@@ -234,13 +234,13 @@ public class CxxWriter : ValabindWriter {
234234
var enumname = classname + e.name;
235235
var tmp = "%{\n";
236236
enums += "/* enum: %s (%s) */\n".printf (
237-
e.name, CCodeBaseModule.get_ccode_name (e));
237+
e.name, Vala.get_ccode_name (e));
238238
enums += "enum %s {\n".printf (enumname);
239239
tmp += "#define %s long int\n".printf (enumname); // XXX: Use cname?
240240
foreach (var v in e.get_values ()) {
241241
enums += " %s_%s,\n".printf (e.name, v.name);
242242
tmp += "#define %s_%s %s\n".printf (e.name, v.name,
243-
CCodeBaseModule.get_ccode_name (v));
243+
Vala.get_ccode_name (v));
244244
}
245245
enums += "};\n";
246246
enums += tmp + "%}\n";
@@ -253,7 +253,7 @@ public class CxxWriter : ValabindWriter {
253253

254254
public void walk_method (Method m) {
255255
bool first = true;
256-
string cname = CCodeBaseModule.get_ccode_name (m);
256+
string cname = Vala.get_ccode_name (m);
257257
string alias = get_alias (m.name);
258258
string ret;
259259
string def_args = "";
@@ -267,7 +267,7 @@ public class CxxWriter : ValabindWriter {
267267
// m.get_postconditions ();
268268

269269
ret = m.return_type.to_string ();
270-
ret = get_ctype (is_generic (ret)? ret : CCodeBaseModule.get_ccode_name (m.return_type));
270+
ret = get_ctype (is_generic (ret)? ret : Vala.get_ccode_name (m.return_type));
271271
if (ret == null)
272272
error ("Cannot resolve return type for %s\n".printf (cname));
273273
void_return = (ret == "void");
@@ -284,7 +284,7 @@ public class CxxWriter : ValabindWriter {
284284
DataType? bar = foo.variable_type;
285285
if (bar == null)
286286
continue;
287-
string? arg_type = get_ctype (CCodeBaseModule.get_ccode_name (bar));
287+
string? arg_type = get_ctype (Vala.get_ccode_name (bar));
288288

289289
if (first) {
290290
pfx = "";

dlangwriter.vala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ public class DlangWriter : ValabindWriter {
157157
}
158158

159159
public void process_includes (Symbol s) {
160-
foreach (var foo in CCodeBaseModule.get_ccode_header_filenames (s).split (",")) {
160+
foreach (var foo in Vala.get_ccode_header_filenames (s).split (",")) {
161161
var include = true;
162162
foreach (var inc in includefiles) {
163163
if (inc == foo) {
@@ -176,7 +176,7 @@ public class DlangWriter : ValabindWriter {
176176
// "Cannot resolve type for field '%s'".printf (f.get_cname ()));
177177
} else {
178178
warning ("Type for %s\n".printf (
179-
CCodeBaseModule.get_ccode_name (f)));
179+
Vala.get_ccode_name (f)));
180180
}
181181
string type = f.variable_type.to_string ();
182182
string name = f.name;
@@ -194,7 +194,7 @@ public class DlangWriter : ValabindWriter {
194194
}
195195
//if (f.access == Accessibility.PRIVATE)
196196
// print ("---> field is private XXX\n");
197-
//if (CCodeBaseModule.get_ccode_array_length (f))
197+
//if (Vala.get_ccode_array_length (f))
198198
// print ("---> array without length\n");
199199
}
200200

@@ -214,7 +214,7 @@ public class DlangWriter : ValabindWriter {
214214
foreach (var k in c.get_classes ())
215215
walk_class (c.name, k);
216216
classname = pfx+c.name;
217-
classcname = "_"+CCodeBaseModule.get_ccode_name (c);
217+
classcname = "_"+Vala.get_ccode_name (c);
218218

219219
process_includes (c);
220220

@@ -254,12 +254,12 @@ public class DlangWriter : ValabindWriter {
254254
walk_enum (e);
255255
//c.static_destructor!=null?"true":"false");
256256
if (has_destructor && has_constructor) {
257-
if (CCodeBaseModule.is_reference_counting (c)) {
258-
string? freefun = CCodeBaseModule.get_ccode_unref_function (c);
257+
if (Vala.is_reference_counting (c)) {
258+
string? freefun = Vala.get_ccode_unref_function (c);
259259
if (freefun != null && freefun != "")
260260
extends += " ~this() { %s (o); }\n".printf (freefun);
261261
} else {
262-
string? freefun = CCodeBaseModule.get_ccode_free_function (c);
262+
string? freefun = Vala.get_ccode_free_function (c);
263263
if (freefun != null)
264264
extends += " ~this() { %s (o); }\n".printf (freefun);
265265
}
@@ -275,13 +275,13 @@ public class DlangWriter : ValabindWriter {
275275
var enumname = classname + e.name;
276276
var tmp = "%{\n";
277277
enums += "/* enum: %s (%s) */\n".printf (
278-
e.name, CCodeBaseModule.get_ccode_name (e));
278+
e.name, Vala.get_ccode_name (e));
279279
enums += "enum %s {\n".printf (enumname);
280280
tmp += "#define %s long int\n".printf (enumname); // XXX: Use cname?
281281
foreach (var v in e.get_values ()) {
282282
enums += " %s_%s,\n".printf (e.name, v.name);
283283
tmp += "#define %s_%s %s\n".printf (e.name, v.name,
284-
CCodeBaseModule.get_ccode_name (v));
284+
Vala.get_ccode_name (v));
285285
}
286286
enums += "};\n";
287287
enums += tmp + "%}\n";
@@ -294,7 +294,7 @@ public class DlangWriter : ValabindWriter {
294294

295295
public void walk_method (Method m) {
296296
bool first = true;
297-
string cname = CCodeBaseModule.get_ccode_name (m);
297+
string cname = Vala.get_ccode_name (m);
298298
string alias = get_alias (m.name);
299299
string ret;
300300
string def_args = "";
@@ -309,7 +309,7 @@ public class DlangWriter : ValabindWriter {
309309
// m.get_postconditions ();
310310

311311
ret = m.return_type.to_string ();
312-
ret = get_ctype (is_generic (ret)? ret : CCodeBaseModule.get_ccode_name (m.return_type));
312+
ret = get_ctype (is_generic (ret)? ret : Vala.get_ccode_name (m.return_type));
313313
if (ret == null)
314314
error ("Cannot resolve return type for %s\n".printf (cname));
315315
void_return = (ret == "void");
@@ -332,7 +332,7 @@ public class DlangWriter : ValabindWriter {
332332
DataType? bar = foo.variable_type;
333333
if (bar == null)
334334
continue;
335-
string? arg_type = get_ctype (CCodeBaseModule.get_ccode_name (bar));
335+
string? arg_type = get_ctype (Vala.get_ccode_name (bar));
336336

337337
if (first) {
338338
first = false;

girwriter.vala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ public class GirWriter : ValabindWriter {
184184
}
185185

186186
public void walk_constant (Constant f) {
187-
var cname = CCodeBaseModule.get_ccode_name (f);
187+
var cname = Vala.get_ccode_name (f);
188188
var cvalue = "TODO";
189189
var ctype = get_ctype (f.type_reference.to_string ());
190190
var gtype = girtype (f.type_reference.to_string ());
@@ -200,7 +200,7 @@ public class GirWriter : ValabindWriter {
200200
}
201201

202202
public void process_includes (Symbol s) {
203-
foreach (var foo in CCodeBaseModule.get_ccode_header_filenames (s).split (",")) {
203+
foreach (var foo in Vala.get_ccode_header_filenames (s).split (",")) {
204204
var include = true;
205205
foreach (var inc in includefiles) {
206206
if (inc == foo) {
@@ -214,7 +214,7 @@ public class GirWriter : ValabindWriter {
214214
}
215215

216216
public void walk_field (Field f) {
217-
var name = CCodeBaseModule.get_ccode_name (f);
217+
var name = Vala.get_ccode_name (f);
218218
var type = f.variable_type.to_string ();
219219
type = get_ctype (type);
220220
externs += " <field name=\""+name+"\" allow-none=\"1\">\n";
@@ -237,7 +237,7 @@ public class GirWriter : ValabindWriter {
237237
foreach (var k in c.get_classes ())
238238
walk_class (c.name, k);
239239
classname = pfx+c.name;
240-
classcname = CCodeBaseModule.get_ccode_name (c);
240+
classcname = Vala.get_ccode_name (c);
241241
process_includes (c);
242242
if (context.profile == Profile.GOBJECT)
243243
classname = "%s%s".printf (nspace, classname);
@@ -274,7 +274,7 @@ public class GirWriter : ValabindWriter {
274274
//tmp += "#define %s long int\n".printf (enumname); // XXX: Use cname?
275275
foreach (var v in e.get_values ()) {
276276
tmp += " <member name=\""+e.name+"\" value=\""+
277-
CCodeBaseModule.get_ccode_name (v)+"\"/>\n";
277+
Vala.get_ccode_name (v)+"\"/>\n";
278278
//enums += " %s_%s,\n".printf (e.name, v.name);
279279
//tmp += "#define %s_%s %s\n".printf (e.name, v.name, v.get_cname ());
280280
}
@@ -289,7 +289,7 @@ public class GirWriter : ValabindWriter {
289289

290290
public void walk_method (Method m) {
291291
//bool first = true;
292-
string cname = CCodeBaseModule.get_ccode_name (m);
292+
string cname = Vala.get_ccode_name (m);
293293
string alias = get_alias (m.name);
294294
string ret, vret;
295295
bool void_return;
@@ -302,7 +302,7 @@ public class GirWriter : ValabindWriter {
302302

303303
ret = vret = m.return_type.to_string ();
304304
if (is_generic (ret)) ret = get_ctype (vret);
305-
else ret = get_ctype (CCodeBaseModule.get_ccode_name (m.return_type));
305+
else ret = get_ctype (Vala.get_ccode_name (m.return_type));
306306
if (ret == null)
307307
error ("Cannot resolve return type for %s\n".printf (cname));
308308
void_return = (ret == "void");
@@ -338,7 +338,7 @@ public class GirWriter : ValabindWriter {
338338
if (bar == null)
339339
continue;
340340
string? arg_type = girtype (bar.to_string ());
341-
string? arg_ctype = get_ctype (CCodeBaseModule.get_ccode_name (bar));
341+
string? arg_ctype = get_ctype (Vala.get_ccode_name (bar));
342342
externs += " <parameter name=\""+arg_name+"\" transfer-ownership=\"none\">\n";
343343
externs += " <type name=\""+arg_type+"\" c:type=\""+arg_ctype+"\"/>\n";
344344
externs += " </parameter>\n";

0 commit comments

Comments
 (0)