mirror of git://git.sysmocom.de/ofono
Add development/hacking documentation
This commit is contained in:
parent
50ff91e209
commit
f8610c6758
|
@ -0,0 +1,83 @@
|
|||
Hacking on oFono
|
||||
****************
|
||||
|
||||
|
||||
Build tools requirements
|
||||
========================
|
||||
|
||||
When building and testing directly from the repository it is important to
|
||||
have at least automake version 1.10 or later installed. All modern
|
||||
distributions should default to the latest version, but it seems that
|
||||
Debian's default is still an earlier version:
|
||||
|
||||
Check version
|
||||
# dpkg -l '*automake*'
|
||||
|
||||
Install new version
|
||||
# apt-get install automake1.10
|
||||
# update-alternatives --config automake
|
||||
|
||||
|
||||
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.kernel.org/pub/scm/network/ofono/ofono.git
|
||||
# cd ofono
|
||||
|
||||
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
|
||||
|
||||
|
||||
Running from within the source code repository
|
||||
==============================================
|
||||
|
||||
When using "./configure --enable-maintainer-mode" the automake scripts will
|
||||
use the plugins directly from within the repository. This removes the need
|
||||
to use "make install" when testing "ofonod". The "bootstrap-configure"
|
||||
automatically includes this option.
|
||||
|
||||
Run daemon in foreground with debugging
|
||||
# sudo ./src/ofonod -n -d
|
||||
|
||||
For production installations or distribution packaging it is important that
|
||||
the "--enable-maintainer-mode" option is NOT used.
|
Loading…
Reference in New Issue