* Project Structure *
---------------------

This document describes the structure of the GtkExtra-- project. Hopefully it will help to ensure that the project is maintained, by ensuring that everybody knows how it is put together. It may also be interesting to people who are creating other Gtk-- wrappers, after they have read the 'How_To_Wrap_A_GTK_Library.txt' document.

???? This documentation has only just begun.
I will update it when the structure is complete, so don't worry about changing the structure so that this is no longer true.
Feel free to add to it. ????

- Top-level directories:
 - gtkextra--: The source code of the library.
   ???? Why we use gtkextra-- instead of src: Cedric Gustin's email. ????
 - macros: Some .m4 files used by autoconf
 - scripts: Intermediate files created by Libtool.
 - examples: Source code that demonstrates how to use the library. There should
   also be an external standalone project that demonstrates how to link to the 
   library in a real project.  
 
- GENERIC Variables:
  - configure.in contains several variables that are used in many of the project files.
    These variables are substituted because we make calls to AC_SUBST().
  - See How_To_Wrap_A_GTK_Library.txt
  - So far, we have not been able to make everything generic, but almost everything is.

- Automatic listing of *.gen_h files.
  - The WRAPPED_WIDGETS variable is a list of .gen_h files.
    It is generated in the top-level configure.in.
  - This variable is used in gtkextra--/private/Makefile.am,
    where it is used for the arguments to gtkmmproc.

- Finding Gtk-- and Gtk libraries
  - Gtk-- provides the AM_PATH_GTKMM macro.
  - GtkExtra doesn't yet provide such a macro, so GtkExtra-- includes
    AM_PATH_GTKEXTRA in its macros directory.
    It also installs an AM_PATH_GTKEXTRA_TMP macro for projects which use GtkExtra--.
    See the 'Using_GtkExtra--.txt' document.

- gtkextramm-config script: Installed and used by client code.
  ????
  
- DIST variables:
  ????

- Documentation:
  Docgen folder copied from Gtk-- project. It is a modified version of perceps.
  It scans the C++ header files and produces reference documentation on the classes.
  Comments that use the perceps syntax are added as descriptions.


Murray Cumming <murrayc@usa.net>
Cedric Gustin <gustin@pcpm.ucl.ac.be>

