| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This makes the scanner consistent with the docs.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
xmlwriter.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
| |
To make it easier to test make sure it always returns absolute paths.
Also fix a typo, oops!
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This is what https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting suggests.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
This also reverts workaround introduced to support this use case in
f77cfc4275b1fba4f9fedea6e40b00e0ebbe142c, since it is no longer
necessary.
Fixes issue #141.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
To match what autotools produces
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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`.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
To unbreak continuous
|
| |
|
|
|
|
| |
This time pass the libgirepository build dir
|
| |
|
|
|
|
|
|
|
| |
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 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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
I added it to the wrong one in d2bd6390ed8, oops..
|
|
|
|
|
| |
It broke continuous
https://build.gnome.org/continuous/buildmaster/builds/2019/01/01/0/build/log-gobject-introspection.txt
|
| |
|
| |
|
|
|
|
|
| |
The cairo dependency fallback code is copied from pygobject. I assume that
will work for msvc users (cairo is disabled by default anyway)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Otherwise when you set CC=clang then distuils will still use gcc for linking.
While it seems we don't invoke the link command atm this shouldn't hurt.
The upstream customize_compiler() does the same thing on macOS and there is a bug
for enabling it everywhere: https://bugs.python.org/issue24935
|
| |
|
|
|
|
|
|
|
| |
The position attributes on a <doc> element are not mandatory, so we
should have some fallback value if they are missing.
Fixes: #252
|