If you want to hack on the GTK+ project, you'll need to have the following packages installed: - GNU autoconf 2.62 - GNU automake 1.11 - GNU libtool 2.2 - 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://library.gnome.org/devel/ Information about using git with GNOME can be found here: http://live.gnome.org/Git In order to get GIT GTK+ installed on your system, you need to have the most recent GIT 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 GIT to get the latest development version of gtk+ and glib. You can do the following to get glib and gtk+ from GIT: $ git clone git://git.gnome.org/glib $ git clone git://git.gnome.org/pango $ git clone git://git.gnome.org/atk $ git clone git://git.gnome.org/gtk+ Note: if you plan to push changes to back to the master repository and have a gnome account, you want to use the following instead: $ git clone ssh://@git.gnome.org/git/gtk+ To compile the GIT 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 pushing changes to GIT, see the `README' and `README.commits' files. In particular, don't, under any circumstances, push anything to GIT before reading and understanding `README.commmits'.