From 5d22c25a4e4459b5023d0f875c9449264b9c454b Mon Sep 17 00:00:00 2001 From: Rachel Hestilow Date: Tue, 20 Aug 2002 20:02:53 +0000 Subject: [PATCH] 2002-08-20 Rachel Hestilow * README.generator: Added docs on using the generator. svn path=/trunk/gtk-sharp/; revision=6821 --- ChangeLog | 4 ++++ README.generator | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 README.generator diff --git a/ChangeLog b/ChangeLog index ecdad235c..d972d12d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2002-08-20 Rachel Hestilow + + * README.generator: Added docs on using the generator. + 2002-08-19 Rachel Hestilow * art/Makefile.in (clean): Change to avoid bugging out on generated/CVS. diff --git a/README.generator b/README.generator new file mode 100644 index 000000000..158bea777 --- /dev/null +++ b/README.generator @@ -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) + +