-
Notifications
You must be signed in to change notification settings - Fork 36
/
COMPILING.txt
93 lines (57 loc) · 2.4 KB
/
COMPILING.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Get the code
============
If you have not yet downloaded the source code, you can do so with
an anonymous CVS checkout:
cvs -z3 -d:pserver:[email protected]:/cvsroot/tsunami-udp co -P tsunami-udp
Later you can use the usual
cvs update
command to get and merge updates from the CVS into your local copy
of the code.
Compiling
=========
If you want to build Tsunami for a big endian i.e. non-Intel platform,
first edit ./common/Makefile.am and see instructions there.
For compiling tsunami, simply use:
$ make
From the configure output errors find all those missing packages that you
had never even heard of and install them, then try a ./configure again.
If there are ./configure complaints about Makefile.in or similar, try:
$ ./recompile.sh
That should build the entire tsunami, including everything in
the subdirectories (in /server, /client, etc).
An optional
$ sudo make install
will install the tsunami binaries onto the system.
The binaries that will be installed are:
App Name From
Tsunami server tsunamid ./server/tsunamid
Tsunami client tsunami ./client/tsunami
Realtime server rttsunamid ./rtserver/rttsunamid
Realtime client rttsunami ./rtclient/rttsunami
The binaries will be placed into /usr/local/bin or similar.
Contents of individual subdirectories can be recompiled with
for example
$ cd client
$ make clean
$ make
(Note that you first have to compile the entire
source tree via './configure' and 'make'. Only after that you
can recompile individual subdirectories without problems)
Special compile settings
========================
For real-time server:
./rtserver/io.c
//#define MODE_34TH
uncomment to enable 3/4th rate transmission,
discards upper 4 channels (2 BBCs)
For normal client:
./client/protocol.c
#define RETX_REQBLOCK_SORTING
define to use linear sorting of blocks in the retransmit
request, fast, discards duplicates, may improve disk I/O
since more contiguous access on server side
For compiling on Solaris:
$ ./configure CC=gcc CPPFLAGS=-Du_int64_t=uint64_t -Du_int32_t=uint32_t \
-Du_int16_t=uint16_t -Du_int8_t=uint8_t LIBS=-lsocket -lnsl -lrt
If gcc is not avaliable one needs to remove the -Wall from EXTRA_FLAGS
otherwise it fails.