HACKING 1.92 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
	- GNU autoconf 2.52
5
	- GNU automake 1.4
6
	- GNU libtool 1.4
7
	- indent (GNU indent 1.9.1 is known good)
8
	- 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
In order to get CVS gtk+ installed on your system, you need to have
14 15
the most recent CVS version of glib, pango, and atk installed as well.
The installation process of these libraries is similar to that of gtk+, but
16 17 18 19 20
needs to be fulfilled prior to installation of gtk+.

To compile a CVS 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:
21

22 23 24 25 26
        cvsroot/gtk+# ./autogen.sh
   
Basically this does the following for you:

  	cvsroot/gtk+# aclocal; automake; autoconf
27

28 29
        The above commands create the "configure" script.  Now you
	can run the configure script in cvsroot/gtk+ to create all
30
	the Makefiles.
31 32 33 34 35 36 37 38 39

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.

If at all possible, please use CVS to get the latest development version of
40
gtk+ and glib.  You can do the following to get glib and gtk+ from cvs:
41

42
   $ export CVSROOT=':pserver:anonymous@cvs.gnome.org:/cvs/gnome'
43 44
   $ cvs login
     (there is no password, just hit return)
45
   $ cvs -z3 checkout glib
46 47
   $ cvs -z3 checkout pango
   $ cvs -z3 checkout atk
48 49 50 51 52 53 54
   $ cvs -z3 checkout gtk+

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

55