diff --git a/HACKING b/HACKING index 9bd01c3af..42ed7e77e 100755 --- a/HACKING +++ b/HACKING @@ -1,11 +1,10 @@ -Before beginning work on something, please post your intentions to the +Before beginning work on something, please post your intentions to the mailing list (gtk-sharp-list@ximian.com). Duplication of effort just gets -folks cranky in general. +folks cranky in general. -Prior to checking anything into CVS, please send a patch to the mailing list -for approval. Any patches should be submitted in diff -u format. Also, it is -assumed that the submitter has verified that the patch does not break the -build, and hopefully that it doesn't break runtime. +Code contributions can be made in the form of pull requests on GitHub, +through https://github.com/mono/gtk-sharp or by attaching patches to bug +reports. Please make sure the patch is produced using 'git format-patch'. Getting Started: @@ -21,5 +20,5 @@ Getting Started: o sources/README If you still have more questions or need assitance, you can get help on - the Gtk# mailing list and the #mono IRC channel. (Information about - each of these is contained in the README file.) + the Gtk# mailing list and the #gtk# or #mono IRC channels. (Information + about each of these is contained in the README file.) diff --git a/README b/README index 1ad2e616e..ef13d7409 100644 --- a/README +++ b/README @@ -1,14 +1,13 @@ -The Gtk# website can be found at: http://gtk-sharp.sourceforge.net/ +The Gtk# website can be found at: http://www.mono-project.com/GtkSharp Gtk# is a .NET language binding for the GTK+ toolkit and assorted GNOME -libraries. Gtk# is free software, licensed under the GNU LGPL. The target -is the 2.6 platform. +libraries. Gtk# is free software, licensed under the GNU LGPL. Building & Installing Gtk#: --------------------------- - Install the gtk-2/gtk-3 development headers first. On Debian, this can be done using: - apt-get install libgtk2.0-dev libgtk-3-dev + Install the gtk-3 development headers first. On Debian, this can be done using: + apt-get install libgtk-3-dev The build is the traditional: @@ -30,7 +29,7 @@ Building & Installing Gtk#: which was used for Mono. This might have been "/usr", "/usr/local", or something similar.) - If you are compiling from SVN, you will need libtool and the auto* tools + If you are compiling from GIT, you will need libtool and the auto* tools and will need to replace the configure above with autogen.sh. @@ -55,12 +54,8 @@ Discussion & Support: http://lists.ximian.com/archives/public/gtk-sharp-list/ - Further, a Wiki is available for Gtk#, and can be found at: - - http://www.nullenvoid.com/gtksharp/wiki/ - Also, people can get help with and discuss Gtk# on IRC via the - #mono channel on the irc.gnome.org IRC server. + #gtk# or #mono channels on the irc.gnome.org IRC server. People looking for general help with C# should visit the #c# channel on irc.freenode.net IRC server. @@ -72,10 +67,7 @@ Developers: For developers wishing to "get started" with Gtk#, they are encouraged to read the Mono Hand Book: - http://www.go-mono.com/tutorial - - In the Mono Hand Book, Chapter 21 is on Gtk#. (In the Mono Hand Book, - the Gtk# .NET bindings are refered to as GNOME.NET.) + http://www.mono-project.com/Monkeyguide Hackers: @@ -85,4 +77,4 @@ Hackers: read the file named: HACKING. Also, anyone wishing to hack Gtk# is encouraged to join the Gtk# - mailing list. And to visit the #mono IRC channel (on irc.gnome.org). + mailing list. And to visit the #gtk# IRC channel (on irc.gnome.org). diff --git a/sources/README b/sources/README index 79d3f3dfc..ae4672b31 100644 --- a/sources/README +++ b/sources/README @@ -1,50 +1,26 @@ 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 api - - 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 api - - - 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 + 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#. + 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 api" 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.) + is set up) are the various '*-api.raw' XML files that you find in the + corresponding directories. Those XML files will then be used to generate + the C# code. And then that C# code is used to create the various .DLL + files. + + Please refer to http://www.mono-project.com/GAPI for a more complete and + up-to-date guide to this process. WHAT'S REQUIRED @@ -52,63 +28,32 @@ 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: + bindings for). And then do a little configuring. The current + list of libraries that Gtk# supports is in the sources.xml and Makefile.am + files. - pango-1.4.0 - atk-1.6.0 - gtk+-2.4.1 - libgnome-2.6.0 - libgnomecanvas-2.6.0 - libgnomeui-2.6.0 - libgnomeprint-2.6.0 - libgnomeprintui-2.6.0 - gtkhtml-3.0.10 files: gtkhtml.[ch], gtkhtml-types.h, - gtkhtml-enums.h, gtkhtml-stream.[ch] - libglade-2.3.6 - libart_lgpl-2.3.16 - librsvg-2.6.4 - gnome-vfs-2.6.0 - gnome-panel-2.6.0 + If you create a new binding that is part of Gtk#, be sure to add it to this + list. - (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.) + 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. + 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. + Download and unpack the source code manually. 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 sets everything + up for you.) - (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 api - - ...to create the new updated XML file(s) that will be placed in the "api" - directory. - - + For more information, please refer to http://www.mono-project.com/GAPI