parent
516e52c67b
commit
3483c891dc
|
@ -39,6 +39,7 @@ tags
|
|||
doc/protocol.html
|
||||
doc/protocol
|
||||
doc/user
|
||||
doc/developer
|
||||
doc/sticker
|
||||
doc/api
|
||||
test/software_volume
|
||||
|
|
|
@ -720,7 +720,7 @@ endif
|
|||
man_MANS = doc/mpd.1 doc/mpd.conf.5
|
||||
doc_DATA = AUTHORS COPYING NEWS README UPGRADING doc/mpdconf.example
|
||||
|
||||
DOCBOOK_FILES = doc/protocol.xml doc/user.xml doc/sticker.xml
|
||||
DOCBOOK_FILES = doc/protocol.xml doc/user.xml doc/developer.xml doc/sticker.xml
|
||||
|
||||
if ENABLE_DOCUMENTATION
|
||||
protocoldir = $(docdir)/protocol
|
||||
|
@ -729,6 +729,9 @@ protocol_DATA = $(wildcard doc/protocol/*.html)
|
|||
userdir = $(docdir)/user
|
||||
user_DATA = $(wildcard doc/user/*.html)
|
||||
|
||||
developerdir = $(docdir)/developer
|
||||
developer_DATA = $(wildcard doc/developer/*.html)
|
||||
|
||||
if HAVE_XMLTO
|
||||
|
||||
DOCBOOK_HTML = $(patsubst %.xml,%/index.html,$(DOCBOOK_FILES))
|
||||
|
@ -762,6 +765,7 @@ upload: $(DOCBOOK_HTML) doc/api/html/index.html
|
|||
--chmod=Dug+rwx,Do+rx,Fug+rw,Fo+r \
|
||||
--include=protocol --include=protocol/** \
|
||||
--include=user --include=user/** \
|
||||
--include=developer --include=developer/** \
|
||||
--include=api --include=api/** \
|
||||
--exclude=*
|
||||
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
<?xml version='1.0' encoding="utf-8"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"docbook/dtd/xml/4.2/docbookx.dtd">
|
||||
<book>
|
||||
<title>The Music Player Daemon - Developer's Manual</title>
|
||||
|
||||
<chapter>
|
||||
<title>Introduction</title>
|
||||
|
||||
<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
|
||||
patches.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This document is work in progress. Most of it may be incomplete
|
||||
yet. Please help!
|
||||
</para>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>Code Style</title>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
indent with tabs (width 8)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
don't write CPP when you can write C: use inline functions
|
||||
and enums instead of macros
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
the code should be C99 compliant, and must compile with
|
||||
<application>GCC</application>;
|
||||
<application>clang</application> support is highly desirable
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
C++ is ok (for integrating C++ only libraries), but it
|
||||
should be avoided
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Some example code:
|
||||
</para>
|
||||
|
||||
<programlisting lang="C">static inline bool
|
||||
foo(const char *abc, int xyz)
|
||||
{
|
||||
if (abc == NULL) {
|
||||
g_warning("Foo happened!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
return xyz;
|
||||
}
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>Hacking The Source</title>
|
||||
|
||||
<para>
|
||||
Always write your code against the latest git:
|
||||
</para>
|
||||
|
||||
<programlisting>git clone git://git.musicpd.org/master/mpd.git</programlisting>
|
||||
|
||||
<para>
|
||||
Configure with the options <option>--enable-debug
|
||||
--enable-werror</option>. Enable as many plugins as possible,
|
||||
to be sure that you don't break any disabled code.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Don't mix several changes in one single patch. Create a
|
||||
separate patch for every change. Tools like
|
||||
<application>stgit</application> help you with that.
|
||||
</para>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>Submitting Patches</title>
|
||||
|
||||
<para>
|
||||
Send your patches to the mailing list:
|
||||
musicpd-dev-team@lists.sourceforge.net
|
||||
</para>
|
||||
</chapter>
|
||||
</book>
|
Loading…
Reference in New Issue