| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
When we save the macros to pass to distutils to compile the dumper
program, the quotes were not properly preserved for Visual Studio
builds, causing items such as -DG_LOG_DOMAIN to fail as quotes are used
in there.
When we use quotes in macro definitions, we escape the escape
character in ccompiler._set_cpp_options() when we are running
g-ir-scanner with Visual Studio, so that distutils won't be too eager
to drop those prematurely.
|
|
|
|
|
| |
The different dir separator seems to confuse meson now
(likely a new change in mingw Python path handling..)
|
|
|
|
| |
In g_irepository_get_object_gtype_interfaces()
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
These tests get installed, so config.h may not be available. Do the same
thing that gimarshallingtests.c and regress.c already do, and include
config.h conditionally.
|
|
|
|
|
|
|
| |
Add some missing `meson.override_find_program`
And make sure that the `.gir` we build are found when used uninstalled
as a concequence of `meson.override_find_program`.
|
|
|
|
|
|
|
|
| |
The current offset only considers the fields themselves, but not
the optional embedded type that may follow each field.
Use the existing helper function instead of computing the offset
to fix the issue.
|
|
|
|
|
| |
No need to hardcode things since distutils looks it up.
Similar to !170 but for Windows.
|
|
|
|
| |
Closes: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/303
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This exercises the little-used code path where a signal is emitted with
a nullable GError as a parameter. It's modeled after
GstPbutils.Discoverer's 'discovered' signal.
See GNOME/gjs#262.
|
|
|
|
| |
Closes: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/300.
|
|
|
|
|
|
|
| |
For some reason there is no way to pass required to external meson deps.
Check manually instead.
See #297
|
|
|
|
|
| |
It's what we use for testing in CI (so not even sure older versions work) and
glib master now also depends on this 0.49.
|
|
|
|
|
|
|
|
|
|
| |
In our case it was never needed because it defaults to true if install_dir is set,
which it always is for all calls.
This avoids a warning when running with newer meson where it complains that install
is only available with 0.50+.
Fixes #298
|
| |
|
|
|
|
|
| |
meson 0.50.1 pkg-config API can't introspect clfags and libs, so we need
to run pkg-config itself to get these
|
|
|
|
|
| |
We already do the same thing for constants (see _create_const()).
Otherwise macros in .c files which aren't namespaced will trigger a warning.
|
|
|
|
|
| |
This is useful for documentation tools, and other utilities that
rely on full introspection of the C API of a given library.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of structures
Prior to this, the only marshalling test cases available for GPtrArrays were
for GPtrArrays of strings.
This commit adds a marshalling test case for GPtrArrays of structures, with the
same objective than the gi_marshalling_tests_array_zero_terminated_return_struct() test case.
This also adds a similar marshalling test case for GArrays of structures, for
completeness.
This is a follow-up to https://gitlab.gnome.org/GNOME/gjs/issues/9 where a
regression has been detected with these types of GPtrArrays.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In g_irepository_get_object_gtype_interfaces(), returning the address of
the first GIBaseInfo* does not work reliably, because the GIBaseInfos
are not necessarily stored contiguously. So the second and subsequent
ones might be garbage.
Instead, return the address of the array of GIBaseInfo pointers.
Add a test that verifies the functionality, as well.
This is unfortunately an API and ABI break.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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)
|
| |
|