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. For non-GCC compilers,
9 some features are not available or degraded.
11 [frame="topbot",options="header", cols="<,<,<,<"]
12 |=================================================================================
13 |CPU |OS |Compiler |State
14 |x86_64 |Debian |gcc4 |supported footnote:[Reference Platform]
15 |x86 |other Linux |gcc4 |supported footnote:[Please report distro specific problems]
16 |armel |maemo5 |gcc4 |supported footnote:[check fails in SDK (emulator bug)]
17 |x86* |Mac OS X |gcc4 |supported
18 |x86 |OpenSolaris |gcc4 |supported
19 |x86 |OpenSolaris |suncc |mostly footnote:[some features are not
20 available, needs more testing]
21 | |*BSD | |planned footnote:[Need volunteer for testing]
22 |=================================================================================
24 NoBug has few mandatory dependencies on other software and libraries,
25 some things such as valgrind support are optional and should be automatially
26 detected by `./configure`. Nevertheless it
27 requires 'pkg-config' to be installed or you'll get some weird errors at
28 bootstrapping (`autoreconf`) already.
31 HEAD== Release Tarballs;;
33 Releases are available at:
34 http://www.pipapo.org/nobug-releases/[]
36 Gpg signed tarballs are being used for distribution. The first step involves
37 checking the signature:
39 $ gpg nobug-VERSION.tar.gz.gpg
41 This will produce a nobug-VERSION.tar.gz and report if the signature could be
44 Since they are built with GNU Autotools, the usual build and install procedure
47 $ tar xzvf nobug-VERSION.tar.gz
53 $ make check # optional, runs the testsuite
54 $ make install # to be done as root,
55 # depending on distribution and setup
58 HEAD== Development Version via Git;;
60 You can obtain a development version using Git. The Git repository can be
61 cloned from `git://git.pipapo.org/nobug`.
63 Clone the Git repository with:
65 $ git clone git://git.pipapo.org/nobug
67 After cloning the repository, then bootstrap the Autotools:
70 $ autoreconf -i # creates the configure file
74 $ cd build && ../configure && make && make install
76 (as above) will work. Careful users may run
80 to run a testsuite before installing.
83 HEAD++ Keeping Git Up To Date;;
85 To update to any new revision, just enter the nobug dir and
89 After that you can build as above
91 $ cd build && ../configure && make && make install
93 This default pull will update from the 'master' branch which is meant to be an on-going
94 stable version (latest release and bugfixes).
96 HEAD-- What Is Installed;;
98 Currently, NoBug installs the following:
100 * A single nobug.h headerfile. Include this in your code.
101 * Static libraries. Statically link these to your application:
102 - `libnobug.a` for singlethreaded programs.
103 - `libnobugmt.a` for multithreaded programs.
104 * Dynamic Libraries. Dynamically link these to your application:
105 - `libnobug.so` for singlethreaded programs.
106 - `libnobugmt.so` for multithreaded programs.
107 - associated libtool descriptors (`libnobug*.la`)
108 * Pkgconfig control files:
109 - `nobug.pc` for singlethreaded programs.
110 - `nobugmt.pc` for multithreaded programs.
111 * The `nobug_rbdump` utility to inspect NoBug ringbuffers.
114 HEAD== Generating This Documentation;;
116 There are Makefile targets for generating the documentation, either one of the
117 following does what you might expect:
119 $ make nobug_manual.txt nobug_manual.html nobug_manual.pdf
121 Alternatively, you can generate all the documentation in one go as follows:
125 Building the documentation has quite some more dependencies than building
126 NoBug itself. Unless you are a packager you may prefer to refer to the online
127 documentation or the shipped 'README' which is the complete NoBug reference
128 manual in text form. Generating the documentation requires: gawk, asciidoc,
129 graphviz and LaTeX. Check the `[header]` section of doc/latex.conf for required