update the compatibility table
[nobug.git] / doc / buildinstall.txt
blob9485039ce220868198520a35a087d6fda808043b
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. Most platform
7 specific things are kept optional, but some things need to be
8 rewritten for the target platform. Currently Linux with a gcc that conforms to
9 C99 is supported for both 32 and 64 bit architectures.
10 One gcc extentsion that is used (token pasting of varadic macros) may prevent
11 portability to other compilers as some compilers don't support such extensions.
13 [grid="all"]
14 `-------`---------------`---------------`--------------------------------------
15 CPU     OS              State           Notes
16 -------------------------------------------------------------------------------
17 x86_64  Debian          supported       Reference Platform
18 x86     other Linux     supported       Please report distro specific problems
19 armel   maemo5          supported       check fails in SDK (emulator bug)
20 x86*    MacOS X         should work     Please test
21 x86     OpenSolaris     mostly          Builds, but target check fails
22         *BSD            planned         Need volunteer for testing
23 -------------------------------------------------------------------------------
25 NoBug has no mandatory dependencies on other software and libraries,
26 some things such as valgrind support are optional and should be automatially
27 detected during the build, i.e., when ./configure is called.
30 HEAD== Release Tarballs;;
32 Releases are available on:
33   http://www.pipapo.org/nobug-releases/
35 Gpg signed tarballs are being used for distribution. The first step involves
36 checking the signature:
38  $ gpg nobug-VERSION.tar.gz.gpg
40 This will produce a nobug-VERSION.tar.gz and report if the signature could be
41 validated.
43 Since they are built with gnu autotools, the usual build and install procedure
44 will work:
46  $ tar xzvf nobug-VERSION.tar.gz
47  $ cd nobug-VERSION
48  $ mkdir -p build
49  $ cd build
50  $ ../configure
51  $ make
52  $ make check           # optional, run the testsuite
53  $ make install         # depending on distribution and setup, do this as root
56 HEAD== Development Version via git;;
57 You can obtain a development version by using git.  The git repository can be
58 cloned via:
59 `git://git.pipapo.org/nobug` or mirrored at repo.or.cz
60 `git://repo.or.cz/nobug.git`.
62 Clone the git repository by:
64  $ git clone git://git.pipapo.org/nobug
66 After cloning the repository, then bootstrap the autotools:
68  $ cd nobug
69  $ autoreconf -i                # creates the configure file
71 Then the usual `cd build && ../configure && make && make install` (as above) will work.
72 Careful users may run `make check` to run a testsuite before installing.
75 HEAD++ Keeping Git Up To Date;;
77 To update to any new revision, just enter the nobug dir and
79  $ git pull
81 After that you can build as above (cd build && ../configure && make && make install).
82 This default pull will update from the 'master' branch which is meant to be an on-going
83 stable version (latest release + bugfixes).
85 HEAD-- What Is Installed;;
87 Currently, NoBug installs the following:
89   * A single nobug.h headerfile. Include this in your code.
90   * Static libraries. Statically link these to your application:
91     - `libnobug.a` for singlethreaded programs.
92     - `libnobugmt.a` for multithreaded programs.
93   * Dynamic Libraries. Dynamically link these to your application:
94     - `libnobug.so` for singlethreaded programs.
95     - `libnobugmt.so` for multithreaded programs.
96     - associated libtool descriptors (`libnobug*.la`)
97   * Pkgconfig control files:
98     - `nobug.pc` for singlethreaded programs.
99     - `nobugmt.pc` for multithreaded programs.
100   * The `nobug_rbdump` utility to inspect NoBug ringbuffers.
103 PARA Generating This Documentation;;
105  $ make nobug_manual.txt
106  $ ascidoc -a toc nobug_manual.txt