]> git.draconx.ca Git - gob-dx.git/blobdiff - doc/gob2.1.in
Release 2.0.13
[gob-dx.git] / doc / gob2.1.in
index 1d386a2c0a7941f93bfdbc1d378ccd6bb5858979..9a53cffa7f2f62412a5474538a26c41abb294ce4 100644 (file)
@@ -51,6 +51,11 @@ correctly even on non-GNU compilers.  This option is for purists only.
 (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),
@@ -211,6 +216,9 @@ For example:
   }
 
 .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
@@ -749,6 +757,11 @@ would do:
 
 .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
@@ -1210,6 +1223,25 @@ include the generated .c and .h files into BUILT_SOURCES variable.  You
 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