| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
We don't need to run the GLib test suite, in case we're building GLib as
a subproject.
|
|
|
|
| |
We're going to need some more iterations before we can re-enable it.
|
|
|
|
|
| |
Use the Fedora build dependencies for the gobject-introspection package
as a source.
|
|
|
|
|
| |
If we end up building GLib as a subproject, we're going to need all the
GLib dependencies.
|
|
|
|
| |
They still reference git://git.gnome.org URIs.
|
|
|
|
|
| |
We need Git in order to check out the subprojects, in case the
dependencies do not match with the system ones.
|
|
|
|
|
| |
Based on the GLib and GTK equivalent CI environment, with a Docker
container used to run the build.
|
|
|
|
|
| |
We have already bumped the version of G-I, but GLib hasn't bumped its
version, yet.
|
| |
|
| |
|
|
|
|
| |
To make it build using libffi as a subproject on Linux.
|
|
|
|
|
|
| |
Mixing ** and explicit keyword arguments is not allowed in Python 2.
Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This ensures stability in the output, because the underlying
implementation uses readdir() and the output will depend on the
filesystem.
This also works around a bug where g-ir-scanner's source scanner was
#include-ing gmarshal.h before any other header which resulted in all
marshaling symbols to be skipped from the introspection because of
syntax errors.
|
|
|
|
|
|
| |
dict.items() returns a tuple in Python2 but it returns an iterator in
Python3. This is usually fine, except that in this place we also try
to index the return value which won't work with iterators.
|
|
|
|
|
|
| |
Otherwise we will see the fallback annotations provided in glib-2.0.c
etc and use them instead of the up-to-date annotations in glib's
source code.
|
|
|
|
|
|
|
|
| |
Lesson to be learnt: *NEVER* have a try..except block that catches all
exceptions and turns them into warnings that are silenced by default.
There was a syntax error in this class implementation that made all
annotation parsing fail silently.
|
|
|
|
|
|
|
|
| |
As reported by guruDanny76[1], this was causing meson to always clone
the glib subproject and fruitlessly try to find gio-unix-2.0, so just
don't even try.
1. https://github.com/wingtk/gvsbuild/issues/22#issuecomment-348139054
|
|
|
|
| |
Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit f473d3b3ede94639f8d68fe618cc4cd287053181.
This can cause Meson to run g-ir-scanner with the wrong python; for
instance if you built gobject-introspection with a 64-bit Python but
you have a 32-bit Python in your PATH.
The correct fix is https://github.com/mesonbuild/meson/pull/2708.
|
|
|
|
|
|
| |
If there is a space in the path to python, we cannot use it in the
shebang since there is no way to quote spaces. Use the basename
instead since we pass it to /usr/bin/env anyway.
|
|
|
|
|
| |
gir generation now works in-tree, so we do not need to bootstrap g-i
by installing to a prefix first.
|
|
|
|
|
|
| |
We must use include_directories: to pass that so that it's not overriden
by include paths from internal dependencies which will very commonly
also have their own config.h in one of their include paths.
|
|
|
|
|
|
| |
Use the old-stable (at the time of this commit).
Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
|
|
|
|
|
|
|
|
| |
Remove the existing TODO and avoid playing games with the linker. We
already have a mechanism in place for controlling he visibility of our
symbols.
Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
|
|
|
|
|
|
| |
Follow the existing best practices.
Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
|
|
|
|
|
| |
This is a hack for use by people who use a different subproject
directory than the default.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way we were parsing cflags was causing cpp_includes, cpp_defines,
cpp_undefines to always be empty because we would consume all arguments
with --cflags-begin's callback.
Now, we make a copy of the 'remaining arguments' and parse those to
populate the cflags independent of cpp_* flags that are used for
building the scanner executable.
This fixes the build when glib and friends aren't available in the
system prefix.
|
|
|
|
|
|
| |
When building from scratch on Windows using subprojects, we have neither
pkg-config nor any system libraries so we need to link to gio/glib/etc
manually.
|
|
|
|
| |
Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
|
|
|
|
|
|
|
| |
Both the source and the build dir are needed because some files are
read from the source and others are read after they are built.
Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
|
|
|
|
|
|
| |
Otherwise it won't run on Windows because it doesn't have a .py suffix
and it isn't an executable. Meson should probably detect this case and
automatically insert python3.
|
|
|
|
| |
This needs the latest commit from glib master.
|
|
|
|
| |
These are the native windows versions of flex and bison.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building with Meson, we cannot set environment variables while
running custom targets and our builddir layout is different from
Autotools anyway.
Now g-ir-scanner and friends can autodetect when they're being run
uninstalled by Meson and will find _giscanner.so and the giscanner
python files in the build directory. This is very similar to what
gdbus-codegen uses in glib/gio.
Same for girepository/gdump.c.
|
|
|
|
|
|
|
| |
We already require python 2.7, and it has OrderedDict and Counter.
Besides cleaning up unmaintained code, this change found and fixed
a Python 3 bug where we were iterating over a dict while changing it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous build files had a bunch of problems:
1. It assumed that glib would only be sourced via pkg-config
2. It was using the system gobject-introspection-1.0.pc file while
building GIRepository-1.0.gir
3. It wasn't ignoring the *-autocleanup.h headers properly
Now you can build glib as a subproject and generate girs against the
in-tree sources. This also yields more accurate girs because they
document platform-specific features that are actually enabled in
the glib build we are linking against.
|
| |
|
|
|
|
|
|
| |
glib_dep is what is actually needed to #include <glib.h>, not
gobject_dep. It works incidentally with system gobject/glib but not
when built via subprojects.
|
|
|
|
| |
Also add wrap files in subprojects/
|
|
|
|
| |
This is how the bumping is always done in autotools.
|
|
|
|
|
|
| |
This allows the pkg-config files to be relocated at on Windows by
moving the entire prefix and pkg-config will automatically set the
value of prefix.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
the build of the gir files.
|
| |
|
| |
|
| |
|