blob: 24aa3db7927d8d97ca7c2c0b06947dcd17027f13 [file] [log] [blame]
The libnih source tree is available using Bazaar-NG with the
following URL, if you plan to hack on libnih please work off this
branch.
http://www.netsplit.com/bzr/libnih/
Releases are available from the FTP site:
ftp://ftp.netsplit.com/pub/libnih/
libnih uses the Malone bug tracking system:
http://launchpad.net/products/libnih/+bugs
If you want to contribute code or bug fixes, please either provide the
URL to your own Bazaar-NG branch or use the unified diff format
(diff -pu) and attach the patch to a bug. Please supply a suggested
ChangeLog entry with your patch.
Maintainer tools
----------------
The source tree for libnih uses the GNU Build System (sometimes known
as the GNU Autotools). You will need the following versions
installed.
* GNU Autoconf 2.59
* GNU Automake 1.9
* GNU Libtool 1.5.22
* GNU Gettext 0.14.5
After checking out libnih from Bazaar-NG you will need to use these
tools to generate the build files. The correct way to do this is to
simply run autoreconf -i from the top-level source directory.
Configure options
-----------------
There are some configure script options that you may find useful when
hacking on libnih.
* --enable-compiler-warnings: (GCC only) adds extra CFLAGS to
increase the source checking and treat all warnings as errors.
* --disable-compiler-optimisations: ensures that no compiler
optimisations are performed during compilation, easing
debugging.
* --disable-linker-optimisations: disables the usual linker
optimisations, slightly decreasing build time.
* --enable-compiler-coverage: (GCC only) enables coverage file
generation, useful for test suites.
Coding style
------------
The coding style for libnih is roughly K&R with function names in
column 0, and variable names aligned in declarations.
The right results can be almost acheived by doing the following.
* GNU Emacs: if you're not using auto-newline, the following
should do the right thing:
(defun libnih-c-mode-common-hook ()
(c-set-style "k&r")
(setq indent-tabs-mode t
c-basic-offset 8))
* VIM: the default works except for the case labels in switch
statements. Set the following option to fix that:
setlocal cinoptions=:0
* Indent: can be used to reformat code in a different style:
indent -kr -i8 -psl