diff options
Diffstat (limited to 'doc/developer.xml')
-rw-r--r-- | doc/developer.xml | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/doc/developer.xml b/doc/developer.xml index 729e6a513..aa3cc62c0 100644 --- a/doc/developer.xml +++ b/doc/developer.xml @@ -10,7 +10,7 @@ <para> This is a guide for those who wish to hack on the MPD source code. MPD is an open project, and we are always happy about - contributions. So far, more than 50 people have contributed + contributions. So far, more than 150 people have contributed patches. </para> @@ -155,7 +155,53 @@ foo(const char *abc, int xyz) <para> Send your patches to the mailing list: - mpd-devel@musicpd.org + <email>mpd-devel@musicpd.org</email> (<ulink + url="http://mailman.blarg.de/listinfo/mpd-devel">subscribe + here</ulink>) </para> + + <para> + <command>git pull</command> requests are preferred. Regular + contributors can get <ulink + url="http://git.musicpd.org/account-policy.html">an account on + git.musicpd.org</ulink>, but any public git repository will do. + </para> + </chapter> + + <chapter> + <title>Development Tools</title> + + <section> + <title>Clang Static Analyzer</title> + + <para> + The <ulink url="http://clang-analyzer.llvm.org/">clang static + analyzer</ulink> is a tool that helps find bugs. To run it on + the MPD code base, install LLVM and clang. Configure MPD to + use clang: + </para> + + <programlisting>./configure --enable-debug CXX=clang++ CC=clang ...</programlisting> + + <para> + It is recommended to use <option>--enable-debug</option>, + because the analyzer takes advantage of + <function>assert()</function> calls, which are only enabled in + the debug build. + </para> + + <para> + Now run the analyzer: + </para> + + <programlisting>scan-build --use-c++=clang++ --use-cc=clang make</programlisting> + + <para> + The options <option>--use-c++</option> and + <option>--use-cc</option> are necessary because it invokes + <command>cc</command> for actually compiling the sources by + default. That breaks, because MPD requires a C99 compiler. + </para> + </section> </chapter> </book> |