7
7
- ftp://ftp.gnu.org/gnu/autoconf/
8
* GNU automake 1.8 or newer
8
* GNU automake 1.9 (automake 1.8 should also work)
9
9
- ftp://ftp.gnu.org/gnu/automake/
10
* GNU libtool 1.4 (1.5 if you are compiling on Win32)
10
* GNU libtool 1.4 (libtool 1.5 if you are compiling on Win32)
11
11
- ftp://ftp.gnu.org/gnu/libtool/
13
13
Fine GNU mirrors are listed at http://www.gnu.org/prep/ftp.html
14
14
Beta software can be found at alpha.gnu.org.
16
* pkg-config 0.7.0 (or preferably a newer version)
16
* pkg-config 0.15.0 (or preferably a newer version)
17
17
- http://www.freedesktop.org/software/pkgconfig/
19
19
* intltoolize 0.31.1 (or preferably a newer version)
26
26
- ftp://ftp.gnome.org/pub/GNOME/sources/libxslt/1.1/
28
28
These are only the additional requirements if you want to compile from
29
CVS. The file INSTALL lists the various libraries we depend on.
29
the Subversion repository. The file INSTALL lists the various libraries
34
If you are accessing gimp via CVS, then you will need to take several
35
steps to get it to compile. You can do all these steps at once
35
If you are accessing gimp via Subversion, then you will need to take
36
several steps to get it to compile. You can do all these steps at once
38
cvsroot/gimp$ ./autogen.sh
39
gimp/trunk$ ./autogen.sh
40
41
Basically this does the following for you:
42
cvsroot/gimp$ aclocal-1.9; libtoolize; automake-1.9 -a;
43
cvsroot/gimp$ autoconf; glib-gettextize; intltoolize
43
gimp/trunk$ aclocal-1.9; libtoolize; automake-1.9 -a;
44
gimp/trunk$ autoconf; glib-gettextize; intltoolize
45
46
The above commands create the "configure" script. Now you can run the
46
configure script in cvsroot/gimp to create all the Makefiles.
47
configure script in gimp/trunk to create all the Makefiles.
48
49
Before running autogen.sh or configure, make sure you have libtool in
49
50
your path. Also make sure glib-2.0.m4 glib-gettext.m4, gtk-2.0.m4,
69
70
the API documentation.
74
GIMP is available from GNOME CVS. You can also grab glib, pango, atk,
75
gtk+, libart, gtkhtml2 as well as intltool and gtk-doc from the same
76
CVS server. You can use the following commands to get them from the
79
$ export CVSROOT=':pserver:anonymous@anoncvs.gimp.org:/cvs/gnome'
81
(there is no password, just hit return)
82
$ cvs -z3 checkout [-r <branch>] <module>
75
GIMP is available from GNOME Subversion. You can also grab glib, pango,
76
atk, gtk+, libart, gtkhtml2 as well as intltool and gtk-doc from the
77
same Subversion server. You can use the following commands to get them
78
from the anonymous Subversion server:
80
For getting the trunk, use:
82
$ svn co http://svn.gnome.org/svn/<module>/trunk <module>
84
For getting a branch, use:
86
$ svn co http://svn.gnome.org/svn/<module>/branches/<branch> <module>
84
89
The interesting modules and the suggested stable branches to use are:
101
You can read more on using GNOME's Subversion service at these URLs:
103
http://developer.gnome.org/tools/svn.html
104
http://svnbook.red-bean.com/
99
Please submit patches to the gimp-developer@lists.xcf.berkeley.edu
100
mailing list. It's also a good idea to file a bug-report at
101
http://bugzilla.gnome.org/ and attach your patch to it. All kinds
102
of contributions are appreciated.
110
The best way to submit patches is to file a bug report at
111
http://bugzilla.gnome.org/ and attach your patch to it as a plain text
112
file, not compressed. If your patch is reasonably small you can submit
113
it to the gimp-developer@lists.xcf.berkeley.edu mailing list. If the
114
patch needs to be discussed, you should also consider using the
115
mailing list instead of Bugzilla because bug reports tend to be hard
116
to read if they contain too many comments. For the code, please try to
117
follow the guidelines given in Hackordnung, below. You can create the
118
patch file with "svn diff", preferably in an annotated patch format.
119
This can be achieved with ~/.subversion/config containing a custom
120
diff command in the [helpers] section:
123
diff-cmd = /usr/local/bin/_svndiff
125
And create an executable script in /usr/local/bin/_svndiff with the
129
/usr/bin/diff -up --label "${3}" ${6} --label "${5}" ${7}
107
134
Please notice that some files in the source are generated from other
108
sources. All those files have a short notice about being autogenerated
135
sources. All those files have a short notice about being generated
109
136
somewhere at the top. Among them are the files ending in _pdb.[ch] in
110
137
the libgimp directory and the files ending in _cmds.c in the app/pdb
111
138
subdirectory. Those are generated from the respective .pdb files in
112
tools/pdbgen/pdb. The list of contributors is used in several files
113
which are for that reason generated from the file contributors in
135
160
* Indentation rules are GNU coding style, in particular:
136
161
- 2 characters indentation level
137
- Do not use tabs (of course your editor can use tabs, but it
138
should write them to file as 8 spaces each).
139
- Opening brackets are on a new line and indented one level.
162
- Do not use tabs (of course your editor can accept the TAB key
163
as a command, typically to indent the current line properly
164
or to add spaces at the cursor until the next multiple of 8
165
columns, but it should not put TAB characters in the file).
166
- When editing files that still have TABs in them, make sure your
167
editor interprets the TABs correctly, that is, has tab stops
168
at 8 column intervals.
169
- Opening braces are on a new line and indented one level.
140
170
- Function header have the return type on one line, the name
141
171
starting in the first column of the following line. All
142
172
parameters are prototyped and there's a new line for each.