gobject-introspection 3.2.1-x86-mingw32 → 3.2.2-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Rakefile +10 -7
- data/ext/gobject-introspection/rb-gi-argument.c +64 -16
- data/ext/gobject-introspection/rb-gi-conversions.h +3 -4
- data/ext/gobject-introspection/rb-gi-function-info.c +17 -8
- data/lib/2.2/gobject_introspection.so +0 -0
- data/lib/2.3/gobject_introspection.so +0 -0
- data/lib/2.4/gobject_introspection.so +0 -0
- data/lib/2.5/gobject_introspection.so +0 -0
- data/lib/gobject-introspection/loader.rb +11 -4
- data/vendor/local/bin/g-ir-compiler.exe +0 -0
- data/vendor/local/bin/g-ir-generate.exe +0 -0
- data/vendor/local/bin/g-ir-inspect.exe +0 -0
- data/vendor/local/bin/libgirepository-1.0-1.dll +0 -0
- data/vendor/local/lib/girepository-1.0/GIRepository-2.0.typelib +0 -0
- data/vendor/local/lib/girepository-1.0/GLib-2.0.typelib +0 -0
- data/vendor/local/lib/girepository-1.0/GObject-2.0.typelib +0 -0
- data/vendor/local/lib/girepository-1.0/Gio-2.0.typelib +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/ast.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/ast.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.py +3 -2
- data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/dumper.py +1 -1
- data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.py +1 -0
- data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/message.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/message.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/scannermain.py +1 -1
- data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/shlibs.py +7 -2
- data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.py +1 -0
- data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/utils.py +4 -0
- data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
- data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
- data/vendor/local/lib/libgirepository-1.0.a +0 -0
- data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
- data/vendor/local/lib/libgirepository-1.0.la +3 -3
- data/vendor/local/lib/pkgconfig/gobject-introspection-1.0.pc +2 -2
- data/vendor/local/lib/pkgconfig/gobject-introspection-no-export-1.0.pc +2 -2
- data/vendor/local/share/gir-1.0/GIRepository-2.0.gir +16 -5
- data/vendor/local/share/gir-1.0/GLib-2.0.gir +911 -377
- data/vendor/local/share/gir-1.0/GObject-2.0.gir +110 -53
- data/vendor/local/share/gir-1.0/Gio-2.0.gir +835 -287
- data/vendor/local/share/gobject-introspection-1.0/Makefile.introspection +1 -1
- data/vendor/local/share/gobject-introspection-1.0/tests/foo.h +1 -0
- data/vendor/local/share/gobject-introspection-1.0/tests/regress.c +2 -1
- data/vendor/local/share/gobject-introspection-1.0/tests/regress.h +10 -2
- data/vendor/local/share/license/gobject-introspection/COPYING +1 -1
- data/vendor/local/share/man/man1/g-ir-compiler.1 +3 -3
- data/vendor/local/share/man/man1/g-ir-generate.1 +2 -1
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d194b2a3011b7d4c864a8884ed7d3eb7bf05d46c592cf9c62bb37fbe08bbead3
|
4
|
+
data.tar.gz: 648e946cc39dab34d9a287a48c7a26e0e7f17ca769fbeadb4e1bf79ab6b6f397
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12786609db8a94078cf41ae96a8f9855c611b64e16dc0d94ae46c803b3460604a264c690fb8589639f66dcd95014d9d1428c647a616cd3d22ad639443a5a31ee
|
7
|
+
data.tar.gz: 006202341b9738d462e150857c24dd13ea3cf7fd624a92a36d52b485a0cf91f5311db49cc99c1e5f7743c75eafc4c149f1b03636131532fcc7cc77cdb39983bc
|
data/Rakefile
CHANGED
@@ -32,7 +32,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
|
|
32
32
|
:name => "glib",
|
33
33
|
:download_site => :gnome,
|
34
34
|
:label => "GLib",
|
35
|
-
:version => "2.
|
35
|
+
:version => "2.56.0",
|
36
36
|
:compression_method => "xz",
|
37
37
|
:windows => {
|
38
38
|
:build => false,
|
@@ -47,7 +47,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
|
|
47
47
|
:name => "gobject-introspection",
|
48
48
|
:download_site => :gnome,
|
49
49
|
:label => "gobject-introspection",
|
50
|
-
:version => "1.
|
50
|
+
:version => "1.56.0",
|
51
51
|
:compression_method => "xz",
|
52
52
|
:windows => {
|
53
53
|
:configure_args => [
|
@@ -58,12 +58,12 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
|
|
58
58
|
"support-external-g-ir-scanner.diff",
|
59
59
|
],
|
60
60
|
:need_autoreconf => true,
|
61
|
+
:build_concurrently => false,
|
61
62
|
:built_file => "bin/libgirepository-1.0-1.dll",
|
62
63
|
},
|
63
64
|
:native => {
|
64
65
|
:build => true,
|
65
66
|
:patches => [
|
66
|
-
# "cross-compilable-g-ir-scanner.diff",
|
67
67
|
],
|
68
68
|
:built_file => "bin/g-ir-scanner",
|
69
69
|
}
|
@@ -74,20 +74,23 @@ package_task.define
|
|
74
74
|
|
75
75
|
namespace :native do
|
76
76
|
namespace :"gobject-introspection" do
|
77
|
+
patched_paths = []
|
78
|
+
|
77
79
|
g_ir_scanner_dir = package_task.native.absolute_binary_dir
|
78
80
|
g_ir_scanner_dir += "lib/gobject-introspection/giscanner"
|
79
|
-
|
80
|
-
|
81
|
+
g_ir_scanner_patched_path = g_ir_scanner_dir + "patched"
|
82
|
+
patched_paths << g_ir_scanner_patched_path
|
83
|
+
file g_ir_scanner_patched_path.to_s do
|
81
84
|
Dir.chdir(g_ir_scanner_dir.to_s) do
|
82
85
|
patch = "#{package_task.package.patches_dir}/cross-g-ir-scanner.diff"
|
83
86
|
sh("patch -p2 < #{patch}")
|
84
87
|
rm_f(Dir.glob("*.{pyc,pyo}"))
|
85
88
|
end
|
86
|
-
touch(
|
89
|
+
touch(g_ir_scanner_patched_path)
|
87
90
|
end
|
88
91
|
|
89
92
|
desc "Make g-ir-scanner workable for Windows on non Windows"
|
90
|
-
task :cross =>
|
93
|
+
task :cross => patched_paths
|
91
94
|
end
|
92
95
|
|
93
96
|
namespace :builder do
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2012-
|
3
|
+
* Copyright (C) 2012-2018 Ruby-GNOME2 Project Team
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
6
6
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -21,6 +21,7 @@
|
|
21
21
|
#include "rb-gi-private.h"
|
22
22
|
|
23
23
|
static VALUE rb_cGLibValue = Qnil;
|
24
|
+
static VALUE rb_cGLibBytes = Qnil;
|
24
25
|
|
25
26
|
static const gchar *
|
26
27
|
rb_gi_transfer_to_string(GITransfer transfer)
|
@@ -267,6 +268,14 @@ array_c_to_ruby_sized(gconstpointer *elements,
|
|
267
268
|
}
|
268
269
|
break;
|
269
270
|
case GI_TYPE_TAG_FILENAME:
|
271
|
+
g_base_info_unref(element_type_info);
|
272
|
+
{
|
273
|
+
const gchar **filenames = (const gchar **)elements;
|
274
|
+
for (i = 0; i < n_elements; i++) {
|
275
|
+
rb_ary_push(rb_array, CSTRFILENAME2RVAL(filenames[i]));
|
276
|
+
}
|
277
|
+
}
|
278
|
+
break;
|
270
279
|
case GI_TYPE_TAG_ARRAY:
|
271
280
|
g_base_info_unref(element_type_info);
|
272
281
|
rb_raise(rb_eNotImpError,
|
@@ -1264,10 +1273,10 @@ rb_gi_argument_to_ruby(GIArgument *argument,
|
|
1264
1273
|
rb_argument = UINT2NUM(argument->v_uint32);
|
1265
1274
|
break;
|
1266
1275
|
case GI_TYPE_TAG_INT64:
|
1267
|
-
rb_argument =
|
1276
|
+
rb_argument = LL2NUM(argument->v_int64);
|
1268
1277
|
break;
|
1269
1278
|
case GI_TYPE_TAG_UINT64:
|
1270
|
-
rb_argument =
|
1279
|
+
rb_argument = ULL2NUM(argument->v_uint64);
|
1271
1280
|
break;
|
1272
1281
|
case GI_TYPE_TAG_FLOAT:
|
1273
1282
|
rb_argument = DBL2NUM(argument->v_float);
|
@@ -2281,6 +2290,8 @@ rb_gi_return_argument_free_everything_array_c(GIArgument *argument,
|
|
2281
2290
|
g_strfreev(argument->v_pointer);
|
2282
2291
|
break;
|
2283
2292
|
case GI_TYPE_TAG_FILENAME:
|
2293
|
+
g_strfreev(argument->v_pointer);
|
2294
|
+
break;
|
2284
2295
|
case GI_TYPE_TAG_ARRAY:
|
2285
2296
|
case GI_TYPE_TAG_INTERFACE:
|
2286
2297
|
case GI_TYPE_TAG_GLIST:
|
@@ -2869,13 +2880,17 @@ rb_gi_value_argument_from_ruby_interface(GIArgument *argument,
|
|
2869
2880
|
}
|
2870
2881
|
argument->v_pointer = gvalue;
|
2871
2882
|
} else if (gtype == G_TYPE_BYTES) {
|
2872
|
-
|
2873
|
-
|
2883
|
+
if (RVAL2CBOOL(rb_obj_is_kind_of(rb_argument, rb_cGLibBytes))) {
|
2884
|
+
argument->v_pointer = RVAL2BOXED(rb_argument, G_TYPE_BYTES);
|
2885
|
+
} else {
|
2886
|
+
VALUE rb_string;
|
2887
|
+
GBytes *gbytes;
|
2874
2888
|
|
2875
|
-
|
2876
|
-
|
2877
|
-
|
2878
|
-
|
2889
|
+
rb_string = StringValue(rb_argument);
|
2890
|
+
gbytes = g_bytes_new(RSTRING_PTR(rb_string),
|
2891
|
+
RSTRING_LEN(rb_string));
|
2892
|
+
argument->v_pointer = gbytes;
|
2893
|
+
}
|
2879
2894
|
} else if (gtype == G_TYPE_CLOSURE) {
|
2880
2895
|
GClosure *rclosure = NULL;
|
2881
2896
|
|
@@ -3136,10 +3151,10 @@ rb_gi_value_argument_from_ruby(GIArgument *argument, GITypeInfo *type_info,
|
|
3136
3151
|
argument->v_uint32 = NUM2UINT(rb_argument);
|
3137
3152
|
break;
|
3138
3153
|
case GI_TYPE_TAG_INT64:
|
3139
|
-
argument->v_int64 =
|
3154
|
+
argument->v_int64 = NUM2LL(rb_argument);
|
3140
3155
|
break;
|
3141
3156
|
case GI_TYPE_TAG_UINT64:
|
3142
|
-
argument->v_uint64 =
|
3157
|
+
argument->v_uint64 = NUM2ULL(rb_argument);
|
3143
3158
|
break;
|
3144
3159
|
case GI_TYPE_TAG_FLOAT:
|
3145
3160
|
argument->v_float = NUM2DBL(rb_argument);
|
@@ -3406,14 +3421,46 @@ rb_gi_in_argument_transfer(GIArgument *argument, GITransfer transfer,
|
|
3406
3421
|
}
|
3407
3422
|
|
3408
3423
|
GIArgument *
|
3409
|
-
rb_gi_in_argument_from_ruby(
|
3410
|
-
|
3424
|
+
rb_gi_in_argument_from_ruby(GICallableInfo *callable_info,
|
3425
|
+
GIArgument *argument,
|
3426
|
+
GIArgInfo *arg_info,
|
3427
|
+
guint nth_rb_argument,
|
3428
|
+
VALUE rb_argument,
|
3429
|
+
VALUE self)
|
3411
3430
|
{
|
3412
3431
|
GITypeInfo type_info;
|
3413
3432
|
|
3414
|
-
if (
|
3415
|
-
|
3416
|
-
|
3433
|
+
if (NIL_P(rb_argument)) {
|
3434
|
+
if (g_arg_info_may_be_null(arg_info)) {
|
3435
|
+
memset(argument, 0, sizeof(GIArgument));
|
3436
|
+
return argument;
|
3437
|
+
} else {
|
3438
|
+
const char *module_name;
|
3439
|
+
GIBaseInfo *klass;
|
3440
|
+
const char *suffix;
|
3441
|
+
|
3442
|
+
module_name = g_base_info_get_namespace(callable_info);
|
3443
|
+
klass = g_base_info_get_container(callable_info);
|
3444
|
+
if (nth_rb_argument == 1) {
|
3445
|
+
suffix = "st";
|
3446
|
+
} else if (nth_rb_argument == 2) {
|
3447
|
+
suffix = "nd";
|
3448
|
+
} else if (nth_rb_argument == 3) {
|
3449
|
+
suffix = "rd";
|
3450
|
+
} else {
|
3451
|
+
suffix = "th";
|
3452
|
+
}
|
3453
|
+
rb_raise(rb_eArgError,
|
3454
|
+
"<%s%s%s%s%s>: the %u%s argument must not nil: <%s>",
|
3455
|
+
module_name,
|
3456
|
+
klass ? "::" : "",
|
3457
|
+
klass ? g_base_info_get_name(klass) : "",
|
3458
|
+
klass ? "#" : ".",
|
3459
|
+
g_base_info_get_name(callable_info),
|
3460
|
+
nth_rb_argument,
|
3461
|
+
suffix,
|
3462
|
+
g_base_info_get_name(arg_info));
|
3463
|
+
}
|
3417
3464
|
}
|
3418
3465
|
|
3419
3466
|
g_arg_info_load_type(arg_info, &type_info);
|
@@ -4406,4 +4453,5 @@ void
|
|
4406
4453
|
rb_gi_argument_init(void)
|
4407
4454
|
{
|
4408
4455
|
rb_cGLibValue = rb_const_get(mGLib, rb_intern("Value"));
|
4456
|
+
rb_cGLibBytes = rb_const_get(mGLib, rb_intern("Bytes"));
|
4409
4457
|
}
|
@@ -46,9 +46,6 @@
|
|
46
46
|
#define RVAL2GI_VALUE_ARGUMENT(argument, type_info, rb_argument, self) \
|
47
47
|
(rb_gi_value_argument_from_ruby((argument), (type_info), \
|
48
48
|
(rb_argument), (self)))
|
49
|
-
#define RVAL2GI_IN_ARGUMENT(argument, arg_info, rb_argument, self) \
|
50
|
-
(rb_gi_in_argument_from_ruby((argument), (arg_info), \
|
51
|
-
(rb_argument), (self)))
|
52
49
|
#define RVAL2GI_IN_ARRAY_ARGUMENT(array_argument, length_argument, \
|
53
50
|
array_arg_info, length_arg_info, \
|
54
51
|
rb_argument) \
|
@@ -127,8 +124,10 @@ GIArgument *rb_gi_value_argument_from_ruby (GIArgument *argument,
|
|
127
124
|
GITypeInfo *type_info,
|
128
125
|
VALUE rb_argument,
|
129
126
|
VALUE self);
|
130
|
-
GIArgument *rb_gi_in_argument_from_ruby (
|
127
|
+
GIArgument *rb_gi_in_argument_from_ruby (GICallableInfo *callable_info,
|
128
|
+
GIArgument *argument,
|
131
129
|
GIArgInfo *arg_info,
|
130
|
+
guint nth_rb_argument,
|
132
131
|
VALUE rb_argument,
|
133
132
|
VALUE self);
|
134
133
|
GIArgument *rb_gi_in_array_argument_from_ruby (GIArgument *array_argument,
|
@@ -1123,8 +1123,11 @@ in_callback_argument_from_ruby(RBGIArgMetadata *metadata, GArray *in_args)
|
|
1123
1123
|
}
|
1124
1124
|
|
1125
1125
|
static void
|
1126
|
-
in_argument_from_ruby(
|
1127
|
-
|
1126
|
+
in_argument_from_ruby(GICallableInfo *callable_info,
|
1127
|
+
RBGIArgMetadata *metadata,
|
1128
|
+
VALUE rb_arguments,
|
1129
|
+
GArray *in_args,
|
1130
|
+
GPtrArray *args_metadata,
|
1128
1131
|
VALUE self)
|
1129
1132
|
{
|
1130
1133
|
if (metadata->callback_p && !metadata->destroy_p) {
|
@@ -1172,10 +1175,12 @@ in_argument_from_ruby(RBGIArgMetadata *metadata, VALUE rb_arguments,
|
|
1172
1175
|
rb_argument = RARRAY_PTR(rb_arguments)[metadata->rb_arg_index];
|
1173
1176
|
}
|
1174
1177
|
argument = &(g_array_index(in_args, GIArgument, metadata->in_arg_index));
|
1175
|
-
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1178
|
+
rb_gi_in_argument_from_ruby(callable_info,
|
1179
|
+
argument,
|
1180
|
+
&(metadata->arg_info),
|
1181
|
+
metadata->rb_arg_index,
|
1182
|
+
rb_argument,
|
1183
|
+
self);
|
1179
1184
|
}
|
1180
1185
|
}
|
1181
1186
|
|
@@ -1215,8 +1220,12 @@ arguments_from_ruby(GICallableInfo *info, VALUE self, VALUE rb_arguments,
|
|
1215
1220
|
|
1216
1221
|
metadata = g_ptr_array_index(args_metadata, i);
|
1217
1222
|
if (metadata->in_arg_index != -1) {
|
1218
|
-
in_argument_from_ruby(
|
1219
|
-
|
1223
|
+
in_argument_from_ruby(info,
|
1224
|
+
metadata,
|
1225
|
+
rb_arguments,
|
1226
|
+
in_args,
|
1227
|
+
args_metadata,
|
1228
|
+
self);
|
1220
1229
|
} else {
|
1221
1230
|
out_argument_from_ruby(metadata, out_args);
|
1222
1231
|
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -437,6 +437,12 @@ module GObjectIntrospection
|
|
437
437
|
if name == "initialize"
|
438
438
|
name += "_raw"
|
439
439
|
end
|
440
|
+
|
441
|
+
n_in_args = function_info.n_in_args
|
442
|
+
if options[:n_in_args_offset]
|
443
|
+
n_in_args += options[:n_in_args_offset]
|
444
|
+
end
|
445
|
+
|
440
446
|
return_type = function_info.return_type
|
441
447
|
return_type_tag = return_type.tag
|
442
448
|
if return_type_tag == TypeTag::VOID
|
@@ -445,11 +451,12 @@ module GObjectIntrospection
|
|
445
451
|
return_type_tag = TypeTag::ARRAY
|
446
452
|
end
|
447
453
|
end
|
454
|
+
|
448
455
|
case return_type_tag
|
449
456
|
when TypeTag::BOOLEAN
|
450
457
|
case name
|
451
458
|
when "equal"
|
452
|
-
if
|
459
|
+
if n_in_args == 1
|
453
460
|
"=="
|
454
461
|
else
|
455
462
|
name
|
@@ -457,7 +464,7 @@ module GObjectIntrospection
|
|
457
464
|
when /\A(?:is|get_is|can_be)_/
|
458
465
|
"#{$POSTMATCH}?"
|
459
466
|
when /\Aget_/
|
460
|
-
if
|
467
|
+
if n_in_args.zero?
|
461
468
|
if function_info.n_out_args.zero?
|
462
469
|
"#{$POSTMATCH}?"
|
463
470
|
else
|
@@ -476,7 +483,7 @@ module GObjectIntrospection
|
|
476
483
|
when TypeTag::GLIST, TypeTag::GSLIST, TypeTag::ARRAY
|
477
484
|
case name
|
478
485
|
when /\A(?:list|get)_/
|
479
|
-
if
|
486
|
+
if n_in_args.zero?
|
480
487
|
$POSTMATCH
|
481
488
|
else
|
482
489
|
name
|
@@ -487,7 +494,7 @@ module GObjectIntrospection
|
|
487
494
|
else
|
488
495
|
case name
|
489
496
|
when /\Aget_/
|
490
|
-
if
|
497
|
+
if n_in_args.zero?
|
491
498
|
$POSTMATCH
|
492
499
|
else
|
493
500
|
name
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -116,7 +116,7 @@ class CCompiler(object):
|
|
116
116
|
runtime_path_envvar = []
|
117
117
|
runtime_paths = []
|
118
118
|
|
119
|
-
if
|
119
|
+
if os.name == 'nt':
|
120
120
|
runtime_path_envvar = ['LIB', 'PATH']
|
121
121
|
else:
|
122
122
|
runtime_path_envvar = ['LD_LIBRARY_PATH']
|
@@ -288,9 +288,10 @@ class CCompiler(object):
|
|
288
288
|
proc = subprocess.Popen([self.compiler_cmd, '-print-search-dirs'],
|
289
289
|
stdout=subprocess.PIPE)
|
290
290
|
o, e = proc.communicate()
|
291
|
+
libsearch = options.library_paths
|
291
292
|
for line in o.decode('ascii').splitlines():
|
292
293
|
if line.startswith('libraries: '):
|
293
|
-
libsearch
|
294
|
+
libsearch += line[len('libraries: '):].split(os.pathsep)
|
294
295
|
|
295
296
|
shlibs = []
|
296
297
|
not_resolved = []
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -330,6 +330,7 @@ class MainTransformer(object):
|
|
330
330
|
# might lose the ctype from the original node.
|
331
331
|
if type_node is not None:
|
332
332
|
result.ctype = type_node.ctype
|
333
|
+
result.complete_ctype = type_node.complete_ctype
|
333
334
|
return result
|
334
335
|
|
335
336
|
def _get_position(self, func, param):
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -562,7 +562,7 @@ def scanner_main(args):
|
|
562
562
|
if options.warn_fatal and warning_count > 0:
|
563
563
|
message.fatal("warnings configured as fatal")
|
564
564
|
return 1
|
565
|
-
elif warning_count > 0 and options.warn_all is False:
|
565
|
+
elif warning_count > 0 and options.warn_all is False and options.quiet is False:
|
566
566
|
print("g-ir-scanner: %s: warning: %d warnings suppressed "
|
567
567
|
"(use --warn-all to see them)" %
|
568
568
|
(transformer.namespace.name, warning_count, ))
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -29,7 +29,7 @@ import platform
|
|
29
29
|
import re
|
30
30
|
import subprocess
|
31
31
|
|
32
|
-
from .utils import get_libtool_command, extract_libtool_shlib
|
32
|
+
from .utils import get_libtool_command, extract_libtool_shlib, host_os
|
33
33
|
from .ccompiler import CCompiler
|
34
34
|
|
35
35
|
|
@@ -94,7 +94,7 @@ def _resolve_non_libtool(options, binary, libraries):
|
|
94
94
|
else:
|
95
95
|
binary.args[0] = old_argdir
|
96
96
|
|
97
|
-
if
|
97
|
+
if host_os() == 'nt':
|
98
98
|
cc = CCompiler()
|
99
99
|
shlibs = cc.resolve_windows_libs(libraries, options)
|
100
100
|
|
@@ -117,6 +117,11 @@ def _resolve_non_libtool(options, binary, libraries):
|
|
117
117
|
shlibs = []
|
118
118
|
for line in proc.stdout:
|
119
119
|
line = line.decode('ascii')
|
120
|
+
# ldd on *BSD show the argument passed on the first line even if
|
121
|
+
# there is only one argument. We have to ignore it because it is
|
122
|
+
# possible for the name of the binary to match _ldd_library_pattern.
|
123
|
+
if line == binary.args[0] + ':\n':
|
124
|
+
continue
|
120
125
|
for library, pattern in patterns.items():
|
121
126
|
m = pattern.search(line)
|
122
127
|
if m:
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -184,6 +184,10 @@ def cflag_real_include_path(cflag):
|
|
184
184
|
return "-I" + os.path.realpath(cflag[2:])
|
185
185
|
|
186
186
|
|
187
|
+
def host_os():
|
188
|
+
return os.environ.get("GI_HOST_OS", os.name)
|
189
|
+
|
190
|
+
|
187
191
|
def which(program):
|
188
192
|
def is_exe(fpath):
|
189
193
|
return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|