simple doc fixes (PARA's without ;;)
[nobug.git] / doc / buildinstall.txt
blob28205ddeeef3e646b3e1ee08529a788b1bd16ebd
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. 
12 If you encounter such a problem, contact the NoBug author to implement
13 a workaround.
16 [grid="all"]
17 `---------------`---------------`---------------`--------------------------
18 Platform        Compiler        State           Notes
19 ---------------------------------------------------------------------------
20 Linux x86_64    gcc 4.3.2       supported       Reference Platform
21 Linux x86       gcc             supported
22 MacOS X         gcc             works           Valgrind problems
23 OpenSolaris     gcc             mostly          Builds, but target check fails
24 FreeBSD                         planned
25 ---------------------------------------------------------------------------
27 NoBug has no mandatory dependencies on other software and libraries,
28 some things such as valgrind support are optional and should be automatially
29 detected during the build, i.e., when ./configure is called.
32 HEAD== Release Tarballs;;
34 Releases are available on:
35   http://www.pipapo.org/nobug-releases/
37 Gpg signed tarballs are being used for distribution. The first step involves
38 checking the signature:
40  $ gpg nobug-VERSION.tar.gz.gpg
42 This will produce a nobug-VERSION.tar.gz and report if the signature could be
43 validated.
45 Since they are built with gnu autotools, the usual build and install procedure
46 will work:
48  $ tar xzvf nobug-VERSION.tar.gz
49  $ cd nobug-VERSION
50  $ mkdir -p build
51  $ cd build
52  $ ../configure
53  $ make
54  $ make check           # optional, run the testsuite
55  $ make install         # depending on distribution and setup, do this as root
58 HEAD== Development Version via git;;
59 You can obtain a development version by using git.  The git repository can be
60 cloned via:
61 `git://git.pipapo.org/nobug` or mirrored at repo.or.cz
62 `git://repo.or.cz/nobug.git`.
64 Clone the git repository by:
66  $ git clone git://git.pipapo.org/nobug
68 After cloning the repository, then bootstrap the autotools:
70  $ cd nobug
71  $ autoreconf -i                # creates the configure file
73 Then the usual `cd build && ../configure && make && make install` (as above) will work.
74 Careful users may run `make check` to run a testsuite before installing.
77 HEAD++ Keeping Git Up To Date;;
79 To update to any new revision, just enter the nobug dir and
81  $ git pull
83 After that you can build as above (cd build && ../configure && make && make install).
84 This default pull will update from the 'master' branch which is meant to be an on-going
85 stable version (latest release + bugfixes).
87 HEAD-- What Is Installed;;
89 Currently, NoBug installs the following:
91   * A single nobug.h headerfile. Include this in your code.
92   * Static libraries. Statically link these to your application:
93     - `libnobug.a` for singlethreaded programs.
94     - `libnobugmt.a` for multithreaded programs.
95   * Dynamic Libraries. Dynamically link these to your application:
96     - `libnobug.so` for singlethreaded programs.
97     - `libnobugmt.so` for multithreaded programs.
98     - associated libtool descriptors (`libnobug*.la`)
99   * Pkgconfig control files:
100     - `nobug.pc` for singlethreaded programs.
101     - `nobugmt.pc` for multithreaded programs.
102   * The `nobug_rbdump` utility to inspect NoBug ringbuffers.
105 PARA Generating This Documentation;;
107  $ make nobug_manual.txt
108  $ ascidoc -a toc nobug_manual.txt