summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge branch 'dumper-lto-fix' into 'master'Christoph Reiter2020-05-151-2/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | dumper: Fix missing symbols in LTO case or with overridden symbol visibility settings Closes #280 See merge request GNOME/gobject-introspection!216
| * | | | dumper: Fix missing symbols in LTO case or with overridden symbol visibility ↵Christoph Reiter2020-05-151-2/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | settings In case a user had a combination of -fvisibility=hidden, -Wl,--as-needed, -flto, -O2 in the CFLAGS the linker would sometimes detect that all the referenced gtype functions weren't actually used and throw them out with their providing libraries. Instead of hoping that the user's CFLAGS don't mess without our symbol visibility just use G_MODULE_EXPORT on the two symbols which reference all other gtype and gquark symbols. This fixes errors such as: Invalid GType function: 'gtk_accel_group_get_type' Failed to find symbol 'gtk_accel_group_get_type' during the g-ir-scanner execution. Fixes #280
* | | | Add missing nullable annotation to g_object_info_get_parentJonne Haß2020-05-141-1/+1
| | | |
* | | | Add missing nullable annotation to g_irepository_get_shared_libraryJonne Haß2020-05-141-1/+1
| |_|/ |/| |
* | | flake8: fix invalid placeholder in GtkDocAnnotatable repr format stringChristoph Reiter2020-05-141-1/+1
| | | | | | | | | | | | The newest flake8 has started to detect this.
* | | Update utils.pyneok2020-05-101-1/+1
| | |
* | | Meson: Fix build as subprojectXavier Claessens2020-05-065-34/+36
| | | | | | | | | | | | | | | meson.build_root() is the root of the main project, better use meson.current_build_dir() instead.
* | | CI: switch to new win32 runnersChristoph Reiter2020-05-032-5/+5
| | | | | | | | | | | | powershell instead of cmd, win2016 instead of 2012r2
* | | gir: Update annotations from glib git masterRico Tzschichholz2020-05-023-36/+115
| | |
* | | Revert "Add support for element-type to GListModel"Rico Tzschichholz2020-04-2814-278/+7
| | | | | | | | | | | | | | | | | | Breaks vapigen and changes GListModel definition in Gio-2.0.gir This reverts commit a9f45431684e6be3623e272e54d481e4c5d9423d.
* | | build: Bump version to 1.65Philip Chimento2020-04-261-1/+1
| | | | | | | | | | | | | | | We are adding new API for 1.66, so bump the version number to the development series.
* | | girepository: Add GITypeInfo utility functions for storing values in pointersPhilip Chimento2020-04-262-0/+182
| | | | | | | | | | | | | | | | | | | | | | | | This functionality is used in both PyGObject and GJS, and if not done correctly can lead to architecture-specific bugs. It seems best to add API in gobject-introspection for the correct way to do it. See also: GNOME/gjs#309
* | | girepository: Add 1.66 version macroPhilip Chimento2020-04-261-0/+6
| | | | | | | | | | | | Required for adding new API to the 1.66 series.
* | | build: Check Python.h and fail early if not presentPhilip Chimento2020-04-261-0/+3
| | | | | | | | | | | | | | | Checking the Python dependency doesn't ensure the header is present. That needs to be checked separately.
* | | Add support for element-type to GListModelEmmanuele Bassi2020-04-2614-7/+278
| | | | | | | | | | | | | | | | | | | | | | | | GListModel is an interface for creating typed, list-like containers. The data stored is GObject instances, but it's useful to be able to annotate the actual type, for both documentation and code generation purposes. The annotation should be optional, to maintain backward compatibility.
* | | Revert "Add element-type support to GListModel"Emmanuele Bassi2020-04-2610-200/+1
| | | | | | | | | | | | | | | | | | This reverts commit b4c058bba4d95ae10e1e4238f9417fe954f97795. See: #336
* | | Revert "Generate appropriate docs for ListModel with element-type"Emmanuele Bassi2020-04-263-17/+9
| | | | | | | | | | | | | | | | | | This reverts commit ffe3e435e0b7943a0872034223b5f6ea02258ffa. See: #336
* | | Meson: Override gobject-introspection-1.0 dependencyXavier Claessens2020-04-241-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When gobject-introspection-1.0 pkg-config is not found on the system, Meson can fallback to configure g-i as subproject and needs a dependency object to replace the pc file. The dependency file needs to ensure that typelibs are created before compiling any other gir and provide the girdir for files within build directory. It also need to provide glib dependencies required to compile girs.
* | | Revert "Revert "Meson: Fix build when glib is built as subproject""Xavier Claessens2020-04-242-1/+4
| | | | | | | | | | | | This reverts commit 42b7d634a9a7500dcc71651f71844148fc200be3.
* | | Generate appropriate docs for ListModel with element-typeEmmanuele Bassi2020-04-243-9/+17
| | | | | | | | | | | | | | | | | | We need to special case the ListModel container type in the documentation writer so that we don't fall back into array/list automatic conversion in the code snippets.
* | | Add element-type support to GListModelEmmanuele Bassi2020-04-2410-1/+200
| | | | | | | | | | | | | | | | | | | | | | | | GListModel is an interface for creating typed, list-like containers. The data stored is GObject instances, but it's useful to be able to annotate the actual type, for both documentation and code generation purposes. Fixes: #328
* | | Support the gtk-doc action syntaxEmmanuele Bassi2020-04-242-7/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GTK4 allows adding widget-related actions to the documentation with the newly defined syntax: <class_name> '|' <action_name> ':' This means g-ir-scanner needs to detect this new format, to avoid emitting unnecessary warnings. Currently, we don't do anything with the actions; in the future we might want to add them to the documentation in the GIR, but for that we'd need a new element. See also: GNOME/gtk-doc!30
* | | Revert "Meson: Override gobject-introspection-1.0 dependency"Emmanuele Bassi2020-04-248-22/+9
| | | | | | | | | | | | | | | | | | This reverts commit d01a387475e2665275a6cd6b0059bf91121b8300. The nightly run time does not have Meson 0.54
* | | Revert "Meson: Fix build when glib is built as subproject"Emmanuele Bassi2020-04-242-4/+1
| |/ |/| | | | | | | | | This reverts commit ec00edd941953626ac027810f747847f68a71000. The nightly run time does not have Meson 0.54.
* | Meson: Override gobject-introspection-1.0 dependencyXavier Claessens2020-04-238-9/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | When gobject-introspection-1.0 pkg-config is not found on the system, Meson can fallback to configure g-i as subproject and needs a dependency object to replace the pc file. The dependency file needs to ensure that typelibs are created before compiling any other gir and provide the girdir for files within build directory. It also need to provide glib dependencies required to compile girs. Bump Meson version to 0.54.0 to use meson.override_dependency().
* | Meson: Fix build when glib is built as subprojectXavier Claessens2020-04-222-1/+4
| |
* | Update NEWSChristoph Reiter2020-04-051-0/+7
| |
* | Replace calls to deprecated xml.etree.cElementTreeStephen Gallagher2020-03-262-2/+2
| | | | | | | | | | | | | | | | | | cElementTree was removed in Python 3.9 in favor of ElementTree, which has used a fast, native implementation since Python 3.3. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1817649 Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
* | gimarshallingtests: Use g_assert_cmpfloat_with_epsilonIain Lane2020-03-181-6/+6
| | | | | | | | Comparing floats directly doesn't always work on all architectures.
* | gimarshallingtests: Add marshalling tests for virtual functions with inout ↵Marco Trevisan (Treviño)2020-03-162-0/+96
| | | | | | | | | | | | | | | | | | parameters Virtual functions may use input/output parameters but this is not currently well handled by gjs, so adding test cases to gobject-introspection to verify that virtual functions correctly receive valid input values and can return them.
| * Don't override finding executables when using pre-built tools.John Ericson2020-04-272-22/+17
|/ | | | | | | | | | | | | | | Actually, we shouldn't really need this. We are building `native: false` binaries so when we look up a `native: true` binary the override should not apply. I've fixed this upstream in meson in https://github.com/NixOS/nixpkgs/pull/86080, though some backwards compatibility migration might be in order. In the meantime, we can make `gi_cross_use_host_gi` prevent the overrides from happening, which will achieve the desired behavior. Finally, this allows us to use `find_program` in `scanner_command`, unconditionally, letting the presence of the override dictate whether a freshly-built or pre-built `g-ir-scanner` is used.
* version bumpChristoph Reiter2020-03-071-1/+1
|
* release1.64.0Christoph Reiter2020-03-072-1/+9
|
* Update glib annotations to 2.64.0Rico Tzschichholz2020-02-282-15/+45
|
* HACKING: Document how to update glib GIRBastien Nocera2020-02-201-0/+16
| | | | Closes: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/320
* Update glib annotationsRico Tzschichholz2020-02-172-63/+56
|
* Fix regress scanner testsChun-wei Fan2020-02-062-5/+5
| | | | | | | | | There is no way that non-GCC/CLang compilers will pass this test because the source position will never match the position that is in tests/scanner/Regress-1.0-expected.gir. Fix this the fast way: define a macro according to the compiler check and update the corresponding source position
* version bumpChristoph Reiter2020-01-171-1/+1
|
* release1.63.2Christoph Reiter2020-01-171-0/+12
|
* meson: rename cross options to not start with cross_Christoph Reiter2020-01-172-14/+14
| | | | | | | Newer meson warns that option names can't start with "cross_", so we have to prefix them: "Option uses prefix "cross_", which is reserved for Meson. This will become an error in the future."
* Update glib annotationsChristoph Reiter2020-01-172-52/+55
|
* MSVC.README.rst: Add note about Python 3.8.x or laterChun-wei Fan2020-01-161-0/+16
| | | | | Let the people know how _giscanner.pyd handles looking up for dependent DLLs on Python 3.8.x or later on Windows.
* test_scanner.py: Fix path tests on WindowsChun-wei Fan2020-01-161-2/+3
| | | | | | We may get drive letters and paths either in upper or lower cases in Windows, which are actually no different. Ignore the cases in this case.
* Windows: Fix building and running on Python 3.8+Chun-wei Fan2020-01-165-1/+57
| | | | | | | | | | | | | | | | | | | | | | | Python 3.8.x and later changed the way how dependent DLLs can be found for a given Python module that depends on the presence of external, non-system DLLs, for more fine-grained DLLs searching and loading, as well as for security purposes, which required the use of os.add_dll_directory(). Thus, the scripts in scanner/ must be updated such that: -We are able to find and load the GObject and GLib DLLs, at least, on initialization, via the use of 'pkg-config --variable bindir', as we already depend on the GLib DLLs. Note that since the gobject-2.0.pc file does not have a 'bindir' entry, we use gio-2.0.pc instead to discover the bindir of the GObject and GLib DLLs. Likewise, we use the same technique for pkg-config files that are dependent upon when using g-ir-scanner (or friends) on items that are higher up in the stack. -We are able to find any other DLLs (e.g. non-GNOME DLLs such as ZLib) that are dependent but are not found in the path(s) given by 'pkg-config --variable bindir' with the envvar GI_EXTRA_BASE_DLL_DIRS, as needed. Note that GI_EXTRA_BASE_DLL_DIRS can be multiple paths, and that the results from 'pkg-config --variable bindir' takes precendence, in a LIFO manner.
* Visual Studio builds: Use -utf-8 where availableChun-wei Fan2020-01-155-5/+28
| | | | | | | | | | | | This avoids compilation erroring out on C4819 (Unicode handling issue in the Visual Studio compiler), notably when running on Chinese, Japanese and Korean (CJK) locales. This also applies -utf-8 into the cflags passed into the various g-ir-scanner command lines that are used to generate the *.gir files, where -utf-8 is available, so that we don't get flooded with C4819 warnings during the build, and therefore avoid potential mishaps, as C4819 is a real warning that warngs us the code may be incorrectly built.
* Update glib annotationsRico Tzschichholz2020-01-073-39/+221
|
* Drop deprecated xml.etree.ElementTree.Element.getchildren() callsMiro Hrončok2020-01-061-6/+6
| | | | | | | | | The XML elements are implicitly iterable in all Python versions including at least 2.7 and 3.2+. The .getchildren() method is deprecated since 2.7 and 3.2, removed in 3.9. Fixes https://gitlab.gnome.org/GNOME/gobject-introspection/issues/325
* meson: address review commentsAlexander Kanavin2019-12-133-31/+33
| | | | | | | | | See here: https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/64 Particularly, options are renamed to make it more readable and clear. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
* meson.build: disable tests when cross-compilingAlexander Kanavin2019-12-131-1/+3
| | | | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
* meson_options.txt: add host-gi, gi-cross-wrapper, gi-ldd-wrapper, ↵Alexander Kanavin2019-12-133-18/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | introspection-data and pkgconfig-sysroot-path options With the first option, gobject-introspection tools (g-ir-doc-tool and g-ir-scanner) that are already installed in the host system will be used for building the source tree. With the second option, g-ir-scanner will be instructed to use an executable wrapper to run binaries it's producing, and g-ir-compiler will be run through the same wrapper (host system's g-ir-compiler cannot be used because it's producing architecture-specific output). With the third option, giscanner will be instructed to use a special ldd command instead of system's ldd (which does not work when the binary to inspect is compiled for a different architecture). With the fourth option, it is possible to disable building of introspection data (.gir and .typelib files), which may be difficult or impossible in cross-compilation environments, because of lack of emulation (or native hardware) for the target architecture on which the target binaries can be run. With the fifth option, paths returned by pkg-config are prefixed with the sysroot path (which is the destination path for cross-compiled items on the system where cross-compilation happens). These options are useful when cross-compiling for a different target architecture. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>