Some Pending cosmetics and small fixes
[nobug.git] / doc / buildinstall.txt
bloba32f3283ebb56743650b303709bbe6dd16042f9d
1 HEAD- Building and Installing;;
3 HEAD++ Supported Platforms;;
5 NoBug has been developed on linux, using gcc. It should be possible to port
6 it to any other POSIX compliant operating system. Platform/compiler
7 specific things are kept optional. Currently Linux with a gcc that conforms to
8 C99 is supported for both 32 and 64 bit architectures.
10 [grid="all"]
11 `-------`---------------`---------------`--------------------------------------
12 CPU     OS              State           Notes
13 -------------------------------------------------------------------------------
14 x86_64  Debian          supported       Reference Platform
15 x86     other Linux     supported       Please report distro specific problems
16 armel   maemo5          supported       check fails in SDK (emulator bug)
17 x86*    MacOS X         supported
18 x86     OpenSolaris     mostly          Builds, but target check fails
19         *BSD            planned         Need volunteer for testing
20 -------------------------------------------------------------------------------
22 NoBug has few mandatory dependencies on other software and libraries,
23 some things such as valgrind support are optional and should be automatially
24 detected during the build, i.e., when ./configure is called. Nevertheless it
25 requires 'pkg-config' to be installed, you get some weird errors already at
26 bootstrapping (autoreconf) when this is not available.
29 HEAD== Release Tarballs;;
31 Releases are available on:
32   http://www.pipapo.org/nobug-releases/
34 Gpg signed tarballs are being used for distribution. The first step involves
35 checking the signature:
37  $ gpg nobug-VERSION.tar.gz.gpg
39 This will produce a nobug-VERSION.tar.gz and report if the signature could be
40 validated.
42 Since they are built with gnu autotools, the usual build and install procedure
43 will work:
45  $ tar xzvf nobug-VERSION.tar.gz
46  $ cd nobug-VERSION
47  $ mkdir -p build
48  $ cd build
49  $ ../configure
50  $ make
51  $ make check           # optional, run the testsuite
52  $ make install         # depending on distribution and setup, do this as root
55 HEAD== Development Version via git;;
56 You can obtain a development version by using git.  The git repository can be
57 cloned via:
58 `git://git.pipapo.org/nobug` or mirrored at repo.or.cz
59 `git://repo.or.cz/nobug.git`.
61 Clone the git repository by:
63  $ git clone git://git.pipapo.org/nobug
65 After cloning the repository, then bootstrap the autotools:
67  $ cd nobug
68  $ autoreconf -i                # creates the configure file
70 Then the usual `cd build && ../configure && make && make install` (as above) will work.
71 Careful users may run `make check` to run a testsuite before installing.
74 HEAD++ Keeping Git Up To Date;;
76 To update to any new revision, just enter the nobug dir and
78  $ git pull
80 After that you can build as above (cd build && ../configure && make && make install).
81 This default pull will update from the 'master' branch which is meant to be an on-going
82 stable version (latest release + bugfixes).
84 HEAD-- What Is Installed;;
86 Currently, NoBug installs the following:
88   * A single nobug.h headerfile. Include this in your code.
89   * Static libraries. Statically link these to your application:
90     - `libnobug.a` for singlethreaded programs.
91     - `libnobugmt.a` for multithreaded programs.
92   * Dynamic Libraries. Dynamically link these to your application:
93     - `libnobug.so` for singlethreaded programs.
94     - `libnobugmt.so` for multithreaded programs.
95     - associated libtool descriptors (`libnobug*.la`)
96   * Pkgconfig control files:
97     - `nobug.pc` for singlethreaded programs.
98     - `nobugmt.pc` for multithreaded programs.
99   * The `nobug_rbdump` utility to inspect NoBug ringbuffers.
102 PARA Generating This Documentation;;
104 There are Makefile targets for generating the documentation, Either one of the
105 following does what you may expect:
107  $ make nobug_manual.txt nobug_manual.html nobug_manual.pdf
109 building the documentation has quite some more dependencies than building
110 NoBug itself. Unless you are a packager you may want to refer to the online
111 doc or the shipped 'README' which is actually this full nobug manual.
112 Generating the documentation requires: gawk, asciidoc, graphviz and some
113 toolchains to further process docbook (dblatex, ...).