This repository has been archived by the owner on Nov 17, 2020. It is now read-only.
/
ChangeLog
5418 lines (3957 loc) · 167 KB
/
ChangeLog
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
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2008-11-18 Andreas Rottmann <a.rottmann@gmx.at>
* girepository/girnode.c (g_ir_node_build_typelib): Use sizeof()
instead of hard-coding struct sizes.
2008-11-18 Owen Taylor <otaylor@redhat.com>
Bug 561296 - Add "storage type" to the typelib data for enums
In order to set and get enum and flag fields in structures, we need
to know the integral type that the enumeration is stored as. We are already
computing that at compile time in order to compute struct offsets, so the
easiest thing to do is to save that in the typelib.
* docs/typelib-format.txt girepository/girnode.[ch] girepository/giroffsets.c
girepository/gtypelib.h: Add 'storage_type' to the typelib format for EnumBlob
and compute and save it at compile time.
* girepository/girepository.h girepository/ginfo.c:
Add g_enum_info_get_storage_type().
* girepository/gfield.c: Implement reading and writing enum and flags fields
based on the storage type.
2008-11-18 Owen Taylor <otaylor@redhat.com>
Add enums to the Everything test module
* tests/everything/everything.[ch]: Add TestEnum and TestFlags to the Everything
test module and register them as GTypes.
https://bugzilla.gnome.org/show_bug.cgi?id=561296
2008-11-18 Johan Dahlin <jdahlin@async.com.br>
* giscanner/cachestore.py:
Catch BadPickleGet exceptions as well.
2008-11-17 Owen Taylor <otaylor@redhat.com>
* tests/everything/everything.c: Fix doc comment annotations
for test_struct_b_clone() to refer to the right function.
2008-11-17 Dan Winship <danw@gnome.org>
* giscanner/glibtransformer.py (GLibTransformer.__init__): fix
spelling of GHashTable. #561135
* tests/scanner/annotation.c (annotation_object_get_hash):
* tests/scanner/annotation-1.0-expected.gir:
* tests/scanner/annotation-1.0-expected.tgir: add a test of
GHashTable annotations
2008-11-17 Andreas Rottmann <a.rottmann@gmx.at>
* giscanner/ast.py: Change string array match type to be in terms
of canonicalized type.
* giscanner/transformer.py: Add canonicalize_ctype which gives us
a version of a c:type without aliases, so we can deep canonicalize
char** to utf8*. Update parse_ctype to use it.
* tests/*: Add gtk_init like int*/char*** arg functions for testing.
2008-11-16 Colin Walters <walters@verbum.org>
* girepository/girepository.c: Ensure we always call init_globals,
even if passed a non-default repository.
2008-11-16 Colin Walters <walters@verbum.org>
Bug 559706 - Interface prerequisites
* common.mk: Dep on libgirepository.la for scanner libs so that
we rebuild things even if just gdump.c changes.
* girepository/gdump.c: Dump prerequisites.
* giscanner/ast.py: Add prerequisite list.
* giscanner/girparser.py: Parse them from gdump.
* giscanner/girwriter.py: Write them.
* giscanner/glibtransformer.py: Resolve them.
* tests/*: Test.
2008-11-16 Owen Taylor <otaylor@redhat.com>
Bug 561087 - Respect is_pointer in serialize_type()
Add a '*' to the serialization for the cases where we set is_pointer
in the type blob we write out depending on node->is_pointer. Don't
add the '*' in the cases where is_pointer is set or not set in a
fixed fashion.
http://bugzilla.gnome.org/show_bug.cgi?id=561087
2008-11-16 Owen Taylor <otaylor@redhat.com>
Bug 560825 – Add size and alignment to typelib
Include the size and alignment of structures and unions in the typelib,
and add getter methods to retrieve them from GIStructInfo/GIUnionInfo.
* docs/typelib-format.txt girepository/gtypelib.h girepository/girnode.c
girepository/girmodule.c girepository/gtypelib.c: Add size and alignment
to StructBlob and UnionBlob.
* girepository/ginfo.c girepository/girepository.h:
Add g_[struct|union]_get[size|alignment]().
* test/offsets/gen-gitestoffsets: Test overall structure size and alignment.
2008-11-16 Owen Taylor <otaylor@redhat.com>
Bug 552371 – implement struct field get/set
* girepository/gfield.c girepository/girepository.h: Add
convenience functions g_field_info_set_field() and
g_field_info_get_field() to set and get fields based on the
offsets in GIFieldInfo.
2008-11-16 Andreas Rottmann <a.rottmann@gmx.at>
Bug 560241 - Out-arguments should not be marked as being pointers
in all cases
* girepository/girparser.c: Improved logic for out arguments.
2008-11-16 Andreas Rottmann <a.rottmann@gmx.at>
Bug 559601 - Pointers in structs/unions unduly treated as arrays
* giscanner/transformer.py: Differentiate type creation logic
between parameters and struct components.
2008-11-15 Colin Walters <walters@verbum.org>
* giscanner/dumper.py: Check return code from pkg-config
invocations.
2008-11-14 Johan Dahlin <jdahlin@async.com.br>
* tests/everything/everything.c (test_array_int_in),
(test_array_gtype_in):
* tests/everything/everything.h:
Rename the int/gtype array tests. Make the return value
useful, an aggregation of the array input values.
2008-11-14 Johan Dahlin <jdahlin@async.com.br>
* tests/everything/Makefile.am:
* tests/everything/everything.c:
* tests/everything/everything.h:
* tests/everything/gitesttypes.c:
* tests/everything/gitesttypes.h:
Rename gitesttypes.[ch] to everything.[ch]
2008-11-13 Andreas Rottmann <a.rottmann@gmx.at>
Bug 560708 – Don't treat arrays that have a length specified as
zero-terminated by default
* giscanner/transformer.py: Default to non zero terminated for
arrays with length.
* tests/*: Update, add test for zero vs not.
2008-11-13 Andreas Rottmann <a.rottmann@gmx.at>
Bug 557788 - Return types for constructors in generated typelib bogus
* girepository/girnode.c: Namespace-qualify XREFs; not doing so is
obviously broken in the face of duplicate names in different
namespaces.
* tests/scanner/*expected.gir: Fix up.
2008-11-13 Owen Taylor <otaylor@redhat.com>
* girepository/girffi.c: Fix "Unexpected time for time_t"
message.
2008-11-13 Colin Walters <walters@verbum.org>
Bug 558436 - avoid having scanner load app code
* giscanner/cgobject.py: Delete; we no longer load shared
libraries directly.
* giscanner/dumper.py: Support for linking a library to
a stub binary for introspection.
* giscanner/glibtransformer.py: Rewrite to use gdump XML
from invocation of child binary.
* giscanner/transformer.py: Fix up to use fully qualified
name in parse tree. Make parse_ctype public so we can use
it inside glibtransformer.
* tests/scanner/barapp.c: New test, using --program arg
for g-ir-scanner.
* tests/*: Update to use common.mk for invoking scanner.
* tools/g-ir-scanner: Add options --program, --program-arg,
and --no-libtool.
* docs/g-ir-scanner.1: Update.
2008-11-13 Colin Walters <walters@verbum.org>
* configure.ac: Depend on Gio, we use it in gdump.c.
* girepository/gdump.c: Code to dump GType data to XML.
* girepository/girepository.c: Add option group for dumping.
* girepository/girepository.h: Define API for the above.
2008-11-13 Colin Walters <walters@verbum.org>
* common.mk: Add a file to include with Makefile fragments
useful for scanner invocation.
2008-11-13 Tommi Komulainen <tommi.komulainen@iki.fi>
* tests/everything/gitesttypes.c (test_filename_return): Return
strings in filename encoding.
2008-11-13 Owen Taylor <otaylor@redhat.com>
Bug 560253 – Add structure and boxed types to Everything test module
* tests/everything/gitesttypes.[ch]: Add examples of:
Plain old data structs
Plain old data structs with nested fields
Plain old data boxed
Plain old data boxed with nested fields
More complicated boxed types with internal state
2008-11-12 Johan Dahlin <jdahlin@async.com.br>
* tests/everything/gitesttypes.c (test_gtype_in):
* tests/everything/gitesttypes.h:
Add a test of GType arrays, a la gtk_list_store_set_columns.
2008-11-12 Owen Taylor <otaylor@redhat.com>
Bug 560419 – Cache includes when parsing
Keep track of all modules parsed within a GIrParser, and when a
module is referenced a second time, use the existing parsed copy
instead of reparsing.
2008-11-12 Owen Taylor <otaylor@redhat.com>
Fix management of ParseContext.includes_modules (#560419)
* girepository/girparser.c: Fix some trivial bugs in managing the
list of include modules. (Add to module's list twice, not
initialized to NULL, not freed.)
2008-11-12 Owen Taylor <otaylor@redhat.com>
Keep aliases and disguised_structures local to each module (#560419)
* girepository/girmodule.[ch]: When parsing, keep keep a separate
hash tables of aliases and 'disguised' flags for each module, and
store that on the module.
After parsing an include merge the aliases/disguised flags to the
including module.
* girepository/girparser.c: Remove 'prefix_aliases' flag and
always prefix aliases/disguised structure types when parsing; this
simplifies the code considerably.
2008-11-12 Owen Taylor <otaylor@redhat.com>
Fix mismatches between .gir name and 'name' attribute (#560419)
* tests/boxed.gir tests/constant.gir tests/enum.gir tests/invoke/invoke.c
tests/invoke/testfns-1.0.gir tests/object.gir tests/struct.gir: Fix places
where the 'name' element of <namespace/> didn't match the filename of the
gir, an assumption that the compiler has always expected and now enforces.
2008-11-12 Owen Taylor <otaylor@redhat.com>
Only allow one <namespace/> element per <repository/> (#560419)
* girepository/girparser.c: The logic in girparser.c didn't work
very well if there were multiple <namespace/> nodes within a
single <repository/> (context->namespace was always the overall
filename and not the the name specified in the <namespace/>
element for one thing; this would cause aliases to be mis-prefixed
in include modules.) Also check that the "name" in the
<namespace/> node matches the filename.
2008-11-12 Owen Taylor <otaylor@redhat.com>
Add a GirParser object to hold the state of a compilation
* girepository/girparser.[ch] tools/compiler.c: Add a toplevel
GirParser object to hold state that is global across a
compilation. Currently just holds the include path, but will
eventually also keep a cached list of parsed modules.
2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi>
* girepository/girepository.c (find_namespace_latest): Fix
minor memory leak.
2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi>
* configure.ac: use 'introspection' component for bugs
2008-11-12 Johan Dahlin <jdahlin@async.com.br>
* tests/everything/gitesttypes.c (test_filename_return):
* tests/everything/gitesttypes.h:
Add a filename return test.
2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi>
* tests/offsets/Makefile.am (gitestoffsets.c): fix
gen-gitestoffsets invocation with builddir != srcdir
2008-11-12 Johan Dahlin <jdahlin@async.com.br>
* girepository/girepository.c:
Change the element type from utf8 to filename
* girepository/girnode.c (g_ir_node_build_typelib):
Special case filename equally to utf8 here.
2008-11-12 Johan Dahlin <jdahlin@async.com.br>
* gir/Makefile.am:
Remove unused variables, add a dependency of girepository.ch, so when
they change we rebuild the gir automatically.
2008-11-12 Johan Dahlin <jdahlin@async.com.br>
* girepository/girepository.c (g_irepository_get_search_path):
* girepository/girepository.h:
Add a g_irepository_get_search_path, so we can access the search
paths from runtime.
2008-11-12 Johan Bilien <jobi@via.ecp.fr>
Bug 560474 – g-ir-compiler crashes when compiling the glib gir
* girepository/girparser.c: avoid freeing an uninitialized pointer
2008-11-12 Johan Dahlin <jdahlin@async.com.br>
* gir/Makefile.am:
* giscanner/glibtransformer.py:
* tools/g-ir-scanner:
Add a GIRepository-2.0.gir. Change the libtool lookup slightly
so we can just pass in --library=foo/bar/baz.la and the scanner
does the right thing.
Don't warn for _get_type() functions if they don't take any
parameters
2008-11-11 Owen Taylor <otaylor@redhat.com>
Bug 560404 – Prefix types when resolving aliases in included modules
* girepository/girparser.c: When resolving aliases in an included
module, prefix types before looking them up.
2008-11-11 Owen Taylor <otaylor@redhat.com>
Compute field offsets and overall size for object structures
Bug 560326 – Fails to build Gtk-2.0.typelib with "Unexpected non-pointer
field of type object in structure"
Do basic computation of field offsets for objects and interfaces;
this doesn't attempt to address all of the "mess" for virtual
functions described in Bug 560281.
2008-11-11 Tommi Komulainen <tommi.komulainen@iki.fi>
Bug 560308 – g-ir-compiler goes in infinite loop on Gdk-2.0.gir
Based on patch by Johan Bilien.
* giscanner/transformer.py (_create_member, _create_parameter):
Resolve types here as well.
(_resolve_type_name_1): Try resolving using 'ctype' first since
it's least ambiguous. Fixes struct member type resolution with
similarly named types, e.g. Gdk.PangoRendererClass and
Pango.RendererClass
* tests/scanner/foo*: Add test.
2008-11-11 Owen Taylor <otaylor@redhat.com>
* girepository/girparser.c: Search provided include dirs before
the default directories.
2008-11-11 Owen Taylor <otaylor@redhat.com>
* girepository/giroffsets.c: Include fully-qualified names in
all error messages.
2008-11-11 Owen Taylor <otaylor@redhat.com>
* girepository/giroffsets.c: Fail gracefully with an informative
error message when recursion is encountered when computing a
structure size.
2008-11-11 Owen Taylor <otaylor@redhat.com>
* girepository/girparser.c: Remove an unused variable.
2008-11-10 Owen Taylor <otaylor@redhat.com>
Add tests for field offset computations
* tests/offsets/offsets.h: Header file with structure definitions to test
* tests/offsets/gen-gitestoffsets: Generate a C program that computes
field offsets for the structures in offsets.h two ways: using
the information from a generated typelib, and as computed by the
compiler.
We diff these two versions to test that everything is OK.
2008-11-10 Owen Taylor <otaylor@redhat.com>
Remove field offsets from g-ir-generate output and test inputs
Field offsets are a) architecture dependent so they shouldn't be part
of the architecture-independent gir format which is installed in
datadir. b) Are architecture-dependent so they shouldn't be in test
expected output.
* girepository/girparser.c: Don't parse offset for fields
* tools/generate.c: Don't parse offset for fields
* tests/*.gir test/scanner/*.tgir: Remove offsets
(Virtual function and discriminator offsets are not removed, as they
aren't fully hooked up to the field-offset computation machinery yet.)
2008-11-10 Owen Taylor <otaylor@redhat.com>
Bug 560252 - Compute field offsets before writing typelib
* girepository/girnode.h: Store the total size and alignment for
GIrNodeStruct/Boxed/Union.
* girepository/giroffset.c: New file implementing computation of
structure field offsets.
* girepository/girnode.c: Compute structure field offsets before
writing types into the typelib.
* docs/typelib-format.txt: Document that a field offset of 0xFFFF
means "unknown". Also fix description of the discriminator_offset
field for unions.
2008-11-10 Owen Taylor <otaylor@redhat.com>
Bug 560250 - Fully parse included modules
For some things, like computing structure offsets to put into the typelib
we need more than just the aliases from included modules. Do a completel
parse of included modules and store in module->included_modules.
Also add g_ir_find_node() to find node information from within the
active set of modules and their includes.
2008-11-10 Owen Taylor <otaylor@redhat.com>
Split g_ir_ffi_get_ffi_type() out from ginvoke.c
Extract a function to convert GITypeTag to ffi_type from the internals
of ginvoke.c. This will be useful in figure out structure alignment.
Also fix handling of gsize and time_t to be portable. (Add a check
to configure.ac to figure out the width of time_t.)
2008-11-10 Owen Taylor <otaylor@redhat.com>
Bug 560248 – "disguised structures"
Certain types like GIConv and GdkAtom are pointers internally but don't
look like pointers when referenced. They have the form.
typedef struct _X *X;
Parse these as structures/records but mark them in the gir with a 'disguised'
attribute so that we know that they need special handling.
In the typelib treat them like any other structure.
2008-11-09 Jürg Billeter <j@bitron.ch>
* giscanner/ast.py:
* giscanner/girwriter.py:
Write throws attribute for virtual functions, fixes bug 559703
2008-11-07 Johan Dahlin <jdahlin@async.com.br>
* giscanner/libtoolimporter.py (LibtoolImporter.find_module): Clear
up some confusion about the second argument to find_module, it's
actually the packages __path__ attribute which we can safely ignore
for our purposes.
(LibtoolImporter.load_module): Set module.__loader__ as per PEP 302.
2008-11-07 Owen Taylor <otaylor@redhat.com>
Bug 559737 – Deal with continuations in macros
* giscanner/giscannerlexer.l: Treat continuation lines the same
as regular newlines. This makes the scanner not complain about
#define foo(x) \ <stuff> inside a C file. There's no attempt
however to handle parsing macro definitions split across lines.
2008-11-07 Johan Dahlin <jdahlin@async.com.br>
* giscanner/cachestore.py:
Handle broken cache entries, write only filesystems and
running out of diskspace.
2008-11-07 Owen Taylor <otaylor@redhat.com>
* giscanner/giscannermodule.c (pygi_source_scanner_lex_filename):
Set current_filename before lexing the file so error messages
are reported in the right file.
2008-11-06 Colin Walters <walters@verbum.org>
* tests/everything/*: Add some tests for strv.
2008-11-05 Colin Walters <walters@verbum.org>
* girepository/ginvoke.c (g_function_info_invoke): Don't use
nested scope local variable for error which may go away after
conditional is complete.
2008-11-05 Colin Walters <walters@verbum.org>
* giscanner/scannerlexer.l: Avoid static 256 char buf which we
manipulate hackily; just use GString. This avoids an
uninitialized memory read pointed out by Havoc.
2008-11-04 Johan Dahlin <jdahlin@async.com.br>
* giscanner/__init__.py:
* giscanner/ast.py:
* giscanner/cachestore.py:
* giscanner/cgobject.py:
* giscanner/girparser.py:
* giscanner/girwriter.py:
* giscanner/giscannermodule.c:
* giscanner/glibast.py:
* giscanner/glibtransformer.py:
* giscanner/libtoolimporter.py:
* giscanner/minixpath.py:
* giscanner/odict.py:
* giscanner/sourcescanner.c:
* giscanner/sourcescanner.h:
* giscanner/sourcescanner.py:
* giscanner/transformer.py:
* giscanner/utils.py:
* giscanner/xmlwriter.py:
* COPYING:
Relicense the giscanner library under LGPLv2+.
This has been approved by all contributors.
2008-11-01 Owen Taylor <otaylor@redhat.com>
Bug 558848 giparser.py: shared library should be optional
When parsing a .gir, allow the shared-library attribute
of <namespace/> to be missing: this corresponds to the handling
in libgirepository and elsewhere.
2008-11-01 Tommi Komulainen <tommi.komulainen@iki.fi>
Bug 557898 – Fails to build on OSX 10.4
* configure.ac: Check for $shrext_cmds that should be implicitly
available if you're using libtool >= 2.0. If undefined, call
libtool --config explicitly to get its value.
* girepository/gtypelib.c: Remove special case for (non-)Darwin
systems as unneeded.
2008-10-31 Colin Walters <walters@verbum.org>
* COPYING, COPYING.lib, COPYING.tools: Clarify licensing status.
2008-10-31 Johan Dahlin <jdahlin@async.com.br>
* configure.ac: Post release version bump
=== 0.6.0 ===
2008-10-31 Johan Dahlin <jdahlin@async.com.br>
* NEWS:
* configure.ac:
* docs/release-checklist.txt:
0.6.0
2008-10-31 Johan Dahlin <jdahlin@async.com.br>
* Makefile.am: add an upload-release target
* docs/release-checklist.txt:
Release process documentation
2008-10-31 Colin Walters <walters@verbum.org>
Bug 558109 – _g_typelib_init fails to find shared libraries
* transformer/glibtransformer.py: Use ctypes' find_library
on passed libraries and write that for the shared-library
entry. We want to avoid depending on -devel packages.
2008-10-31 Johan Dahlin <jdahlin@async.com.br>
* docs/g-ir-scanner.1:
Document the renaming options.
2008-10-31 Tommi Komulainen <tommi.komulainen@iki.fi>
* giscanner/Makefile.am:
* tests/invoke/Makefile.am:
* tests/repository/Makefile.am: List in-tree libraries first in
LDADD / LIBADD. If installed library is listed first, the
resulting binary will prefer installed version to one in .libs,
possibly making 'make check' behave strangely.
2008-10-30 Tommi Komulainen <tommi.komulainen@iki.fi>
* giscanner/ast.py: map 'id' (ObjC) to 'any' type to stop
gir-repository from choking with gdk/quartz
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
* giscanner/giscannermodule.c (calc_attrs_length),
(pygi_collect_attributes):
* giscanner/xmlwriter.py:
Write a C version of the xml namespace formatter.
Saves 15% of the time it takes to create a gtk gir.
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
* giscanner/xmlwriter.py: Abstract attribute formatting
to a function external to the XMLWriter class.
* giscanner/scannerlexer.l:
Parse and discard __typeof and __attribute.
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
* giscanner/girparser.py:
Remove arguments from the constructor, move them to
separate accessors. Add a new parse_tree method
which takes an element tree instance.
* tools/g-ir-scanner:
Update callsite for this
* giscanner/Makefile.am:
* giscanner/cachestore.py:
* giscanner/transformer.py:
Cache the include parsing. Saves ~25% time when
creating vte (which includes everything up to gtk+).
2008-10-30 Colin Walters <walters@verbum.org>
* giscanner/transformer.py: Don't reparse includes
we've already processed.
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
* giscanner/girparser.py:
* giscanner/transformer.py:
Avoid parsing parameters, types etc when parsing
includes. Should speed up include parsing a bit.
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
* giscanner/girparser.py:
Avoid big if/else and use a dispatch table like
approach.
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
* giscanner/transformer.py:
Clean up include parsing and registration.
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
* giscanner/transformer.py:
Clean up imports
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
Bug 558383 – builddir != srcdir build fails if giscanner python module not already installed
* gir/Makefile.am:
construct PYTHONPATH just once
* tests/everything/Makefile.am:
* tests/scanner/Makefile.am:
add $(top_srcdir) to PYTHONPATH to
handle builddir != srcdir
* giscanner/libtoolimporter.py:
* giscanner/sourcescanner.py:
Make the libtoolimporter work when distchecking too.
Mostly based on patch by Tommi Komulainen
2008-10-29 Owen Taylor <otaylor@redhat.com>
* giscanner/glibtransformer.py: If a filename of an existing
file is passed to --library, hunt for it directly, rather than
searching for a corresponding library.
2008-10-29 Johan Dahlin <jdahlin@async.com.br>
* giscanner/libtoolimporter.py:
* giscanner/sourcescanner.py:
Clean up the libtool importer a bit. Add a context so we
can use it through a with statement.
Don't just look in the current directory, look in the whole
sys.path.
2008-10-29 Tommi Komulainen <tommi.komulainen@iki.fi>
Bug 558065 – gitesttypes should be installed
* configure.ac:
* tests/Makefile.am:
* tests/types/Makefile.am -> tests/everything/Makefile.am
* tests/types/gitesttypes.c -> tests/everything/gitesttypes.c
* tests/types/gitesttypes.h -> tests/everything/gitesttypes.h
move tests/types to tests/everything
* tests/everything/Makefile.am: build normal shared library
libgirepository-everything.so.1.0.0 and corresponding typelib
Everything-1.0.typelib
* tests/everything/Makefile.am: explicitly link libtool
versioning with typelib versioning with variables
2008-10-28 Johan Bilien <jobi@via.ecp.fr>
* tools/g-ir-scanner: add LD_LIBRARY_PATH to LPATH before calling ld.
2008-10-27 Johan Bilien <jobi@via.ecp.fr>
* gio/gio-2.0.c: add allow-none annotations, based on the pygobject
.defs file
2008-10-27 Johan Bilien <jobi@via.ecp.fr>
Bug 558068 – when invoking a method, offset the in arguments by one,
not the out
* tests/invoke/invoke.c, tests/invoke/testfns.c,
tests/invoke/testfns-1.0.gir: Add testing of method and constructor.
* girepository/ginvoke.c: do not offset the index of given out
arguments by one for methods, "this" is provided as in argument only.
2008-10-27 Johan Bilien <jobi@via.ecp.fr>
* gir/gio-2.0.c: add annotation for g_file_delete
2008-10-27 Tommi Komulainen <tommi.komulainen@iki.fi>
Bug 558062 – provide and use paths in the .pc file
* gobject-introspection-1.0.pc.in: provide typelibdir variable
for where .typelibs should be installed (callers shouldn't need
to construct paths from bits and pieces)
2008-10-25 Andreas Rottmann <a.rottmann@gmx.at>
Bug 557791 – g_irepository_require() could return a GTypelib *
* girepository/girepository.c: Return GTypelib; this is useful
for low level manipulation.
2008-10-25 Colin Walters <walters@verbum.org>
Bug 557788 – Return types for constructors in generated typelib bogus
* giscanner/glibtransformer.py: Don't resolve ctors incrementally,
rely on end pass resolution.
2008-10-25 Andreas Rottmann <a.rottmann@gmx.at>
Bug 557786 - support fixed size arrays
* girepository/ginfo.c: Add g_type_info_get_array_fixed_size.
* giscanner/scannerparser.y: Retain fixed array size.
* giscanner/ast.py: Add to note.
* giscanner/girwriter.py: Write to gir.
* girepository/girnode.c: Write it to typelib.
* tools/generate.c: Generate.
* tests/*: Add tests.
2008-10-25 Colin Walters <walters@verbum.org>
Bug 557076 - move typelibs to $libdir
* configure.ac: Steal some configury bits from dbus to expand
libdir.
* gir/Makefile.am: Move to libdir.
* girepository/girepository.c: Stop searching XDG_DATA_DIRS;
instead just look at one hardcoded path in libdir.
* acinclude.m4: Bits from dbus.
2008-10-24 Johan Dahlin <johan@gnome.org>
* girepository/girnode.c (g_ir_node_check_unhandled_members):
Be quiet, do not warn about unhandled members.
2008-10-24 Johan Dahlin <johan@gnome.org>
* girepository/gtypelib.c:
Only use SHLIB_SUFFIX on darwin, otherwise use
G_MODULE_SUFFIX, we cannot get shext_cmds from libtool 2.2.
2008-10-24 Lucas Rocha <lucasr@gnome.org>
Bug 557623 - Constructors shouldn't be flagged as methods.
* girepository/ginfo.c (g_function_info_get_flags): ditto.
2008-10-24 Johan Dahlin <johan@gnome.org>
* giscanner/scannerparser.y:
Check against division by zero for the modula operator.
This fixes header parsing of OSX system headers included
by libsoup.
2008-10-24 Johan Dahlin <johan@gnome.org>
* CONTRIBUTORS:
* Makefile.am:
Add a CONTRIBUTORS file and dist it.
2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi>
Bug 556739 – transfer-ownership attribute should be mandatory in .gir
* girepository/girparser.c (parse_param_transfer):
* giscanner/transformer.py (_create_parameter, _create_return):
* giscanner/girwriter.py (_write_return, _write_parameter):
* tools/generate.c (write_callable_info): always write and
require "transfer-ownership" for return-values and parameters
* tests/boxed.gir:
* tests/invoke/testfns-1.0.gir:
* tests/object.gir:
* tests/scanner/DrawableAdditions.xml:
* tests/scanner/GtkFrob-1.0-expected.tgir:
* tests/scanner/annotation-1.0-expected.tgir:
* tests/scanner/drawable-1.0-expected.tgir:
* tests/scanner/drawable-injected-1.0-expected.gir:
* tests/scanner/drawable-injected-1.0-expected.tgir:
* tests/scanner/foo-1.0-expected.tgir: Updated
2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi>
* giscanner/cgobject.py: build fundamental types same way as glib
* giscanner/glibtransformer.py (_type_from_gtype): record GType
when constructing the Type from it
* giscanner/glibtransformer.py (_adjust_transfer): Check whether
the parameter is a GObject from its GType, if available.
* giscanner/glibtransformer.py (_adjust_transfer):
* tests/scanner/foo-1.0-expected.gir:
* tests/scanner/foo-1.0-expected.tgir: deduce
transfer-ownership from GTypes
2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi>
* giscanner/transformer.py (_create_parameter):
* tests/scanner/foo-1.0-expected.gir: make varargs
transfer-ownership="none"
2008-10-23 Colin Walters <walters@verbum.org>
Bug 556739 - transfer ownership
* giscanner/ast.py: Refactor Parameter/Return to share
common attributes. Add transfer_inferred attribute
which says whether or not we made a guess.
* giscanner/transformer.py: Add much more extensive
heuristics around parameter and return transfer.
* giscanner/glibtransformer.py: Adjust to inspect
transfer_inferred.
* tests/*: Adjust.
2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
Bug 557377 – Add test to ensure annotations survive the roundtrip via typelib
* tests/scanner/Makefile.am:
* tests/scanner/annotation-1.0-expected.tgir:
* tests/scanner/drawable-1.0-expected.tgir:
* tests/scanner/drawable-injected-1.0-expected.tgir:
* tests/scanner/foo-1.0-expected.tgir:
* tests/scanner/GtkFrob-1.0-expected.tgir:
* tests/scanner/utility-1.0-expected.tgir: Add test to ensure
annotations survive the roundtrip via typelib
The expectations are as currently produced by g-ir-generate,
comparison with the .gir files shows there are differences.
2008-10-23 Johan Bilien <jobi@via.ecp.fr>
Bug 557468 – Support for GI_TYPELIB_PATH
* girepository/girepository.c: if the GI_TYPELIB_PATH is set, add the
provided paths to the global search path.
2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
Bug 557379 – g-ir-generate not writing the 'abstract' attribute
* tests/scanner/drawable-1.0-expected.tgir:
* tests/scanner/drawable-injected-1.0-expected.tgir:
* tests/scanner/foo-1.0-expected.tgir:
* tools/generate.c (write_object_info): write 'abstract'
attribute for classes
2008-10-22 Lucas Rocha <lucasr@gnome.org>
* girepository/girmodule.c, girepository/gtypelib.c,
girepository/girparser.[ch]: fix some build warnings.
2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
Bug 557405 – Use 'allow-none' consistently
* docs/typelib-format.txt:
* girepository/ginfo.c (g_arg_info_may_be_null):
* girepository/girnode.c (g_ir_node_build_typelib):
* girepository/girnode.h (struct _GIrNodeParam):
* girepository/girparser.c (start_parameter):
* girepository/girwriter.c (function_generate):
* girepository/gtypelib.h (ArgBlob):
* tests/errors.gir:
* tests/function.gir:
* tools/generate.c (write_callable_info): Use 'allow-none'
consistently throughout
2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
Bug 557092 – Callback annotations not used
* giscanner/transformer.py (_create_callback): use annotations
for callbacks
* tests/scanner/annotation.h
* tests/scanner/annotation-1.0-expected.gir: add tests
2008-10-21 Colin Walters <walters@verbum.org>
* giscanner/scannerlexer.l: Don't require trailing whitespace after
uncommented parameters.
* tests/*: Test it.
2008-10-21 Colin Walters <walters@verbum.org>
* girepository/girepository.c: Ensure that when doing an unversioned
require, we prefer items earlier in the search path to later ones.
2008-10-21 Owen Taylor <otaylor@redhat.com>
* giscanner/transformer.py: For string parameters allow transfer annotation
to override the standard automatic guessing based on 'const'.
2008-10-21 Johan Bilien <jobi@via.ecp.fr>
Bug 557241 – "throws" flag for functions
* tests/scanner/drawable-1.0-expected.gir,
tests/scanner/drawable-injected-1.0-expected.gir,
tests/scanner/drawable.[ch]: add simple test for throwing
function (has GError ** as last argument)
* giscanner/ast.py: add a 'throws' flag to Function
* giscanner/glibtransformer.py: if a function's last paramerter is
a GError, set the 'throws' flag and remove that parameter
* giscanner/girwriter.py: write out the 'throws' attribute
* giscanner/girparser.py: support parsing the 'throws' attribute
* tests/repository/gitestthrows.c: add a simple test to check the
throws flag in a typelib and invoke the function
* girepository/ginfo.c, girepository/girnode.[ch],
girepository/girnode.h, girepository/girparser.c,
girepository/girepository.h: Add and parse the GI_FUNCTION_THROWS flag
* girepository/ginvoke.c: if a function throws, add a GError as last
arguments, and propagate the error to the invoker.
2008-10-21 Tommi Komulainen <tommi.komulainen@iki.fi>
* giscanner/transformer.py (_create_parameters): Warn if we see
annotations for unknown parameters. If .h and .c files name
parameters differently, the annotations may be lost.
2008-10-21 Johan Dahlin <johan@gnome.org>
Bug 556358 - don't use libtool internals