summaryrefslogtreecommitdiff
path: root/HACKING
blob: 4a3ea44d36c5d8b4b8f4c95962a00dfabac6d1e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
If you want to hack on the GTK+ project, you'll need to have
the following packages installed:

        - 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

These should be available by ftp from ftp.gnu.org or any of the
fine GNU mirrors.  Beta software can be found at alpha.gnu.org.

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.
The installation process of these libraries is similar to that of gtk+, but
needs to be fulfilled prior to installation of gtk+.

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
several steps to setup the tree for compilation.  You can do all these
steps at once by running:

        gtk+$ ./autogen.sh
   
Basically this does the following for you:

        gtk+$ aclocal; automake; autoconf

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'.

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

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

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