HACKING: Use different heading synatx
[libjaylink.git] / HACKING
blob22ab8a4d8860cc44ff3e42844da04798a65e9469
1 # Hacking
3 This document describes how to start hacking on the libjaylink project.
4 Make sure you read through the README.md file before continuing.
7 ## Coding style
9 This project uses the Linux kernel coding style where appropiate, see
10 <https://www.kernel.org/doc/Documentation/CodingStyle> for details.
12 Amendments to the Linux kernel coding style:
14  - Do not use goto statements.
15  - Always declare variables at the beginng of a function.
16  - Do not assign values to variables at declaration time.
19 ## Contributions
21 The following ways can be used to submit a contribution to the libjaylink
22 project:
24  - Send patches generated with `git format-patch`.
25  - Push your changes to a public Git repository and send the URL where to pull
26    them from.
28 In any case, send directly to <dev@zapb.de>.
29 Before submitting, please consider the following:
31  - Every single patch must be compilable.
32  - Your contribution must work on all operating systems supported by
33    libjaylink.
34  - Develop your contribution against the current Git master branch.
35  - Check your contribution for memory leaks and similar errors by using
36    *valgrind*.
39 ## Bug reports
41 Send bug reports directly to <dev@zapb.de>.
42 Please try to include all of the following information in your report:
44  - Instructions to reproduce the bug (e.g., command-line invocations)
45  - Debug log output of libjaylink
46  - Information about your environment:
47    - Version of libjaylink
48    - Debug hardware, including hardware and firmware version (e.g.,
49      J-Link Ultra V4 compiled Sep  4 2015 18:12:49)
50    - Operating system (e.g., Debian GNU/Linux 8.4)
51  - Backtraces if the application using libjaylink is crashing.
53 If the bug report is for a regression, additionally include the information
54 above about the working version where appropiate.
56 Please develop and attach a patch that solves the reported bug, if possible.
57 See the guidelines for contributions above.
60 ## Random notes
62  - Always use `log_err()`, `log_warn()`, `log_info()` and `log_dbg()` to output
63    messages. Never use `printf()` or similar functions directly.