2002-08-20 Rachel Hestilow <hestilow@ximian.com>

* README.generator: Added docs on using the generator.

svn path=/trunk/gtk-sharp/; revision=6821
This commit is contained in:
Rachel Hestilow 2002-08-20 20:02:53 +00:00
parent 08d136d203
commit 5d22c25a4e
2 changed files with 37 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2002-08-20 Rachel Hestilow <hestilow@ximian.com>
* README.generator: Added docs on using the generator.
2002-08-19 Rachel Hestilow <hestilow@ximian.com>
* art/Makefile.in (clean): Change to avoid bugging out on generated/CVS.

33
README.generator Normal file
View File

@ -0,0 +1,33 @@
How to use the Gtk# code generator:
Install dependencies:
* You need to install the XML::LibXML perl bindings and Gtk#.
Within your project directory, do the following:
* Setup a toplevel subdirectory for each namespace/assembly you
are wrapping. Instruct the makefile for this directory to compile,
at minimum, generated/*.
* Write a .sources file listing the source directories for the
libraries you will be wrapping, one line per directory. The
format is: "directory namespace library".
* Run gapi.pp SOURCEFILE APIDIR where SOURCEFILE is the sources file
you just wrote, and APIDIR is the directory to place the API XML
descriptions in.
* Run gapi_codegen.exe on the API files you created. If you depend
on any other wrapped libraries (such as gtk-sharp.dll), you need to
include their API listings via the --include directive.
The code generator, if successful, will have populated the assembly
directories with generated/ directories.
It is generally helpful to automate this process with makefiles. Gtk# uses
the following organization:
sources/: Source directories, .sources listing, .metadata files.
Is not listed in SUBDIRS, developers run make manually here when
they want to update the API files.
api/: API files written here. They are committed to CVS and included
in releases for the convenience of the lib user.
This _is_ listed in SUBDIRS, the generator directives are in
this makefile. (And hence api needs to be listed before
the assembly directories)