BUG: race condition when starting threads accessing resources
[nobug.git] / doc / buildinstall.txt
blob2268c2db3e29c85d2ff3d7011b09b63bd3a0abd4
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 no 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.
27 HEAD== Release Tarballs;;
29 Releases are available on:
30   http://www.pipapo.org/nobug-releases/
32 Gpg signed tarballs are being used for distribution. The first step involves
33 checking the signature:
35  $ gpg nobug-VERSION.tar.gz.gpg
37 This will produce a nobug-VERSION.tar.gz and report if the signature could be
38 validated.
40 Since they are built with gnu autotools, the usual build and install procedure
41 will work:
43  $ tar xzvf nobug-VERSION.tar.gz
44  $ cd nobug-VERSION
45  $ mkdir -p build
46  $ cd build
47  $ ../configure
48  $ make
49  $ make check           # optional, run the testsuite
50  $ make install         # depending on distribution and setup, do this as root
53 HEAD== Development Version via git;;
54 You can obtain a development version by using git.  The git repository can be
55 cloned via:
56 `git://git.pipapo.org/nobug` or mirrored at repo.or.cz
57 `git://repo.or.cz/nobug.git`.
59 Clone the git repository by:
61  $ git clone git://git.pipapo.org/nobug
63 After cloning the repository, then bootstrap the autotools:
65  $ cd nobug
66  $ autoreconf -i                # creates the configure file
68 Then the usual `cd build && ../configure && make && make install` (as above) will work.
69 Careful users may run `make check` to run a testsuite before installing.
72 HEAD++ Keeping Git Up To Date;;
74 To update to any new revision, just enter the nobug dir and
76  $ git pull
78 After that you can build as above (cd build && ../configure && make && make install).
79 This default pull will update from the 'master' branch which is meant to be an on-going
80 stable version (latest release + bugfixes).
82 HEAD-- What Is Installed;;
84 Currently, NoBug installs the following:
86   * A single nobug.h headerfile. Include this in your code.
87   * Static libraries. Statically link these to your application:
88     - `libnobug.a` for singlethreaded programs.
89     - `libnobugmt.a` for multithreaded programs.
90   * Dynamic Libraries. Dynamically link these to your application:
91     - `libnobug.so` for singlethreaded programs.
92     - `libnobugmt.so` for multithreaded programs.
93     - associated libtool descriptors (`libnobug*.la`)
94   * Pkgconfig control files:
95     - `nobug.pc` for singlethreaded programs.
96     - `nobugmt.pc` for multithreaded programs.
97   * The `nobug_rbdump` utility to inspect NoBug ringbuffers.
100 PARA Generating This Documentation;;
102  $ make nobug_manual.txt
103  $ ascidoc -a toc nobug_manual.txt