gobject-introspection r448 - in trunk: . tests tools
- From: walters svn gnome org
- To: svn-commits-list gnome org
- Subject: gobject-introspection r448 - in trunk: . tests tools
- Date: Fri, 22 Aug 2008 14:43:41 +0000 (UTC)
Author: walters
Date: Fri Aug 22 14:43:41 2008
New Revision: 448
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=448&view=rev
Log:
2008-08-22 Colin Walters <walters verbum org>
* gobject-introspection-1.0.pc.in: Add g-ir-generate.
* tests/Makefile.am: Support $(DEBUG)
* tools/generate.c: Do immediate close tags if no
sub-elements.
Modified:
trunk/ChangeLog
trunk/gobject-introspection-1.0.pc.in
trunk/tests/Makefile.am
trunk/tests/boxed.gir
trunk/tools/generate.c
Modified: trunk/gobject-introspection-1.0.pc.in
==============================================================================
--- trunk/gobject-introspection-1.0.pc.in (original)
+++ trunk/gobject-introspection-1.0.pc.in Fri Aug 22 14:43:41 2008
@@ -6,12 +6,9 @@
g_ir_scanner=${bindir}/g-ir-scanner
g_ir_compiler=${bindir}/g-ir-compiler
+g_ir_generate=${bindir}/g-ir-generate
girdir=${prefix}/share/gir
-# FIXME: These needs to be ported to the GIR format first
-# g_idl_generator=${bindir}/g-idl-generator
-# g_idl_compiler=${bindir}/g-idl-compiler
-
Cflags: -I${includedir}/gobject-introspection-1.0
Requires: glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0
Libs: -L${libdir} -lgirepository
Modified: trunk/tests/Makefile.am
==============================================================================
--- trunk/tests/Makefile.am (original)
+++ trunk/tests/Makefile.am Fri Aug 22 14:43:41 2008
@@ -25,8 +25,8 @@
%.gir.test: %.gir
@echo Testing $<:
- $(top_builddir)/tools/g-ir-compiler --raw $< > $<.1; \
- $(top_builddir)/tools/g-ir-generate --raw $<.1 > $<.2; \
+ $(DEBUG) $(top_builddir)/tools/g-ir-compiler --raw $< > $<.1; \
+ $(DEBUG) $(top_builddir)/tools/g-ir-generate --raw $<.1 > $<.2; \
diff -u $< $<.2; rm $<.1 $<.2
check-local: $(GIRTESTS)
Modified: trunk/tests/boxed.gir
==============================================================================
--- trunk/tests/boxed.gir (original)
+++ trunk/tests/boxed.gir Fri Aug 22 14:43:41 2008
@@ -60,7 +60,6 @@
</parameter>
</parameters>
</function>
- <glib:boxed glib:name="boxed2" glib:type-name="BoxedType2" glib:get-type="boxed2_get_type" deprecated="1">
- </glib:boxed>
+ <glib:boxed glib:name="boxed2" glib:type-name="BoxedType2" glib:get-type="boxed2_get_type" deprecated="1"/>
</namespace>
</repository>
Modified: trunk/tools/generate.c
==============================================================================
--- trunk/tools/generate.c (original)
+++ trunk/tools/generate.c Fri Aug 22 14:43:41 2008
@@ -422,6 +422,7 @@
const gchar *type_init;
gboolean deprecated;
gint i;
+ int n_elts;
name = g_base_info_get_name ((GIBaseInfo *)info);
deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info);
@@ -439,26 +440,34 @@
if (deprecated)
g_fprintf (file, " deprecated=\"1\"");
- g_fprintf (file, ">\n");
-
- for (i = 0; i < g_struct_info_get_n_fields (info); i++)
+ n_elts = g_struct_info_get_n_fields (info) + g_struct_info_get_n_methods (info);
+ if (n_elts > 0)
{
- GIFieldInfo *field = g_struct_info_get_field (info, i);
- write_field_info (namespace, field, NULL, file);
- g_base_info_unref ((GIBaseInfo *)field);
- }
-
- for (i = 0; i < g_struct_info_get_n_methods (info); i++)
+ g_fprintf (file, ">\n");
+
+ for (i = 0; i < g_struct_info_get_n_fields (info); i++)
+ {
+ GIFieldInfo *field = g_struct_info_get_field (info, i);
+ write_field_info (namespace, field, NULL, file);
+ g_base_info_unref ((GIBaseInfo *)field);
+ }
+
+ for (i = 0; i < g_struct_info_get_n_methods (info); i++)
+ {
+ GIFunctionInfo *function = g_struct_info_get_method (info, i);
+ write_function_info (namespace, function, file, 6);
+ g_base_info_unref ((GIBaseInfo *)function);
+ }
+
+ if (g_base_info_get_type ((GIBaseInfo *)info) == GI_INFO_TYPE_BOXED)
+ g_fprintf (file, " </glib:boxed>\n");
+ else
+ g_fprintf (file, " </record>\n");
+ }
+ else
{
- GIFunctionInfo *function = g_struct_info_get_method (info, i);
- write_function_info (namespace, function, file, 6);
- g_base_info_unref ((GIBaseInfo *)function);
+ g_fprintf (file, "/>\n");
}
-
- if (g_base_info_get_type ((GIBaseInfo *)info) == GI_INFO_TYPE_BOXED)
- g_fprintf (file, " </glib:boxed>\n");
- else
- g_fprintf (file, " </record>\n");
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]