HACKING 2.23 KB
Newer Older
1 2
If you want to hack on the GTK+ project, you'll need to have
the following packages installed:
3

4 5 6 7 8
        - GNU autoconf 2.54
        - GNU automake 1.7
        - GNU libtool 1.4
        - indent (GNU indent 1.9.1 is known good)
        - GNU gettext 10.40
9

Owen Taylor's avatar
Owen Taylor committed
10
These should be available by ftp from ftp.gnu.org or any of the
11 12
fine GNU mirrors.  Beta software can be found at alpha.gnu.org.

13 14 15 16 17 18 19 20 21 22 23
Up-to-date instructions about developing GNOME applications and libraries
can be found here:

        http://developer.gnome.org

including information about using Subversion with GNOME:

        http://developer.gnome.org/tools/svn.html

In order to get SVN gtk+ installed on your system, you need to have
the most recent SVN versions of glib, pango, and atk installed as well.
24
The installation process of these libraries is similar to that of gtk+, but
25 26
needs to be fulfilled prior to installation of gtk+.

27 28 29 30 31 32 33 34 35
If at all possible, please use SVN to get the latest development version of
gtk+ and glib.  You can do the following to get glib and gtk+ from SVN:

        $ svn checkout http://svn.gnome.org/svn/glib/trunk glib
        $ svn checkout http://svn.gnome.org/svn/pango/trunk pango
        $ svn checkout http://svn.gnome.org/svn/atk/trunk atk
        $ svn checkout http://svn.gnome.org/svn/gtk+/trunk gtk+

To compile the SVN version of gtk+ on your system, you will need to take
36 37
several steps to setup the tree for compilation.  You can do all these
steps at once by running:
38

39
        gtk+$ ./autogen.sh
40 41 42
   
Basically this does the following for you:

43
        gtk+$ aclocal; automake; autoconf
44

45 46 47
The above commands create the `configure' script.  Now you
run the `configure' script in `gtk+/' to create all Makefiles.  
More information about that in `INSTALL'.
48

49
Before running `autogen.sh' or `configure', make sure you have libtool 
50 51 52
in your path.  

Note that autogen.sh runs configure for you.  If you wish to pass
53 54
options like `--prefix=/usr' to `configure' you can give those options
to `autogen.sh' and they will be passed on to `configure'.
55

56
For information about submitting patches and committing changes
57
to SVN, see the `README' and `README.commits' files. In particular, 
58
don't, under any circumstances, commit anything to SVN before
59
reading and understanding `README.commmits'.