(using GNU extensions some warnings are eliminated, some ugly hacks and there
is better argument type safety, so it\'s good to use them)
.TP
+.B --no-touch
+Don\'t touch output files unless they really
+changed (implies --no-touch-headers). Be careful with automake, see section
+PREVENTING SPURIOUS BUILDS.
+.TP
.B --no-touch-headers
Don\'t touch the generated header file unless it really changed, this avoids
spurious rebuilds, but can confuse some make systems (automake in particular),
}
.fi
+.PP
+To make an abstract class (to pass G_TYPE_FLAG_ABSTRACT) add \'(abstract)\'
+before the curly braces above. This works since version 2.0.13.
.SH DATA MEMBERS
.PP
.fi
.PP
+To use BOXED in the signal arguments you need to tell gob which type of boxed
+argument you want to use. For this you can just add BOXED_GTK_TYPE_STRING
+instead of BOXED. For example BOXED_GTK_TYPE_TREE_ITER for GtkTreeIter.
+This works since version 2.0.13.
+.PP
.B "Override methods:"
.PP
If you need to override some method (a signal or a virtual method
have to include both the .gob and the .c and .h files in the SOURCES for your
program.
+.SH PREVENTING SPURIOUS BUILDS
+.PP
+When nothing has changed you might not really want to rebuild everything and
+gob provides options --no-touch (since 2.0.13) and --no-touch-headers to avoid
+this. When working with build systems such as automake you have to be more
+careful as just using those options can cause automake to get confused and you
+will need to use something like the following:
+.nf
+
+ foo_SOURCES = foo.gob foo.gob.stamp foo.c foo.h foo-private.h
+ BUILT_SOURCES = foo.gob.stamp
+ MAINTAINERCLEANFILES = foo.gob.stamp
+
+ %.gob.stamp: %.gob
+ @GOB2@ --no-touch $<
+ @touch $@
+
+.fi
+
.SH DEBUGGING
.PP
GOB does several things to make debugging the code easier. First it adds