diff options
-rw-r--r-- | HACKING | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/HACKING b/HACKING new file mode 100644 index 00000000..9e0adec2 --- /dev/null +++ b/HACKING @@ -0,0 +1,83 @@ +Hacking on Connection Manager +***************************** + + +Working with the source code repository +======================================= + +The repository contains two extra scripts that accomplish the bootstrap +process. One is called "bootstrap" which is the basic scripts that uses the +autotools scripts to create the needed files for building and installing. +It makes sure to call the right programs depending on the usage of shared or +static libraries or translations etc. + +The second program is called "bootstrap-configure". This program will make +sure to properly clean the repository, call the "bootstrap" script and then +call configure with proper settings for development. It will use the best +options and pass them over to configure. These options normally include +the enabling the maintainer mode and the debugging features. + +So while in a normal source project the call "./configure ..." is used to +configure the project with its settings like prefix and extra options. In +case of bare repositories call "./bootstrap-configure" and it will bootstrap +the repository and calls configure with all the correct options to make +development easier. + +In case of preparing for a release with "make distcheck", don't use +bootstrap-configure since it could export development specific settings. + +So the normal steps to checkout, build and install such a repository is +like this: + + Checkout repository + # git-clone git://git.moblin.org/projects/connman.git + # cd connman + + Configure and build + # ./bootstrap-configure + # make + + Check installation + # make install DESTDIR=$PWD/x + # find x + # rm -rf x + + Check distribution + # make distcheck + + Final installation + # sudo make install + + Remove autogenerated files + # make maintainer-clean + + +Generating source code documentation +==================================== + +The source code is annotated using the gtk-doc style documentation. This +allows an easy way of generating API documentation. The "bootstrap-configure" +script will use the "--enable-gtk-doc" configure to enable the generation of +the documentation. + +To make the gtk-doc process work, the gtk-doc tools need to be installed. +Every distribution should provide a package for this, but the naming of the +package might be different: + + Ubuntu/Debian + # apt-get install gtk-doc-utils + + Fedora + # yum install gtk-doc + +In case "bootstrap-configure" is not used, the manual steps for generating +the documentation files are like this: + + Configuring the repository + # ./configure --enable-gtk-doc + + Generate the documentation + # cd doc && make + + View documentation + # firefox doc/html/index.html |