summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Update glib annotationsChristoph Reiter2019-11-242-55/+105
|
* Update glib annotationsRico Tzschichholz2019-11-153-24/+55
|
* CI: add a job that builds glib as a subprojectChristoph Reiter2019-11-143-0/+58
| | | | | | | In our case we have to do various special things in case glib isn't available through pkg-config and not all tests are run. Add a CI job that tests this case so we don't regress.
* girepository: Also store GType cache missesCarlos Garnacho2019-11-141-1/+14
| | | | | | | | | | | | | | | | | | | | | There are notably 4 classes of GTypes where a girepository lookup might fail: - GTypes from private interfaces in public objects (eg. MetaCullable in mutter) - GTypes for private base objects with public interfaces (eg. GLocalFile in GLib) - GTypes registered from the language, and presumably not coming from the GIR - GTypes of objects/interfaces that we didn't load a typelib for It is moot to look for those over and over again, and a full lookup can be taxing if looking up for a method/property on objects with those characteristics. It seems we can cache the misses too, so next lookups are just as quick as an introspected GType. The cache is invalidated after loading new typelibs, in case some of the previously missed GTypes is now properly introspected.
* meson: add join_paths for windows "\"Håvard Graff2019-11-131-1/+1
|
* autotools: Make INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR respect ↵Christoph Reiter2019-11-111-2/+48
| | | | | | | | | | | | | | | | | | prefix/datadir/libdir The provided m4 macro uses pkg-config for setting INTROSPECTION_GIRDIR and INTROSPECTION_TYPELIBDIR which can be used to install the generated gir/typelib files into. Up until now this always used the prefix encoded in the g-i .pc file and ignored the prefix provided by the autotools project using it. This can be fixed by passing "--define-variable=datadir=/mydatadir" to pkg-config. To get the real value of datadir include a copy of AS_AC_EXPAND in our m4 and use it to expand the variables we need so we can pass the real paths to pkg-config which will use them to generate the new girdir/typelibdir paths. The reason this hasn't been much of a problem is that the example autotools code suggested using "girdir = $(datadir)/gir-1.0" and "typelibsdir = $(libdir)/girepository-1.0" and not using the variables defined by our macro, so not many projects used it. Now both ways should work. See !133
* tools/meson: use the path from the python-module insteadHåvard Graff2019-11-101-1/+1
|
* examples: Make self contained and add build system integration examplesChristoph Reiter2019-11-0911-5/+258
| | | | | | | | | | The libgirepository example now is its own meson project. There now is a small library that is buildable with meson and autotools which creates a gir/typelib. Usefull for testing our build system integration and for small experiments. Fixes #287
* build: require meson 0.50.1Christoph Reiter2019-11-086-6/+6
| | | | See !186
* giscanner/ccompiler.py: Fix macro defines with quotes on MSVCChun-wei Fan2019-11-011-0/+7
| | | | | | | | | | | | 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.
* CI: remove workaround for old meson bugChristoph Reiter2019-10-271-4/+1
| | | | | The different dir separator seems to confuse meson now (likely a new change in mingw Python path handling..)
* gitypelibtest: make tests fail if the library can't be foundChristoph Reiter2019-10-191-1/+3
| | | | | | | | Check that g_object_info_get_ref_function_pointer() actually returns something, which it doesn't if the shared lib isn't found. In case a shared lib isn't found g-i will emit a warning, so also make sure we fail on warnings to avoid similar problems in the future.
* tests: Actually test libregress by specifying the LD_LIBRARY_PATHCorentin Noël2019-10-191-0/+4
|
* Update glib annotationsRico Tzschichholz2019-10-164-113/+390
|
* girepository: Fix memory leakPhilip Chimento2019-10-101-0/+2
| | | | In g_irepository_get_object_gtype_interfaces()
* meson: change "doctool" from a boolean to a feature optionChristoph Reiter2019-09-306-6/+25
| | | | | | | Similar to !180 this should prevent devs from not running all tests by accident. This also adds some checks for the required doctool dependencies, mako and markdown.
* meson: change "cairo" from a boolean to a feature optionChristoph Reiter2019-09-285-18/+30
| | | | | | | | | We require cairo only to run all tests and thus default it to false. This usually results in developers not using it when working on changes and tests depending on cairo then failing in CI. This changes it to a feature option that defaults to auto, so that devs that have cairo headers installed will automatically use it.
* Evaluate the filters when checking library types in resolve_shlibsAlistair Buxton2019-09-271-2/+2
| | | | | | | | | | In Python 3, filter() returns a filter object for lazy evaluation. This object is truthy, so casting it to bool will return True even if it would contain no objects. This thwarts the test at the beginning of _resolve_non_libtool. To fix this, immediately evaluate the filters with list(). Fixes #314.
* Add Ruby-GNOME to Users.rstkojix22019-09-261-0/+1
|
* Fix broken linkkojix22019-09-261-1/+1
|
* Support array arguments with static keywordEmmanuele Bassi2019-09-158-303/+466
| | | | | | | | | | | | | | | | | | | | | | | C99 allows defining an array argument with a fixed size as: void foo (int arr[static 10]) Compilers conforming to the C99 specification will be able to warn if the function is called with NULL or with an array smaller than the specified length, something that does not happen when using pre-C99 declarations like: void foo (int arr[10]) As the declaration above is identical to: void foo (int arr[]) Which is, in turn, identical to: void foo (int *arr) Fixes: #309
* build: use proper dylib versioning on macOSTom Schoonjans2019-09-101-1/+11
|
* Update NEWSChristoph Reiter2019-09-091-0/+6
|
* version bumpChristoph Reiter2019-09-091-1/+1
|
* docs: Document GI_CROSS_LAUNCHER envvarEmmanuele Bassi2019-09-041-0/+4
| | | | | The g-ir-scanner man page should include a mention of the GI_CROSS_LAUNCHER environment variable.
* version bumpChristoph Reiter2019-08-171-1/+1
|
* release1.61.2Christoph Reiter2019-08-171-0/+9
|
* tests: Don't include "config.h" in installed filesPhilip Chimento2019-08-158-163/+181
| | | | | | 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.
* Make meson.override_find_program working on more complex use casesThibault Saunier2019-08-155-3/+11
| | | | | | | 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`.
* structinfo: Fix offset in find_method()Florian Müllner2019-08-141-4/+1
| | | | | | | | 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.
* ccompiler: use the distutils linker in the dumperChristoph Reiter2019-08-083-5/+15
| | | | | No need to hardcode things since distutils looks it up. Similar to !170 but for Windows.
* Use the defined compiler when invoking libtoolDavid Demelier2019-08-081-1/+1
| | | | Closes: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/303
* version bumpChristoph Reiter2019-08-081-1/+1
|
* release1.61.1Christoph Reiter2019-08-081-0/+19
|
* Update glib annotationsChristoph Reiter2019-08-073-8/+88
|
* regress: Add regression test for signal with GError paramPhilip Chimento2019-08-0113-283/+701
| | | | | | | | 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.
* Get the type of dependency from the right object.Brook Milligan2019-07-271-0/+1
| | | | Closes: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/300.
* meson: abort the build if the correct Python dependency isn't foundChristoph Reiter2019-07-261-0/+5
| | | | | | | For some reason there is no way to pass required to external meson deps. Check manually instead. See #297
* meson: require 0.49.2Christoph Reiter2019-07-264-4/+4
| | | | | 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.
* meson: don't pass "install" to configure_file() unless really neededChristoph Reiter2019-07-264-6/+0
| | | | | | | | | | 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
* Update glib annotationsChristoph Reiter2019-07-262-20/+67
|
* meson: use pkg-config directly for libffi cflags and libsAaron Boxer2019-07-231-2/+3
| | | | | meson 0.50.1 pkg-config API can't introspect clfags and libs, so we need to run pkg-config itself to get these
* transformer: only include function macros from headers. See #159Christoph Reiter2019-07-224-46/+4
| | | | | We already do the same thing for constants (see _create_const()). Otherwise macros in .c files which aren't namespaced will trigger a warning.
* scanner: parse and expose function macrosMathieu Duponchelle2019-07-1953-11/+1101
| | | | | This is useful for documentation tools, and other utilities that rely on full introspection of the C API of a given library.
* gimarshallingtests: Add a marshalling test case for GPtrArrays and GArrays ↵Stéphane Seng2019-07-142-0/+52
| | | | | | | | | | | | | | | 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.
* Update glib annotationsRico Tzschichholz2019-07-093-39/+141
|
* girepository: Return pointer array for interface cachePhilip Chimento2019-06-203-4/+28
| | | | | | | | | | | | | 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.
* Update NEWSChristoph Reiter2019-06-151-0/+13
|
* Update glib annotationsChristoph Reiter2019-06-153-565/+539
|
* meson: set a default cairo dll name for the MSVC buildChristoph Reiter2019-06-131-1/+5
| | | | | | | | 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.