summaryrefslogtreecommitdiff
path: root/HACKING
blob: ad7927b89f1493979480a74dfef96b370a6ac0d1 (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
60
61
62
63
64
65
66
67
68
69
Requirements
------------

To compile telepathy-idle from git, you need:

- GNU autoconf
- GNU automake
- GNU libtool
- pkg-config
- xsltproc
- python

additionally, as when compiling a idle release, you need these libraries:

- libglib-2.0
- libdbus
- libdbus-glib
- libtelepathy-glib

and obviously, a working C compiler and make.

Compilation
-----------

Run autogen.sh in the telepathy-idle source root to create and run the
"configure" script, which creates necessary Makefiles for compiling
and installing telepathy-idle. Finally, run make.

Version control
---------------

telepathy-idle is maintained in a Git repository at

http://cgit.freedesktop.org/telepathy/telepathy-idle

Patches
-------

Patches for telepathy-idle are welcome. The recommended way to submit them is to
file a bug at

https://bugs.freedesktop.org

with the product "Telepathy" and component "idle". Use "git format-patch", and
attach the patch files it spits out; or include the URL to a Git branch.

Coding style
------------

All patches for telepathy-idle should follow a coding style defined as follows:

- Function names are lower_case, words separated by underscores
- Type names are CamelCase, with no additional word separators
- Macro names are ALL_UPPER_CASE, words separated by underscores
- Indent with a single tab per indentation level
- Control keywords (if, for, while, switch) have a single space between them and
the opening paren
- Function calls have no space between the function name and the opening paren
- Opening braces on the same line
- Public interface functions of classes should be namespaced properly (ie.
    IdleConnection::send() -> idle_connection_send())
- Don't hard-break lines, but break very long lines at logical breakpoints using
common sense.
- Follow the usual GLib conventions regarding eg. GError usage.

Idle trunk code should more or less follow these rules, but due to historical
reasons some inconsistency in formatting might have survived. All new code
should be written in this way though.