871e8f84a6
svn path=/trunk/gtk-sharp/; revision=20014
115 lines
3.5 KiB
Text
115 lines
3.5 KiB
Text
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:
|
|
|
|
pango-1.2.3
|
|
atk-1.2.4
|
|
gtk+-2.2.2
|
|
libgnome-2.2.3
|
|
libgnomecanvas-2.2.1
|
|
libgnomeui-2.2.2
|
|
libgnomeprint-2.2.1.3
|
|
libgnomeprintui-2.2.1.3
|
|
gtkhtml-3.0.8 files: gtkhtml.[ch], gtkhtml-types.h,
|
|
gtkhtml-enums.h, gtkhtml-stream.[ch]
|
|
libglade-2.0.0
|
|
libart_lgpl-2.3.10
|
|
libgda-1.0.0
|
|
libgnomedb-1.0.0
|
|
gstreamer-0.6.4
|
|
librsvg-2.2.5
|
|
|
|
(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.
|
|
|
|
|