summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* gir: Include C header in cairo gir fileTomasz Miąsko2019-02-131-0/+1
|
* version bumpChristoph Reiter2019-02-042-2/+2
|
* release1.59.4Christoph Reiter2019-02-041-0/+14
|
* Fix a possible use-after-free.Elliott Sales de Andrade2019-02-021-1/+1
| | | | | | If g_mapped_file_new fails, then `version` will be freed, but it was already added to the hash table. This means there could be a use-after-free while doing a lookup on the hash table the next time.
* Fix possible leak of transitive dependency name.Elliott Sales de Andrade2019-02-021-1/+2
| | | | | | If a transitive dependency appears twice, the original pointer will be removed from the hash table. Since these names were created by g_strsplit, they need to be freed, or they will leak.
* Update glib annotationsChristoph Reiter2019-02-012-24/+409
|
* repository: Fix annotation for g_irepository_get_object_gtype_interfaces()Rico Tzschichholz2019-01-161-2/+2
| | | | Introduced by 9826d952358c8330d72ecba062f489fbdc31bbd1
* Revert "Restore original meaning of disguised attribute."Christoph Reiter2019-01-166-8/+28
| | | | | | This reverts commit f606183a010fbec4382acb728882cc0eddbaf7f7. See https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/9#note_409979
* maintransformer: Don't warn on (optional) annotations on (inout)Guido Günther2019-01-132-7/+8
| | | | This makes the scanner consistent with the docs.
* autotools: don't pass all the libregress cflags to the scanner. Fixes #226Christoph Reiter2019-01-121-1/+4
| | | | | | | | | | | | They contain things like -fvisibility=hidden which, in case of building with CFLAGS="-flto -O2" LDFLAGS="-Wl,--as-needed -flto", results in the linker throwing out unused symbols and not linking the dumper against libregress. This results in errors like: Invalid GType function: 'regress_test_enum_get_type' Failed to find symbol 'regress_test_enum_get_type' Fix this by only passing the required CFLAGS to the scanner instead.
* Restore original meaning of disguised attribute.Tomasz Miąsko2019-01-106-28/+8
| | | | | | | | | | | | | | | | > 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. Additionally, stop relaying on disguised attribute when deciding whether to render a page. Check number of fields instead, so as to avoid introducing large regression in the docs. Fixes #101.
* message: handle fatal errors even if warnings are disabled. Fixes #229Christoph Reiter2019-01-101-1/+1
|
* maintransformer: when the namespace is empty use error() instead of fatal()Christoph Reiter2019-01-101-1/+1
| | | | | | | | | | | network-manager is calling things like this during configure: g-ir-scanner --namespace=test --library=c /dev/null --output /dev/null to test if the scanner is working. This results in a fatal error, but beause of #229 was ignored. Do keep this working after we fix #229 downgrade this to a simple recoverable error message. An empty namespace doesn't prevent the scanner from creating a .gir file so this should be fine.
* message: simplify handling of error levelsChristoph Reiter2019-01-106-21/+16
| | | | | | | | Instead of allowing each error level to be enabled just enable all of them through the enable_warnings() method. This matches what the code is currently doing (minus that one helper script) and simplifies things. Also remove the error count, it's not used.
* repository: g_irepository_get_object_gtype_interfacesColin Walters2019-01-093-0/+107
| | | | | | | | | | | Bindings in some cases need to look up information from a GType dynamically. Support that better by supplying a cache for this information. (Rebased and versioning / gtk-doc stuff added by Philip Chimento.) Closes #38. See gjs#55.
* maintransformer: parse deprecation annotations for section blocks. Fixes #213Christoph Reiter2019-01-094-4/+76
| | | | | | | | | | The scanner matches gtk-doc sections which match the lower case type name to the type and uses that for the type documentation. The only problem is it only takes the docs and none of the other annotations like deprecation info etc. This changes things to also parse the annotations in that case and adds some tests while at it.
* Clean shebangs out of non-executable scripts and drop exec perm from ↵Dominique Leuenberger2019-01-095-4/+0
| | | | xmlwriter.py
* tests: Add functions using flat struct arraysTomasz Miąsko2019-01-0825-0/+1091
| | | | | | | | | | | | | | Relatively common in practice are: * output with transfer full, which is already covered by `regress_test_array_struct_out`, * input with transfer none, covered by a new `regress_test_array_struct_in_none` Other variants are quite esoteric, but it still might be useful to include them so that bindings can verify that they are handled gracefully, e.g., by reporting an error instead of crashing. Issue #90
* version bumpChristoph Reiter2019-01-082-2/+2
|
* release1.59.3Christoph Reiter2019-01-081-0/+19
|
* Update glib annotationsChristoph Reiter2019-01-081-2/+16
|
* tests: add some tests for get_source_root_dirsChristoph Reiter2019-01-084-3/+35
| | | | | To make it easier to test make sure it always returns absolute paths. Also fix a typo, oops!
* get_source_root_dirs: handle empty file list case. Fixes #257Christoph Reiter2019-01-081-0/+3
| | | | | | While scannermain checks that at least one filename is given, it filters them based on the file extension after that, so we still need to handle an empty file list laster on.
* meson: use underscore as a separator in build optionsChristoph Reiter2019-01-076-11/+11
| | | | This is what https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting suggests.
* scanner: Flatten multi-dimensional arrays fieldsTomasz Miąsko2019-01-074-10/+85
| | | | | | | | | | | | | Provide partial support for multi-dimensional arrays by representing them as flattened one dimensional array with size that is equal to product of sizes in each dimension. Previously only the first dimension would be actually used. This should be sufficient to ensure that those fields have layout compatible with C, without using nested array types that are currently unsupported by vapigen Issue #255.
* scanner: Remove incorrect c:type generated for array of synthesized unionsTomasz Miąsko2019-01-062-5/+3
| | | | | | | | This also reverts workaround introduced to support this use case in f77cfc4275b1fba4f9fedea6e40b00e0ebbe142c, since it is no longer necessary. Fixes issue #141.
* scanner: Remove incorrect c:type from fields with array typeTomasz Miąsko2019-01-063-26/+11
| | | | | | | | | | Neither `_create_source_type` nor `_create_complete_source_type` actually support fixed size arrays, so previously generated C types were incorrect. Remove C types from array fields instead of producing incorrect ones. Fixes issue #145.
* ci: use the pkg-config.exe hosted by meson since sourceforge is flakyChristoph Reiter2019-01-061-3/+2
|
* scanner: rework source root guessing codeChristoph Reiter2019-01-061-3/+24
| | | | | | | | | | | | commonprefix doesn't work on relative paths and doesn't return directories so so for the g-i build case it returned an empty string resulting in paths relative to the working directory, making the build not reproducible. To somehwat improve this make sure the paths are absolute, use commonpath and if no common dir can be found just fall back to passing all directories so we only write the basenames. I guess we should look into passing --sources-top-dirs in the g-i build.
* meson: set libdir/bindir relative to exec_prefixChristoph Reiter2019-01-061-2/+2
| | | | To match what autotools produces
* meson: remove an unused helper scriptChristoph Reiter2019-01-061-16/+0
|
* meson: warn that not all tests will be run if building without cairo/doctoolChristoph Reiter2019-01-064-4/+11
|
* scanner: Merge specifiers and qualifiers when merging basic types.Tomasz Miąsko2019-01-052-1/+6
|
* scanner: Merge basic types in `specifier_qualifier_list` production.Tomasz Miąsko2019-01-059-195/+257
| | | | | | | | | | | This is necessary to parse types like `unsigned char` or `long double`, and is already done when parsing `declarations_specifiers`. Examples that are fixed by this change include: * `GLib.TestLogMsg.nums` previously parsed as `long` but should be `long double`. * `GMime.Encoding.uubuf` previously parsed as `unsigned` but should be `unsigned char`.
* website: add cppgir C++ bindingMark Nauwelaerts2019-01-051-0/+1
|
* version bumpChristoph Reiter2019-01-042-2/+2
|
* release1.59.2Christoph Reiter2019-01-041-0/+27
|
* autotools: dist test_docwriter.pyChristoph Reiter2019-01-041-1/+2
|
* meson: disable doctool by defaultChristoph Reiter2019-01-033-3/+3
| | | | To unbreak continuous
* meson: port doctool testsChristoph Reiter2019-01-033-0/+73
|
* tests: try building Bar-1.0 againChristoph Reiter2019-01-021-1/+36
| | | | This time pass the libgirepository build dir
* ci: update meson to 0.49.0Christoph Reiter2019-01-025-5/+5
|
* gimarshallingtests: Remove declarations of nonexistent functionsPhilip Chimento2019-01-011-8/+0
| | | | | | | These functions were removed a long time ago in commit af7be95a. Being present in the header file means they are present in the generated GIR file, but trying to resolve them with dlsym will fail and crash the program.
* meson: port more typelib testsChristoph Reiter2019-01-014-31/+141
|
* ci: enable -Werror for msys2+mesonChristoph Reiter2019-01-014-6/+13
|
* meson: make test_offsets.py work on WindowsChristoph Reiter2019-01-011-6/+7
| | | | | meson doesn't set PATH for the test dependencies so we have to do it manually. Also make sure the test depends on the test binary.
* gitestoffsets: use g_fprintf and fix the format specifier for the struct offsetChristoph Reiter2019-01-011-19/+20
| | | | | | | G_GSIZE_FORMAT should only be used with glib functions and G_STRUCT_OFFSET() returns glong not gsize. This fixes various compiler warnings on Windows.
* autotools: fix missing version api in gtk-doc for non-srcdir buildsChristoph Reiter2019-01-011-2/+2
| | | | | | Properly pass the build dir paths to gtk-doc so it can find things in giversion.h This fixes the version section being empty when building the docs with non-srcdir autotools.
* tests: add the utility dep to the right targetChristoph Reiter2019-01-011-2/+2
| | | | I added it to the wrong one in d2bd6390ed8, oops..
* tests: revert building Bar-1.0.girChristoph Reiter2019-01-011-26/+1
| | | | | It broke continuous https://build.gnome.org/continuous/buildmaster/builds/2019/01/01/0/build/log-gobject-introspection.txt