By separating out cairo-1.0.gir from gir_DATA, we lost the generation of the cairo typelib. So instead add cairo-1.0.gir to a new SUBSTITUTED_GIRSOURCES and include that in gir_DATA. Fix the rule for generating cairo-1.0.gir for srcdir != builddir. https://bugzilla.gnome.org/show_bug.cgi?id=645692
…es). Flags and enums with a GType have a value_nick and value_name strings available in the class struct. But for flags and enums without GType, we need to get this information from introspection. g_base_info_get_name() gives the string for value_nick. In the GIR, the attribute "c:identifier" is the string neede for value_name. This patch adds the "c:identifier" from GIR to the typelib for all flags and enum values. It can be retireved using g_base_info_get_attribute(info, "c:identifier"). https://bugzilla.gnome.org/show_bug.cgi?id=642757
This allows bindings to test the ability to clean up (in) parameters after a GError is set by the wrapped function.
…value. Glib uses flag aliases, multiple flag names with the same int value. For example G_IO_FLAG_MASK and G_IO_FLAG_GET_MASK. We need these flag values to test that gi bindings don't assume that all flags have the same value.
Different types of array have different type nodes, so they should produce different keys in the cache of already seen type nodes, to avoid turning a GByteArray into a reference to a GPtrArray. https://bugzilla.gnome.org/show_bug.cgi?id=642300
The argument was called 'ctx' but the macro was using 'context'. This wasn't causing the build to fail because the variable 'context' was already defined in all the scopes where this macro was used.
Hit this race in practice with two g-ir-scanner invocations in Fedora's koji.