GtkSharp/sources
Martin Willemoes Hansen 37e2bd78e5 * api/gda-api.xml: Updated to reflect new versions of the targeted
libraries + addition of GnomePrint
        * api/gdk-api.xml: Ditto
        * api/gnome-api.xml: Ditto
        * api/gnomedb-api.xml: Ditto
        * api/gtk-api.xml: Ditto
        * api/rsvg-api.xml: Ditto
        * sources/.cvsignore: Ditto
        * sources/makefile: Ditto
        * sources/gtk-sharp.sources: Ditto
        * sources/Gda.metadata: Added a couple of new_flags
        * sources/Gdk.metadata: Fixed name filter level type, it was missed by
        the parser.
        * sources/Gtk.metadata: Added hides for the GtkHtml releations to GnomePrint,
        these hides can be removed when GtkHtml is put in its own assembly.

svn path=/trunk/gtk-sharp/; revision=18131
2003-09-16 18:07:40 +00:00
..
.cvsignore * api/gda-api.xml: Updated to reflect new versions of the targeted 2003-09-16 18:07:40 +00:00
Art.metadata 2003-08-06 Duncan Mak <duncan@ximian.com> 2003-08-06 22:14:45 +00:00
Atk.metadata 2003-07-10 Mike Kestner <mkestner@speakeasy.net> 2003-07-11 02:00:13 +00:00
Gda.metadata * api/gda-api.xml: Updated to reflect new versions of the targeted 2003-09-16 18:07:40 +00:00
Gdk.metadata * api/gda-api.xml: Updated to reflect new versions of the targeted 2003-09-16 18:07:40 +00:00
Gnome.metadata * sources/Gnome.metadata: Added GObject as the parent for GnomePrintTransport and 2003-08-14 14:47:19 +00:00
GnomeDb.metadata 2003-07-10 Mike Kestner <mkestner@speakeasy.net> 2003-07-11 02:00:13 +00:00
gtk-sharp.sources * api/gda-api.xml: Updated to reflect new versions of the targeted 2003-09-16 18:07:40 +00:00
Gtk.metadata * api/gda-api.xml: Updated to reflect new versions of the targeted 2003-09-16 18:07:40 +00:00
gtkhtml-font-style-enum.patch 2003-08-08 Mike Kestner <mkestner@ximian.com> 2003-08-08 17:45:44 +00:00
makefile * api/gda-api.xml: Updated to reflect new versions of the targeted 2003-09-16 18:07:40 +00:00
Pango.metadata * api/gtk-api.xml: 2003-01-30 02:33:38 +00:00
README 2003-07-14 Mike Kestner <mkestner@speakeasy.net> 2003-07-15 05:52:09 +00:00

The contents of this directory are (basically) the first step
in creating .NET bindings, to libraries based on GObject.

QUICK INSTRUCTIONS
------------------

    Edit the .metadata file(s), then do a:

        make get-source-code
        make

   You only have to do a "make get-source-code" once!  After
    you have run "make get-source-code" once, do the following...


    Edit the .metadata file(s), then do a:

        make


    Note, these instructions only generate XML files in the "api"
    directory.  To turn those XML files (in the "api" directory)
    into C# code; and then turn that C# code into a .DLL, you'll
    need to perform extra steps, which are NOT described in this
    document.

    (If you are going to create a new .NET binding, then you will need
    to do more than just this.)


WHO USES THE SOURCES DIRECTORY
------------------------------

    This directory is essentially the "starting point" in the creation
    of a .NET binding.  Most people can safely ignore it.  (If all
    you want to do is build Gtk#, then you can ignore what's in this
    directory.)

    This directory is not part of the normal "build process" for Gtk#.
    But is instead used by people wishing to update an existing .NET
    binding; or to create a new .NET binding (for a GObject based library).

    The result of running "make" on this directory (once everything
    is set up) are the XML files that you find in the "api" directory.
    (Those XML files, that you find in the "api" directory,  are then used
    to generate the C# code.  And then that C# code is used to create
    the various .DLL files.)


WHAT'S REQUIRED
---------------

    Before you can do anything here, you need to get the source
    code to the various libraries (which you are generating .NET
    bindings for).  And then do a little configuring.  The current
    list of libraries that Gtk# supports is:

        glib-2.0.3
        pango-1.2.3
        atk-1.2.4
        gtk+-2.2.2
          * you need gdkpixbuf*.[ch] from gdk/ symlinked into gdk-pixbuf/
        libgnome-2.0.1
        libgnomecanvas-2.0.1
        libgnomeui-2.0.1
        gtkhtml: cvs branch gnome-2-port files gtkhtml.[ch], gtkhtml-types.h,
                 gtkhtml-enums.h, gtkhtml-stream.[ch]
        libglade-2.0.0
        libart_lgpl-2.3.10
        libgda-0.10.0
        libgnomedb-0.10.0
        gstreamer-0.4.2
        librsvg-2.0.1

    (If you create a new binding, that is part of Gtk#, be sure to add it
    to this list.  Also, you'll need to add an entry in "gtk-sharp.sources".
    And you should add it to the "makefile" so that it is part of the
    "get-source-code" rule.)

    (There are two ways to get this source code.  As you will see in the
    next section.)


SETTING THINGS UP
-----------------

    To set things up, you need to get the source code to the libraries listed
    above.  There are two (alternate) methods of doing this.

        Method 1)
            Download it.  Unpack the source code (if necessary).  Then do the extra
            cofiguration stuff listed above.

        Method 2)
            Run:
                make get-source-code


    (Method 2 is probably the easiest way to do it for most people.  It automatically
    goes and downloads everything you need.  And configures everything for you.)


EDITING .METADATA FILES
-----------------------

    Part of updating a .NET binding involves editing a .metadata file.  
    (Assuming you already have the required source code, to the
    libraries...) once you update a binding, you then run:

        make

    ...to create the new updated XML file(s) that will be placed in the "api"
    directory.