| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
The cairo MSVC build produces a cairo-gobject.dll unlike the
libcairo-gobject-2.dll with autotools.
While one can pass the right DLL name through the cairo_libname option,
having a better default can't hurt.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Meson unfortunately does not normalize the paths for us, so we couldn't
just rely on it to give us the correct target name without the full
target path when the path separator is not '/' (such as on Visual Studio
builds, where the path separator is '\\' (with escape character).
This means that, that on Visual Studio builds, targetname would be:
D:\\gi.build\\tests\\scanner\\Typedefs-1.0.gir
instead of:
Typedefs-1.0.gir
Since we have the targetbase variable which actually has the correct
info we need, use that to deduce the correct reference .gir file to
compare to.
|
|
|
|
|
|
|
|
|
|
| |
By doing so, we essentially cover the various compiler flags that we
want to use for non-Visual Studio builds to check for warnings that
might cause real concern.
This also skips the checks for the various GCC-isque CFlag checks that
are scattered in the various build files on Visual Studio builds, since
they are essentially meaningless on Visual Studio builds.
|
|
|
|
|
|
|
|
| |
This is to compensate the for the lack of unistd.h on Visual Studio
builds, and to avoid the compiler warning about the implicit declaration
of access() as a result. This is to also prepare for the next commit
when we force-include msvc_recommended_pragmas.h from GLib on Visual
Studio builds.
|
|
|
|
|
|
|
|
|
| |
os.path.commonpath() raises ValueError if the paths given to it are on different
drives.
Handle that case by giving up and add a test.
Reported here: https://github.com/msys2/MINGW-packages/pull/5258#issuecomment-485230864
|
|
|
|
| |
host_machine.system() returns "windows" on Windows
|
|
|
|
|
|
|
|
| |
In the unlucky event where the cache gets deleted after the os.path.exists()
check but before we get its mtime things would error out.
Instead of using os.path.exists() handle the exceptions of the operations
which we expect to possibly fail.
|
| |
|
|
|
|
|
|
|
| |
In some cases we don't initialize all the struct fields of Regress
structs. We should either initialize them all, in the case of fields
that were added later; or mark that we don't intend to initialize them
all, by using C99 designated initializers.
|
|
|
|
|
|
|
| |
These files are exported for other projects to compile, so they should
compile with as few compiler warnings as possible. If GJS or PyGObject
has -Wunused-parameter turned on, then there should not be warnings in
these files.
|
|
|
|
| |
This is apparently used in Gee-0.8 and Folks-0.6.
|
|
|
|
|
| |
This may have been a leftover from Python 2. Exception('message') does
not automatically set a message attribute on the exception object.
|
| |
|
|
|
|
| |
Less noisy build
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On macOS we ideally want to write the final absolute path of the library
into the gir and typelib. Up until now we inferred the install path from
the .la file in case we used libtool and through otool in case we weren't
using libtool hoping that the install_name was matching the install path.
meson currently sets the install_name of libraries to "@rpath/foo.dylib"
and adds rpaths to the executables in the build dir. Only during install does
it change the install_name to the absolute target path in all places.
Since we get called during build time we only get the @rpath from otool,
which then makes things fail at runtime since the executables don't have
the matching rpath set.
To make this somewhat work just fall back to the basename for relative
paths, so we dlopen "foo.dylib" and depend on things being in /usr/local/lib
or DYLD_FALLBACK_LIBRARY_PATH including the lib path (see man dlopen)
|
| |
|
|
|
|
|
|
|
|
| |
Use call_count to verify the number of calls. This replaces
assert_called_once used previously, which is only available
since Python 3.6.
Fixes issue #274.
|
| |
|
| |
|
|
|
|
|
|
|
| |
It appears that tests/repository/gitypelibtest.c needs to be added to
the list of files that we must change the optimization flag from /O2 to
/O1 in order that the Visual Studio 2008 x64 compiler does not hang, due
to compiler optimization issues.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The newly added GTypes in glib!481 result in g-i generating an enum type
in GLib-2.0 and a GType based one in GObject-2.0.
This makes problems for the dlang bindings (see #267) so skip them for now.
Ideally we should include it in GLib-2.0 like we do with glib-types.h.
|
|
|
|
|
|
|
|
|
| |
The original customize_compiler() calls into _osx_support.customize_compiler()
the first time it is used and I didn't copy it in !118 because it is private API.
Issue #268 points out that the macOS build is broken now so I guess that was important
in some way. Make sure the setup code is run by calling the original customize_compiler()
with a dummy compiler instance.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Introduced by 9826d952358c8330d72ecba062f489fbdc31bbd1
|
|
|
|
|
|
| |
This reverts commit f606183a010fbec4382acb728882cc0eddbaf7f7.
See https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/9#note_409979
|
|
|
|
| |
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
|