summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* giscanner: add a --lib-dirs-envvar optionAlexander Kanavin2019-12-133-3/+7
| | | | | | | | | | By default LD_LIBRARY_PATH is set to the list of target library paths; this breaks down in cross-compilation environment, as we need to run a native emulation wrapper rather than the target binary itself. This patch allows exporting those paths to a different environment variable which can be picked up and used by the wrapper. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
* Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR environment variableAlexander Kanavin2019-12-131-4/+4
| | | | | | | This environment variable sets the location of sysroot directory in cross-compilation environments; if the variable is not set, the prefix will be empty. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
* giscanner: add a --use-ldd-wrapper optionAlexander Kanavin2019-12-132-1/+6
| | | | | | | This is useful in cross-compile environments where system's ldd command does not work on binaries built for a different architecture Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
* giscanner: add --use-binary-wrapper optionAlexander Kanavin2019-12-131-0/+14
| | | | | | | | | With this option, giscanner will use a wrapper executable to run binaries it's producing, instead of running them directly. This is useful when binaries are cross-compiled and cannot be run directly, but they can be run using for example QEMU emulation. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
* Fix a bison deprecation warning for using %error-verboseChristoph Reiter2019-12-111-1/+1
| | | | warning: deprecated directive, use ‘%define parse.error verbose’
* Fix build reproducibilityJoshua Watt2019-12-112-5/+0
| | | | | | | | | | | | ba744068 ("Make meson.override_find_program working on more complex use cases") made the build no longer reproducible by encoding a build system path into the output. This shouldn't be necessary anyway, since it should be possible to add new paths to search for gir files by setting the XDG_DATA_DIR environment variable. Closes #318 Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
* Add GMemoryMonitor to glib annotationsBastien Nocera2019-12-111-0/+72
|
* version bumpChristoph Reiter2019-11-241-1/+1
|
* release1.63.1Christoph Reiter2019-11-241-0/+20
|
* 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`.